Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/i3c/master.c dev_nack_retry_count_store() -> i3c_bus_maintenance_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->lock.dep_map->name 0-255
PARAM_VALUE 0 bus->lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 bus->lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 bus->lock.first_waiter->type 0-1
PARAM_VALUE 0 bus->lock.osq.tail.counter 0-s32max
BUF_SIZE 0 bus (-1),296
BUF_SIZE 0 bus (-1),296
DATA_SOURCE 0 bus r dev_to_i3cbus
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 0 &bus->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct i3c_bus)->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/i3c/master.c i3c_i2c_notifier_call() -> i3c_bus_maintenance_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->lock.osq.tail.counter 0-s32max
NOCHECK_CALL
LOCK2 &master->bus.lock
TYPE_LOCK (struct i3c_bus)->lock

drivers/i3c/master.c i3c_master_do_daa_ext() -> i3c_bus_maintenance_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->devs.i3c.prev 4096-ptr_max
PARAM_VALUE 0 bus->lock.osq.tail.counter 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 bus->id s32min-s32max
HOST_DATA 0 bus->lock.count.counter s64min-s64max
HOST_DATA 0 bus->lock.osq.tail.counter 0-s32max
HOST_DATA 0 bus->lock.owner.counter s64min-s64max
HOST_DATA 0 bus->mode 0-u32max
HOST_DATA 0 bus->scl_rate.i2c 0-u64max
HOST_DATA 0 bus->scl_rate.i3c 0-u64max
LOCK2 &master->bus.lock
TYPE_LOCK (struct i3c_bus)->lock

drivers/i3c/master.c i3c_master_register_new_i3c_devs() -> i3c_bus_maintenance_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->lock.osq.tail.counter 0-s32max
NOCHECK_CALL
LOCK2 &master->bus.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct i3c_bus)->lock

drivers/i3c/master.c i3c_master_register_new_i3c_devs() -> i3c_bus_maintenance_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->lock.osq.tail.counter 0-s32max
NOCHECK_CALL
LOCK2 &master->bus.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct i3c_bus)->lock

drivers/i3c/master.c i3c_master_register_new_i3c_devs() -> i3c_bus_maintenance_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->lock.osq.tail.counter 0-s32max
NOCHECK_CALL
LOCK2 &master->bus.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct i3c_bus)->lock

drivers/i3c/master.c i3c_master_shutdown() -> i3c_bus_maintenance_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->lock.osq.tail.counter 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &master->bus.lock
HALF_LOCKED2 &dev->mutex
TYPE_LOCK (struct i3c_bus)->lock

drivers/i3c/master.c i3c_set_hotjoin() -> i3c_bus_maintenance_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->lock.osq.tail.counter 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &master->bus.lock
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct i3c_bus)->lock