Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/firmware/arm_scmi/notify.c __scmi_event_handler_get_ops() -> scmi_put_handler_unlocked()

Type Parameter Key Value
PARAM_VALUE 0 ni 4096-ptr_max
PARAM_VALUE 0 ni->pending_events_handlers 4096-ptr_max
PARAM_VALUE 0 ni->pending_mtx.dep_map->name 0-255
PARAM_VALUE 0 ni->pending_mtx.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ni->pending_mtx.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ni->pending_mtx.osq.tail.counter 0-s32max
PARAM_VALUE 0 ni->pending_mtx.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ni->pending_mtx.wait_lock.owner (-1)
PARAM_VALUE 0 ni->pending_mtx.wait_lock.owner_cpu u32max
PARAM_VALUE 1 hndl 4096-ptr_max
PARAM_VALUE 1 hndl->hash->next->pprev 1-u64max
PARAM_VALUE 1 hndl->hash.next->pprev 1-u64max
PARAM_VALUE 1 hndl->hash.pprev 0,4096-ptr_max
PARAM_VALUE 1 hndl->r_evt->evt 0,4096-u64max
PARAM_VALUE 1 hndl->r_evt->num_sources 0-s32max
PARAM_VALUE 1 hndl->users.refs.counter 1
BUF_SIZE 0 ni 2432
BUF_SIZE 1 hndl 208
CAPPED_DATA 0 &ni->pending_mtx 1
DATA_SOURCE 0 ni $0
DATA_SOURCE 1 hndl r scmi_allocate_event_handler
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &ni->pending_mtx
HALF_LOCKED2 &policy->rwsem
TYPE_LOCK (struct scmi_notify_instance)->pending_mtx

drivers/firmware/arm_scmi/notify.c scmi_protocols_late_init() -> scmi_put_handler_unlocked()

Type Parameter Key Value
PARAM_VALUE 0 ni 4096-ptr_max
PARAM_VALUE 0 ni->pending_events_handlers 4096-ptr_max
PARAM_VALUE 0 ni->pending_mtx.dep_map->name 0-255
PARAM_VALUE 0 ni->pending_mtx.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ni->pending_mtx.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ni->pending_mtx.osq.tail.counter 0-s32max
PARAM_VALUE 0 ni->pending_mtx.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ni->pending_mtx.wait_lock.owner (-1)
PARAM_VALUE 0 ni->pending_mtx.wait_lock.owner_cpu u32max
PARAM_VALUE 1 hndl 4096-ptr_max
PARAM_VALUE 1 hndl->r_evt->evt 0,4096-u64max
PARAM_VALUE 1 hndl->r_evt->num_sources 0-s32max
CAPPED_DATA 0 &ni->pending_mtx 1
NOCHECK_CALL
LOCK2 0 &ni->pending_mtx
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct scmi_notify_instance)->pending_mtx

drivers/firmware/arm_scmi/notify.c scmi_put_active_handler() -> scmi_put_handler_unlocked()

Type Parameter Key Value
PARAM_VALUE 0 ni 4096-ptr_max
PARAM_VALUE 1 hndl 4096-ptr_max
PARAM_VALUE 1 hndl->r_evt 4096-ptr_max
PARAM_VALUE 1 hndl->r_evt->evt 0,4096-u64max
PARAM_VALUE 1 hndl->r_evt->num_sources 0-s32max
PARAM_VALUE 1 hndl->r_evt->proto 4096-ptr_max
PARAM_VALUE 1 hndl->r_evt->proto->registered_mtx.dep_map->name 0-255
PARAM_VALUE 1 hndl->r_evt->proto->registered_mtx.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 hndl->r_evt->proto->registered_mtx.osq.tail.counter 0-s32max
PARAM_VALUE 1 hndl->r_evt->proto->registered_mtx.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 hndl->r_evt->proto->registered_mtx.wait_lock.owner (-1)
PARAM_VALUE 1 hndl->r_evt->proto->registered_mtx.wait_lock.owner_cpu u32max
DATA_SOURCE 0 ni $0
DATA_SOURCE 1 hndl $1
LOCK2 &r_evt->proto->registered_mtx
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &ni->pending_mtx
TYPE_LOCK (struct scmi_registered_events_desc)->registered_mtx

drivers/firmware/arm_scmi/notify.c scmi_put_handler() -> scmi_put_handler_unlocked()

Type Parameter Key Value
PARAM_VALUE 0 ni 4096-ptr_max
PARAM_VALUE 0 ni->pending_mtx.dep_map->name 0-255
PARAM_VALUE 0 ni->pending_mtx.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ni->pending_mtx.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ni->pending_mtx.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ni->pending_mtx.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ni->pending_mtx.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ni->pending_mtx.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ni->pending_mtx.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 ni->pending_mtx.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 ni->pending_mtx.osq.tail.counter 0-s32max
PARAM_VALUE 0 ni->pending_mtx.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ni->pending_mtx.wait_lock.owner (-1)
PARAM_VALUE 0 ni->pending_mtx.wait_lock.owner_cpu u32max
PARAM_VALUE 1 hndl 4096-ptr_max
PARAM_VALUE 1 hndl->r_evt 0,4096-ptr_max
PARAM_VALUE 1 hndl->r_evt->proto 4096-ptr_max
PARAM_VALUE 1 hndl->r_evt->proto->registered_mtx.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 hndl->r_evt->proto->registered_mtx.wait_lock.owner (-1)
PARAM_VALUE 1 hndl->r_evt->proto->registered_mtx.wait_lock.owner_cpu u32max
BUF_SIZE 0 ni 2432
BUF_SIZE 1 hndl (-1),208
BUF_SIZE 1 hndl (-1),208
CAPPED_DATA 0 &ni->pending_mtx 1
CAPPED_DATA 1 hndl 1
DATA_SOURCE 0 ni $0
DATA_SOURCE 1 hndl $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &ni->pending_mtx
HALF_LOCKED2 &policy->rwsem
HALF_LOCKED2 &r_evt->proto->registered_mtx
TYPE_LOCK (struct scmi_notify_instance)->pending_mtx