Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/regulator/core.c regulator_lock() -> regulator_lock_nested()

Type Parameter Key Value
PARAM_VALUE 0 rdev->supply->debugfs->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 rdev->supply->debugfs->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 1 ww_ctx 0
BUF_SIZE 0 rdev s32min-(-1),1-s32max
BUF_SIZE 0 rdev s32min-(-1),1-s32max
DATA_SOURCE 0 rdev $0
STR_LEN 0 rdev (-1),2-11,21,31
STR_LEN 0 rdev (-1),2-11,21,31
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 rdev->mutex.ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 0 rdev->mutex.ctx->deadlock_inject_interval
UNITS 0 rdev unit_byte
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &regulator_list_mutex

drivers/regulator/core.c regulator_lock_recursive() -> regulator_lock_nested()

Type Parameter Key Value
PARAM_VALUE 0 rdev 1-u64max
PARAM_VALUE 1 ww_ctx->ww_class->acquire_name 182095512647520256,1459202010597384192,2042222122760065024,2953085416145920000,6123211227480948736,8230199826601394176,8290753657026781184
PARAM_VALUE 1 ww_ctx->ww_class->is_wait_die 0-s32max
PARAM_VALUE 1 ww_ctx->ww_class->mutex_name 3691132625150517248,4065682205113294848,5134360359185924096,5357946803847356416,5603286808893427712,6920087151235571712,8730023023955308544
DATA_SOURCE 1 ww_ctx $3
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 ww_ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ww_ctx->deadlock_inject_interval
HALF_LOCKED2 global &regulator_list_mutex
HALF_LOCKED2 0 &rdev->mutex

drivers/regulator/core.c regulator_lock_two() -> regulator_lock_nested()

Type Parameter Key Value
PARAM_VALUE 0 rdev 4096-ptr_max
PARAM_VALUE 0 rdev->dev.dma_io_tlb_mem->debugfs 0-s64max
PARAM_VALUE 0 rdev->mutex.ww_class->acquire_name 0,4096-ptr_max
PARAM_VALUE 0 rdev->mutex.ww_class->is_wait_die 0-1
PARAM_VALUE 0 rdev->mutex.ww_class->mutex_name 0,4096-ptr_max
PARAM_VALUE 0 rdev->supply->debugfs->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 rdev->supply->debugfs->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 1 ww_ctx 4636161381130256384
PARAM_VALUE 1 ww_ctx->acquired 0
PARAM_VALUE 1 ww_ctx->contending_lock 0
PARAM_VALUE 1 ww_ctx->deadlock_inject_countdown 0-15
PARAM_VALUE 1 ww_ctx->deadlock_inject_interval 1
PARAM_VALUE 1 ww_ctx->dep_map->name 0-255
PARAM_VALUE 1 ww_ctx->done_acquire 0
PARAM_VALUE 1 ww_ctx->first_lock_dep_map->name 0-255
PARAM_VALUE 1 ww_ctx->first_lock_dep_map.cpu 0
PARAM_VALUE 1 ww_ctx->first_lock_dep_map.lock_type 0
PARAM_VALUE 1 ww_ctx->is_wait_die 0
PARAM_VALUE 1 ww_ctx->wounded 0
PARAM_VALUE 1 ww_ctx->ww_class 1116374515526361088
PARAM_VALUE 1 ww_ctx->ww_class->acquire_name 6123211227480948736
PARAM_VALUE 1 ww_ctx->ww_class->is_wait_die 0
PARAM_VALUE 1 ww_ctx->ww_class->mutex_name 8730023023955308544
BUF_SIZE 0 rdev (-1),4040
BUF_SIZE 0 rdev (-1),4040
BUF_SIZE 0 rdev->constraints (-1),224
BUF_SIZE 0 rdev->dev.class (-1),96
BUF_SIZE 0 rdev->dev.of_node (-1)-0,392
BUF_SIZE 0 rdev->reg_data s32min-(-1),1-s32max
BUF_SIZE 0 rdev->supply_name s32min,(-10),(-1),1-s32max
DATA_SOURCE 0 rdev $0
DATA_SOURCE 1 ww_ctx $2
STR_LEN 0 rdev (-1),2-11,21,31
STR_LEN 0 rdev (-1),2-11,21,31
RX_PATH
TASK_NOT_RUNNING

drivers/regulator/core.c regulator_lock_two() -> regulator_lock_nested()

Type Parameter Key Value
PARAM_VALUE 0 rdev 4096-ptr_max
PARAM_VALUE 0 rdev->supply->debugfs->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 rdev->supply->debugfs->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 rdev->supply->debugfs->d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 rdev->supply->debugfs->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 rdev->supply->debugfs->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 1 ww_ctx 4636161381130256384
PARAM_VALUE 1 ww_ctx->dep_map->name 0-255
PARAM_VALUE 1 ww_ctx->first_lock_dep_map->name 0-255
PARAM_VALUE 1 ww_ctx->ww_class->acquire_name 6123211227480948736
PARAM_VALUE 1 ww_ctx->ww_class->is_wait_die 0
PARAM_VALUE 1 ww_ctx->ww_class->mutex_name 8730023023955308544
DATA_SOURCE 0 rdev $1
DATA_SOURCE 1 ww_ctx $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rdev1->mutex

drivers/regulator/core.c regulator_lock_two() -> regulator_lock_nested()

Type Parameter Key Value
PARAM_VALUE 0 rdev 4096-ptr_max
PARAM_VALUE 0 rdev->mutex.base.dep_map->name 0-255
PARAM_VALUE 0 rdev->mutex.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 ww_ctx 4636161381130256384
PARAM_VALUE 1 ww_ctx->contending_lock 0,4096-ptr_max
PARAM_VALUE 1 ww_ctx->deadlock_inject_countdown 0-3758096380,u32max
PARAM_VALUE 1 ww_ctx->deadlock_inject_interval 0-3758096380,u32max
PARAM_VALUE 1 ww_ctx->dep_map->name 0-255
PARAM_VALUE 1 ww_ctx->first_lock_dep_map->name 0-255
PARAM_VALUE 1 ww_ctx->wounded 0-1
PARAM_VALUE 1 ww_ctx->ww_class->acquire_name 6123211227480948736
PARAM_VALUE 1 ww_ctx->ww_class->is_wait_die 0
PARAM_VALUE 1 ww_ctx->ww_class->mutex_name 8730023023955308544
BUF_SIZE 0 rdev (-1),4040
BUF_SIZE 0 rdev (-1),4040
DATA_SOURCE 1 ww_ctx $2
STR_LEN 0 rdev (-1),2-11,21,31
STR_LEN 0 rdev (-1),2-11,21,31
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 ww_ctx->deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 1 ww_ctx->deadlock_inject_interval
LOCK2 &rdev2->mutex
LOCK2 0 &rdev->mutex
HALF_LOCKED2 &rdev1->mutex
TYPE_LOCK (struct regulator_dev)->mutex

drivers/regulator/core.c regulator_summary_lock_one() -> regulator_lock_nested()

Type Parameter Key Value
PARAM_VALUE 0 rdev 4096-ptr_max
DATA_SOURCE 0 rdev r dev_to_rdev
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &s->lock
HALF_LOCKED2 global &device_links_lock
HALF_LOCKED2 global &regulator_list_mutex