Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/comedi/drivers.c _comedi_nscans_left() -> _comedi_buf_read_n_available()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
DATA_SOURCE 0 s $0
RX_PATH
TASK_NOT_RUNNING

drivers/comedi/comedi_buf.c _comedi_buf_read_samples() -> _comedi_buf_read_n_available()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
DATA_SOURCE 0 s $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

drivers/comedi/comedi_buf.c comedi_buf_read_n_available() -> _comedi_buf_read_n_available()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
DATA_SOURCE 0 s $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &dev->spinlock

drivers/comedi/comedi_fops.c comedi_poll() -> _comedi_buf_read_n_available()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->async 4096-ptr_max
CAPPED_DATA 0 s->busy 1
DATA_SOURCE 0 s r comedi_file_read_subdevice
BIT_INFO 0 s->async->cmd.flags 0x0,0xffffffbf
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->attach_lock
HALF_LOCKED2 &kvm->irq_srcu
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vm->irqfds_lock
HALF_LOCKED2 global &irqfds_srcu
TYPE_LOCK (struct comedi_device)->attach_lock

drivers/comedi/comedi_fops.c comedi_read() -> _comedi_buf_read_n_available()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->async 4096-ptr_max
CAPPED_DATA 0 s->busy 1
DATA_SOURCE 0 s r comedi_file_read_subdevice
LOCK2 &dev->attach_lock
TYPE_LOCK (struct comedi_device)->attach_lock

drivers/comedi/comedi_fops.c comedi_read() -> _comedi_buf_read_n_available()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->async 4096-ptr_max
CAPPED_DATA 0 s 1
CAPPED_DATA 0 s->busy 1
DATA_SOURCE 0 s r comedi_file_read_subdevice
LOCK2 &dev->mutex
TYPE_LOCK (struct comedi_device)->mutex

drivers/comedi/comedi_fops.c do_bufinfo_ioctl() -> _comedi_buf_read_n_available()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->async 4096-ptr_max
CAPPED_DATA 0 s->busy 1
LOCK2 &dev->attach_lock
TYPE_LOCK (struct comedi_device)->attach_lock

drivers/comedi/comedi_fops.c do_bufinfo_ioctl() -> _comedi_buf_read_n_available()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->async 4096-ptr_max
CAPPED_DATA 0 s 1
CAPPED_DATA 0 s->busy 1
LOCK2 &dev->mutex
TYPE_LOCK (struct comedi_device)->mutex