Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/platform/surface/aggregator/core.c ssam_serial_hub_probe() -> ssam_controller_lock()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->caps.d3_closes_handle 1
PARAM_VALUE 0 c->caps.screen_off_sleep_idle_timeout 30
PARAM_VALUE 0 c->caps.screen_on_sleep_idle_timeout 5000
PARAM_VALUE 0 c->caps.ssh_buffer_size 48
PARAM_VALUE 0 c->caps.ssh_power_profile u32max
PARAM_VALUE 0 c->counter.rqid.value 0
PARAM_VALUE 0 c->counter.seq.value 0
PARAM_VALUE 0 c->cplt.dev 4096-ptr_max
PARAM_VALUE 0 c->cplt.event.notif.lock.dep_map->name 0-255
PARAM_VALUE 0 c->cplt.event.notif.lock.magic 4096-ptr_max
PARAM_VALUE 0 c->cplt.wq 4096-ptr_max
PARAM_VALUE 0 c->kref.refcount.refs.counter 1
PARAM_VALUE 0 c->lock.count.counter 0
PARAM_VALUE 0 c->lock.dep_map->name 0-255
PARAM_VALUE 0 c->lock.first_waiter 0
PARAM_VALUE 0 c->lock.magic 4096-ptr_max
PARAM_VALUE 0 c->lock.osq.tail.counter 0
PARAM_VALUE 0 c->lock.owner.counter 0
PARAM_VALUE 0 c->rtl.ops.handle_event 5083417697945747456
PARAM_VALUE 0 c->rtl.pending.count.counter 0
PARAM_VALUE 0 c->rtl.pending.head.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.pending.head.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.pending.head.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.pending.head.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.pending.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl->rx.blocked.seqs u16max
PARAM_VALUE 0 c->rtl.ptl.ops.data_received 8558675464263774208
PARAM_VALUE 0 c->rtl.ptl.pending.count.counter 0
PARAM_VALUE 0 c->rtl.ptl.pending.head.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.pending.head.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.pending.head.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.pending.head.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.pending.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.queue.head.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.queue.head.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.queue.head.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.queue.head.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.queue.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rtx_timeout.expires s64max
PARAM_VALUE 0 c->rtl.ptl.rtx_timeout.timeout 1000000000
PARAM_VALUE 0 c->rtl.ptl.rx.blocked.offset 0
PARAM_VALUE 0 c->rtl.ptl.rx.buf.cap 4096
PARAM_VALUE 0 c->rtl.ptl.rx.buf.len 0
PARAM_VALUE 0 c->rtl.ptl.rx.buf.ptr 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rx.fifo.kfifo.data 0
PARAM_VALUE 0 c->rtl.ptl.rx.fifo.kfifo.in 0
PARAM_VALUE 0 c->rtl.ptl.rx.fifo.kfifo.mask 0
PARAM_VALUE 0 c->rtl.ptl.rx.fifo.kfifo.out 0
PARAM_VALUE 0 c->rtl.ptl.rx.thread 0
PARAM_VALUE 0 c->rtl.ptl.rx.wq.head.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rx.wq.head.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rx.wq.head.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rx.wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rx.wq.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.serdev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.state 0
PARAM_VALUE 0 c->rtl.ptl.tx.packet_wq.head.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.packet_wq.head.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.packet_wq.head.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.packet_wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.packet_wq.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.running.counter 0
PARAM_VALUE 0 c->rtl.ptl.tx.thread 0
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.done 0
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.lock.magic 3735899821
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.lock.owner (-1)
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.lock.owner_cpu u32max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.task_list.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.task_list.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.task_list.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.task_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.done 0
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.lock.magic 3735899821
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.lock.owner (-1)
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.lock.owner_cpu u32max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.task_list.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.task_list.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.task_list.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.task_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.queue.head.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.queue.head.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.queue.head.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.queue.head.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.queue.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.rtx_timeout.expires s64max
PARAM_VALUE 0 c->rtl.rtx_timeout.timeout 3000000000
PARAM_VALUE 0 c->state 1
BUF_SIZE 0 c 18904
DATA_SOURCE 0 c r _kzalloc_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/platform/surface/aggregator/core.c ssam_serial_hub_probe() -> ssam_controller_lock()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->caps.d3_closes_handle 1
PARAM_VALUE 0 c->caps.screen_off_sleep_idle_timeout 30
PARAM_VALUE 0 c->caps.screen_on_sleep_idle_timeout 5000
PARAM_VALUE 0 c->caps.ssh_buffer_size 48
PARAM_VALUE 0 c->caps.ssh_power_profile u32max
PARAM_VALUE 0 c->cplt.dev 4096-ptr_max
PARAM_VALUE 0 c->cplt.event.notif.lock.dep_map->name 0-255
PARAM_VALUE 0 c->cplt.event.notif.lock.magic 4096-ptr_max
PARAM_VALUE 0 c->cplt.wq 4096-ptr_max
PARAM_VALUE 0 c->irq.num (-1)
PARAM_VALUE 0 c->kref.refcount.refs.counter 1
PARAM_VALUE 0 c->lock.dep_map->name 0-255
PARAM_VALUE 0 c->lock.first_waiter->handoff_set 1
PARAM_VALUE 0 c->lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 c->lock.first_waiter->type 0-1
PARAM_VALUE 0 c->rtl.ops.handle_event 5083417697945747456
PARAM_VALUE 0 c->rtl.pending.count.counter 0
PARAM_VALUE 0 c->rtl.pending.head.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.pending.head.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.pending.head.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.pending.head.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.pending.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl->rx.blocked.seqs u16max
PARAM_VALUE 0 c->rtl.ptl.ops.data_received 8558675464263774208
PARAM_VALUE 0 c->rtl.ptl.pending.count.counter 0
PARAM_VALUE 0 c->rtl.ptl.pending.head.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.pending.head.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.pending.head.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.pending.head.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.pending.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.queue.head.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.queue.head.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.queue.head.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.queue.head.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.queue.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rtx_timeout.expires s64max
PARAM_VALUE 0 c->rtl.ptl.rtx_timeout.timeout 1000000000
PARAM_VALUE 0 c->rtl.ptl.rx.blocked.offset 0
PARAM_VALUE 0 c->rtl.ptl.rx.buf.cap 4096
PARAM_VALUE 0 c->rtl.ptl.rx.buf.len 0
PARAM_VALUE 0 c->rtl.ptl.rx.buf.ptr 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rx.fifo.kfifo.data 0
PARAM_VALUE 0 c->rtl.ptl.rx.fifo.kfifo.in 0
PARAM_VALUE 0 c->rtl.ptl.rx.fifo.kfifo.mask 0
PARAM_VALUE 0 c->rtl.ptl.rx.fifo.kfifo.out 0
PARAM_VALUE 0 c->rtl.ptl.rx.thread 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rx.thread->blocked_on 0
PARAM_VALUE 0 c->rtl.ptl.rx.thread->cpus_ptr 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rx.thread->migration_disabled 0-1
PARAM_VALUE 0 c->rtl.ptl.rx.thread->on_rq 0-1,3-255
PARAM_VALUE 0 c->rtl.ptl.rx.thread->saved_state 0
PARAM_VALUE 0 c->rtl.ptl.rx.thread->wake_cpu 0-s32max
PARAM_VALUE 0 c->rtl.ptl.rx.wq.head.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rx.wq.head.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rx.wq.head.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rx.wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.rx.wq.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.serdev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.state 0
PARAM_VALUE 0 c->rtl.ptl.tx.packet_wq.head.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.packet_wq.head.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.packet_wq.head.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.packet_wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.packet_wq.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.running.counter 1
PARAM_VALUE 0 c->rtl.ptl.tx.thread 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread->blocked_on 0
PARAM_VALUE 0 c->rtl.ptl.tx.thread->cpus_ptr 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread->migration_disabled 0-1
PARAM_VALUE 0 c->rtl.ptl.tx.thread->on_rq 0-1,3-255
PARAM_VALUE 0 c->rtl.ptl.tx.thread->saved_state 0
PARAM_VALUE 0 c->rtl.ptl.tx.thread->wake_cpu 0-s32max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.done 0
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.task_list.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.task_list.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.task_list.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_pkt.wait.task_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.done 0
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.task_list.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.task_list.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.task_list.prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.ptl.tx.thread_cplt_tx.wait.task_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.queue.head.next 4096-ptr_max
PARAM_VALUE 0 c->rtl.queue.head.next->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.queue.head.prev->next 4096-ptr_max
PARAM_VALUE 0 c->rtl.queue.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 c->rtl.rtx_timeout.expires s64max
PARAM_VALUE 0 c->rtl.rtx_timeout.timeout 3000000000
PARAM_VALUE 0 c->state 2
BUF_SIZE 0 c 18904
CAPPED_DATA 0 c 1
DATA_SOURCE 0 c r _kzalloc_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/platform/surface/aggregator/core.c ssam_serial_hub_remove() -> ssam_controller_lock()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->irq.num (-1)
BUF_SIZE 0 c s32min-(-2),1-s32max
BUF_SIZE 0 c s32min-(-2),1-s32max
CAPPED_DATA 0 c 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
HALF_LOCKED2 &dev->mutex

drivers/platform/surface/aggregator/controller.c __ssam_controller_release() -> ssam_controller_lock()

Type Parameter Key Value
PARAM_VALUE 0 c 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/platform/surface/aggregator/controller.c ssam_controller_resume() -> ssam_controller_lock()

Type Parameter Key Value
BUF_SIZE 0 c s32min-(-2),1-s32max
BUF_SIZE 0 c s32min-(-2),1-s32max
DATA_SOURCE 0 c $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte

drivers/platform/surface/aggregator/controller.c ssam_controller_suspend() -> ssam_controller_lock()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->caps.d3_closes_handle 0
BUF_SIZE 0 c s32min-(-2),1-s32max
BUF_SIZE 0 c s32min-(-2),1-s32max
DATA_SOURCE 0 c $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte