Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/fsi/fsi-core.c cfam_read() -> fsi_slave_read()

Type Parameter Key Value
PARAM_VALUE 2 val 5961646706483163136
PARAM_VALUE 3 size 0-4,18446744073709551614-u64max
BUF_SIZE 0 slave s32min-(-2),1-s32max
BUF_SIZE 0 slave s32min-(-2),1-s32max
BUF_SIZE 2 val 4
USER_DATA 1 addr 0-1000000002[c]
USER_DATA 3 size 0-3,u64max

drivers/fsi/fsi-core.c fsi_device_peek() -> fsi_slave_read()

Type Parameter Key Value
PARAM_VALUE 3 size 4
DATA_SOURCE 2 val $1
UNITS 3 size unit_byte

drivers/fsi/fsi-core.c fsi_device_read() -> fsi_slave_read()

Type Parameter Key Value
PARAM_VALUE 2 val 4096-ptr_max
PARAM_VALUE 3 size 1-2,4
BUF_SIZE 2 val (-1),4
BUF_SIZE 2 val (-1),4
CAPPED_DATA 3 size 1
CAPPED_DATA 3 size 1
DATA_SOURCE 2 val $2
DATA_SOURCE 3 size $3
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 3 size 1-2,4[c]
UNITS 1 addr unit_byte
UNITS 3 size unit_byte
HALF_LOCKED2 &bridge->lock
HALF_LOCKED2 &ctlr->io_mutex
HALF_LOCKED2 &ctrl->lock
HALF_LOCKED2 &sbefifo->lock
HALF_LOCKED2 &scom_dev->lock

drivers/fsi/fsi-core.c fsi_slave_scan() -> fsi_slave_read()

Type Parameter Key Value
PARAM_VALUE 0 slave 4096-ptr_max
PARAM_VALUE 0 slave->cdev.count 0-1
PARAM_VALUE 0 slave->cdev.kobj.kref.refcount.refs.counter 1
PARAM_VALUE 0 slave->cdev.kobj.kset 0
PARAM_VALUE 0 slave->cdev.kobj.ktype 1499647686170447872
PARAM_VALUE 0 slave->cdev.kobj.name 0
PARAM_VALUE 0 slave->cdev.kobj.parent 0,4096-ptr_max
PARAM_VALUE 0 slave->cdev.kobj.release.cpu 0
PARAM_VALUE 0 slave->cdev.kobj.release.timer.expires 0
PARAM_VALUE 0 slave->cdev.kobj.release.timer.flags 0
PARAM_VALUE 0 slave->cdev.kobj.release.timer.function 0
PARAM_VALUE 0 slave->cdev.kobj.release.work.func 0
PARAM_VALUE 0 slave->cdev.kobj.release.wq 0
PARAM_VALUE 0 slave->cdev.kobj.sd 0
PARAM_VALUE 0 slave->cdev.kobj.state_add_uevent_sent 0
PARAM_VALUE 0 slave->cdev.kobj.state_in_sysfs 0
PARAM_VALUE 0 slave->cdev.kobj.uevent_suppress 0
PARAM_VALUE 0 slave->cdev.list.next 4096-ptr_max
PARAM_VALUE 0 slave->cdev.list.next->next 4096-ptr_max
PARAM_VALUE 0 slave->cdev.list.prev 4096-ptr_max
PARAM_VALUE 0 slave->cdev.list.prev->next 4096-ptr_max
PARAM_VALUE 0 slave->cdev.list.prev->prev 4096-ptr_max
PARAM_VALUE 0 slave->cdev.ops 3600632418255433728
PARAM_VALUE 0 slave->cdev.owner 0
PARAM_VALUE 0 slave->cdev_idx 0-s32max
PARAM_VALUE 0 slave->dev.devres_head.next->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.devres_head.prev->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.devres_head.prev->prev 4096-ptr_max
PARAM_VALUE 0 slave->dev.dma_io_tlb_mem->dyn_alloc.data.counter 9007199250546704
PARAM_VALUE 0 slave->dev.dma_io_tlb_mem->dyn_alloc.entry.prev 1473117533515866344
PARAM_VALUE 0 slave->dev.dma_io_tlb_mem->dyn_alloc.func 1583282886040592384
PARAM_VALUE 0 slave->dev.dma_io_tlb_mem->pools.prev 1473117533515866320
PARAM_VALUE 0 slave->dev.dma_io_tlb_pools.next->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.dma_io_tlb_pools.prev->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.dma_io_tlb_pools.prev->prev 4096-ptr_max
PARAM_VALUE 0 slave->dev.dma_pools.next->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.dma_pools.prev->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.dma_pools.prev->prev 4096-ptr_max
PARAM_VALUE 0 slave->dev.flags 4096-ptr_max
PARAM_VALUE 0 slave->dev.fwnode->dev->power.set_latency_tolerance 5740181548905971712
PARAM_VALUE 0 slave->dev.kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 slave->dev.kobj.release.timer.is_hard 0-1
PARAM_VALUE 0 slave->dev.kobj.release.timer.is_lazy 0-1
PARAM_VALUE 0 slave->dev.kobj.release.timer.is_queued 0-1
PARAM_VALUE 0 slave->dev.kobj.release.timer.is_soft 0-1
PARAM_VALUE 0 slave->dev.kobj.release.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 slave->dev.links.consumers.next->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.links.consumers.prev->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.links.consumers.prev->prev 4096-ptr_max
PARAM_VALUE 0 slave->dev.links.defer_sync.next->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.links.defer_sync.prev->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.links.defer_sync.prev->prev 4096-ptr_max
PARAM_VALUE 0 slave->dev.links.suppliers.next->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.links.suppliers.prev->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.links.suppliers.prev->prev 4096-ptr_max
PARAM_VALUE 0 slave->dev.of_node->properties 0,4096-ptr_max
PARAM_VALUE 0 slave->dev.p->klist_children.get 2213798222526185472
PARAM_VALUE 0 slave->dev.p->klist_children.put 3126867300421632000
PARAM_VALUE 0 slave->dev.p->knode_bus.n_ref.refcount.refs.counter 1
PARAM_VALUE 0 slave->dev.p->knode_class.n_ref.refcount.refs.counter 1
PARAM_VALUE 0 slave->dev.p->knode_parent.n_ref.refcount.refs.counter 1
PARAM_VALUE 0 slave->dev.physical_location->dock 0
PARAM_VALUE 0 slave->dev.physical_location->lid 0
PARAM_VALUE 0 slave->dev.physical_location->panel 0
PARAM_VALUE 0 slave->dev.power.entry.next->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.power.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.power.entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 slave->dev.power.wait_queue.head.next->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.power.wait_queue.head.prev->next 4096-ptr_max
PARAM_VALUE 0 slave->dev.power.wait_queue.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 slave->id 0
PARAM_VALUE 0 slave->link 0-s32max
PARAM_VALUE 0 slave->master 4096-ptr_max
PARAM_VALUE 0 slave->master->n_links 1-s32max
PARAM_VALUE 0 slave->master->scan_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 slave->master->scan_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 slave->master->scan_lock.wait_lock.owner (-1)
PARAM_VALUE 0 slave->master->scan_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 slave->master->scan_lock.wait_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 slave->size 8388608
PARAM_VALUE 0 slave->t_echo_delay 16
PARAM_VALUE 0 slave->t_send_delay 16
PARAM_VALUE 1 addr 12-1024
PARAM_VALUE 2 val 2870917317629722624
PARAM_VALUE 3 size 4
BUF_SIZE 0 slave 1944
BUF_SIZE 2 val 4
CAPPED_DATA 0 slave->link 1
DATA_SOURCE 0 slave $0
MEM_ZERO 0 &slave->cdev
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 slave->cdev.kobj.parent->kref.refcount.refs.counter s32min-s32max
HOST_DATA 0 slave->cfam_id 0-u32max
HOST_DATA 0 slave->master->n_links 1-255
NO_OVERFLOW_SIMPLE 0 slave->cdev.count
UNITS 3 size unit_byte
LOCK2 &master->scan_lock
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct fsi_master)->scan_lock

drivers/fsi/fsi-core.c fsi_slave_sysfs_raw_read() -> fsi_slave_read()

Type Parameter Key Value
PARAM_VALUE 2 val 4096-ptr_max
PARAM_VALUE 2 *val 0-255
DATA_SOURCE 1 addr $4 [m]
DATA_SOURCE 3 size r aligned_access_size
NOSPEC 1 addr
NOSPEC 1 addr
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 addr 0-4099[c]
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/fsi/fsi-sbefifo.c sbefifo_check_sbe_state() -> fsi_slave_read()

Type Parameter Key Value
PARAM_VALUE 1 addr 10276
PARAM_VALUE 2 val 257458405166424064
PARAM_VALUE 3 size 4
BUF_SIZE 2 val 4
TASK_NOT_RUNNING
UNITS 3 size unit_byte
LOCK2 &sbefifo->lock
HALF_LOCKED2 &occ->occ_lock
HALF_LOCKED2 &user->file_lock
TYPE_LOCK (struct sbefifo)->lock

drivers/fsi/fsi-master-hub.c hub_master_read() -> fsi_slave_read()

Type Parameter Key Value
PARAM_VALUE 3 size 1-2,4
BUF_SIZE 2 val (-1),4
BUF_SIZE 2 val (-1),4
DATA_SOURCE 1 addr $3
DATA_SOURCE 2 val $4
DATA_SOURCE 3 size $5
NOSPEC 1 addr
NOSPEC 1 addr
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 *val s64min-s64max
HOST_DATA 3 size 1-2,4[c]
USER_DATA 1 addr 0-2097151[c]
USER_DATA 3 size 1-2[c]
HALF_LOCKED2 &master->scan_lock
HALF_LOCKED2 &of->mutex

drivers/spi/spi-fsi.c fsi_spi_check_mux() -> fsi_slave_read()

Type Parameter Key Value
PARAM_VALUE 1 addr 10336
PARAM_VALUE 2 val 2107883550271324160
PARAM_VALUE 3 size 4
BUF_SIZE 2 val 4
RX_PATH
TASK_NOT_RUNNING
UNITS 3 size unit_byte
HALF_LOCKED2 &ctlr->io_mutex