Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/base/power/common.c dev_pm_domain_set() -> device_pm_check_callbacks()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->dma_io_tlb_mem->debugfs 0-s64max
PARAM_VALUE 0 dev->dma_io_tlb_mem->phys_limit 0-s64max
PARAM_VALUE 0 dev->dma_ops->alloc 0,1744715142275031040,2065280936184246272,2938795245442469888
PARAM_VALUE 0 dev->dma_ops->alloc_pages_op 0,4686288359180861440,6350905364812603392,6978773206971854848
PARAM_VALUE 0 dev->dma_ops->cache_sync 0
PARAM_VALUE 0 dev->dma_ops->dma_supported 0,2528523692154392576,3617072262637035520,5023592177070743552,5276104885786021888
PARAM_VALUE 0 dev->dma_ops->free 0,4778164490434129920,7144974343242604544,7861694134817480704
PARAM_VALUE 0 dev->dma_ops->free_pages 0,239457316199952384,5196233516945883136,7413093576918179840
PARAM_VALUE 0 dev->dma_ops->get_merge_boundary 0
PARAM_VALUE 0 dev->dma_ops->get_required_mask 0,7770840938859397120
PARAM_VALUE 0 dev->dma_ops->get_sgtable 0,1322759480623644672
PARAM_VALUE 0 dev->dma_ops->map_phys 0,2506261230157742080,4169194063996235776,4848421345171935232,6326163439792029696
PARAM_VALUE 0 dev->dma_ops->map_sg 0,2118452656510775296,2518538481676259328,5872201013595766784,6630017431831871488
PARAM_VALUE 0 dev->dma_ops->max_mapping_size 0,8830639662091943936
PARAM_VALUE 0 dev->dma_ops->mmap 0,5761417605877342208,7694740394750603264
PARAM_VALUE 0 dev->dma_ops->opt_mapping_size 0
PARAM_VALUE 0 dev->dma_ops->sync_sg_for_cpu 0,4862850025765572608
PARAM_VALUE 0 dev->dma_ops->sync_sg_for_device 0,3732476178258022400
PARAM_VALUE 0 dev->dma_ops->sync_single_for_cpu 0,1155325867376779264
PARAM_VALUE 0 dev->dma_ops->sync_single_for_device 0,8781567156597239808
PARAM_VALUE 0 dev->dma_ops->unmap_phys 0,3634718672199266304,5690836758666383360,6257189515678003200,7756707427785986048
PARAM_VALUE 0 dev->dma_ops->unmap_sg 0,1256335292805263360,8472845699660435456,8676762248147066880,8920167536469053440
PARAM_VALUE 0 dev->kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->kobj.sd->attr.open->nr_mmapped 0-4294967295
BUF_SIZE 0 dev (-1)-0,4,8,16,24-s32max
BUF_SIZE 0 dev (-1)-0,4,8,16,24-s32max
BUF_SIZE 0 dev->bus (-1),168
BUF_SIZE 0 dev->driver (-1),152
BUF_SIZE 0 dev->driver_data (-1),208
BUF_SIZE 0 dev->groups (-1),16
DATA_SOURCE 0 dev $0
STR_LEN 0 dev (-1),2-6,8
STR_LEN 0 dev (-1),2-6,8
STR_LEN 0 dev->power.subsys_data->domain_data->dev (-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 dev->flags 4096-u32max
NO_OVERFLOW_SIMPLE 0 dev->physical_location
UNITS 0 dev unit_byte
HALF_LOCKED2 global &gpd_list_lock
HALF_LOCKED2 0 &dev->mutex

drivers/base/dd.c __device_release_driver() -> device_pm_check_callbacks()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->bus 0,4096-ptr_max
PARAM_VALUE 0 dev->class 0,4096-ptr_max
PARAM_VALUE 0 dev->dma_range_map 0
PARAM_VALUE 0 dev->driver 0
PARAM_VALUE 0 dev->driver_data 0
PARAM_VALUE 0 dev->driver_data->callback->add 5235430000054906880
PARAM_VALUE 0 dev->driver_data->callback->early_resume 6956900869090054144
PARAM_VALUE 0 dev->driver_data->callback->remove 1719268733136482304
PARAM_VALUE 0 dev->driver_data->callback->requery 4713442613417914368
PARAM_VALUE 0 dev->driver_data->callback->resume 5068206944467017728
PARAM_VALUE 0 dev->driver_data->callback->suspend 2738892915008757760
PARAM_VALUE 0 dev->driver_data->callback->validate 4934365872137547776
PARAM_VALUE 0 dev->driver_data->cdev 0
PARAM_VALUE 0 dev->driver_data->cdev->kobj.release.timer.is_hard 0-1
PARAM_VALUE 0 dev->driver_data->cdev->kobj.release.timer.is_lazy 0-1
PARAM_VALUE 0 dev->driver_data->cdev->kobj.release.timer.is_queued 0-1
PARAM_VALUE 0 dev->driver_data->cdev->kobj.release.timer.is_soft 0-1
PARAM_VALUE 0 dev->driver_data->cis_mem.flags 0,2-254
PARAM_VALUE 0 dev->driver_data->cis_mem.res 0
PARAM_VALUE 0 dev->driver_data->cis_virt 0
PARAM_VALUE 0 dev->driver_data->d_ref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 dev->driver_data->detaching.counter s32min-s32max
PARAM_VALUE 0 dev->driver_data->dev.kobj.kref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 dev->driver_data->dev.kobj.release.cpu s32min-s32max
PARAM_VALUE 0 dev->driver_data->dev.kobj.release.timer.flags 0-4294967295
PARAM_VALUE 0 dev->driver_data->dev.kobj.release.timer.is_hard 0-1
PARAM_VALUE 0 dev->driver_data->dev.kobj.release.timer.is_lazy 0-1
PARAM_VALUE 0 dev->driver_data->dev.kobj.release.timer.is_queued 0-1
PARAM_VALUE 0 dev->driver_data->dev.kobj.release.timer.is_soft 0-1
PARAM_VALUE 0 dev->driver_data->device_count 0-1
PARAM_VALUE 0 dev->driver_data->ops_mutex->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 dev->driver_data->ops_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->driver_data->ops_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 dev->driver_data->ops_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dev->driver_data->ops_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dev->driver_data->ops_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dev->driver_data->ops_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 dev->driver_data->ops_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->driver_data->sfd_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->driver_data->sfd_lock.raw_lock.cnts.counter s32min-s32max
PARAM_VALUE 0 dev->driver_data->skt_mutex->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 dev->driver_data->skt_mutex->wait_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 dev->driver_data->skt_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->driver_data->skt_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dev->driver_data->skt_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dev->driver_data->skt_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dev->driver_data->skt_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 dev->driver_data->skt_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->fwnode->dev 0
PARAM_VALUE 0 dev->kobj->kset->kobj.release.timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 dev->kobj.entry.prev 4096-ptr_max
PARAM_VALUE 0 dev->kobj.parent 0
PARAM_VALUE 0 dev->kobj.parent->release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 dev->kobj.parent->release.timer.is_hard 0-1
PARAM_VALUE 0 dev->kobj.parent->release.timer.is_lazy 0-1
PARAM_VALUE 0 dev->kobj.parent->release.timer.is_queued 0-1
PARAM_VALUE 0 dev->kobj.parent->release.timer.is_soft 0-1
PARAM_VALUE 0 dev->kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 dev->kobj.release.timer.is_hard 0-1
PARAM_VALUE 0 dev->kobj.release.timer.is_lazy 0-1
PARAM_VALUE 0 dev->kobj.release.timer.is_queued 0-1
PARAM_VALUE 0 dev->kobj.release.timer.is_soft 0-1
PARAM_VALUE 0 dev->kobj.release.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 dev->kobj.sd->__parent 0
PARAM_VALUE 0 dev->kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->kobj.sd->dir.children.rb_node 0
PARAM_VALUE 0 dev->kobj.state_in_sysfs 0
PARAM_VALUE 0 dev->links.defer_sync.next->prev 4096-ptr_max
PARAM_VALUE 0 dev->links.defer_sync.prev->next 4096-ptr_max
PARAM_VALUE 0 dev->links.status 0
PARAM_VALUE 0 dev->p 4096-ptr_max
PARAM_VALUE 0 dev->p->deferred_probe_reason 0-9223372036854775807
PARAM_VALUE 0 dev->p->knode_class.n_klist 0
PARAM_VALUE 0 dev->p->knode_driver.n_klist 0
PARAM_VALUE 0 dev->p->knode_parent.n_klist 0
PARAM_VALUE 0 dev->parent->kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 dev->parent->kobj.release.timer.is_hard 0-1
PARAM_VALUE 0 dev->parent->kobj.release.timer.is_lazy 0-1
PARAM_VALUE 0 dev->parent->kobj.release.timer.is_queued 0-1
PARAM_VALUE 0 dev->parent->kobj.release.timer.is_soft 0-1
PARAM_VALUE 0 dev->pm_domain 0,4096-ptr_max
PARAM_VALUE 0 dev->power.can_wakeup 0
PARAM_VALUE 0 dev->power.driver_flags 0
PARAM_VALUE 0 dev->power.entry.next 4096-ptr_max
PARAM_VALUE 0 dev->power.entry.next->next 4096-ptr_max
PARAM_VALUE 0 dev->power.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 dev->power.entry.prev 4096-ptr_max
PARAM_VALUE 0 dev->power.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 dev->power.entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 dev->power.needs_force_resume 0
PARAM_VALUE 0 dev->power.qos->flags_req 0
PARAM_VALUE 0 dev->power.qos->latency_tolerance.no_constraint_value (-1)
PARAM_VALUE 0 dev->power.qos->latency_tolerance.type 2
PARAM_VALUE 0 dev->power.qos->latency_tolerance_req 0
PARAM_VALUE 0 dev->power.set_latency_tolerance 0
PARAM_VALUE 0 dev->power.subsys_data 0,4096-ptr_max
PARAM_VALUE 0 dev->power.subsys_data->domain_data 0
PARAM_VALUE 0 dev->power.use_autosuspend 0
PARAM_VALUE 0 dev->power.wakeirq 0,4096-ptr_max
PARAM_VALUE 0 dev->type 0,4096-ptr_max
PARAM_VALUE 0 *dev->driver_data->cis_virt (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 *dev->kobj.release.timer->entry.pprev 4096-ptr_max
CAPPED_DATA 0 dev->bus 1
CAPPED_DATA 0 &dev->p->knode_driver 1
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
LOCK2 0 &dev->mutex
TYPE_LOCK (struct device)->mutex

drivers/base/dd.c driver_bound() -> device_pm_check_callbacks()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver 4096-ptr_max
PARAM_VALUE 0 dev->driver->p 4096-ptr_max
PARAM_VALUE 0 dev->driver->p->klist_devices.k_list.prev 4096-ptr_max
PARAM_VALUE 0 dev->driver->p->klist_devices.k_list.prev->next 4096-ptr_max
PARAM_VALUE 0 dev->driver->p->klist_devices.k_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 dev->fwnode 0,4096-ptr_max
PARAM_VALUE 0 dev->kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->kobj.sd 4096-ptr_max
PARAM_VALUE 0 dev->kobj.sd->__parent 0
PARAM_VALUE 0 dev->kobj.sd->attr.notify_next 0,426918848001064960
PARAM_VALUE 0 dev->kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->links.defer_sync.next 4096-ptr_max
PARAM_VALUE 0 dev->links.status 2
PARAM_VALUE 0 dev->p 4096-ptr_max
PARAM_VALUE 0 dev->p->knode_driver.n_klist 4096-ptr_max
PARAM_VALUE 0 dev->p->knode_driver.n_node.next 4096-ptr_max
PARAM_VALUE 0 dev->p->knode_driver.n_ref.refcount.refs.counter 1
PARAM_VALUE 0 dev->pins->p 0,4096-u64max
BUF_SIZE 0 dev (-1)-0,16,24,56,64,120,1616,7104
BUF_SIZE 0 dev (-1)-0,16,24,56,64,120,1616,7104
BUF_SIZE 0 dev->driver (-1),152
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->fwnode 1
DATA_SOURCE 0 dev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 0 &dev->mutex
HALF_LOCKED2 0 &dev->parent->mutex

drivers/base/power/main.c device_pm_add() -> device_pm_check_callbacks()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->bus 0,4096-ptr_max
PARAM_VALUE 0 dev->bus->offline 1-u64max
PARAM_VALUE 0 dev->bus->online 1-u64max
PARAM_VALUE 0 dev->class 0,4096-ptr_max
PARAM_VALUE 0 dev->groups 0,4096-ptr_max
PARAM_VALUE 0 dev->init_name 0
PARAM_VALUE 0 dev->kobj.kset->list.prev 4096-ptr_max
PARAM_VALUE 0 dev->kobj.kset->list.prev->next 4096-ptr_max
PARAM_VALUE 0 dev->kobj.kset->list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 dev->kobj.kset->list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dev->kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 dev->kobj.release.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 dev->kobj.sd->priv 4096-ptr_max
PARAM_VALUE 0 dev->p 1-u64max
PARAM_VALUE 0 dev->physical_location 0,4096-ptr_max
PARAM_VALUE 0 dev->physical_location->horizontal_position 0-3
PARAM_VALUE 0 dev->physical_location->panel 0-7
PARAM_VALUE 0 dev->physical_location->vertical_position 0-3
PARAM_VALUE 0 dev->pins->p 0-s64max
PARAM_VALUE 0 dev->power.no_pm 0
PARAM_VALUE 0 dev->power.set_latency_tolerance 5740181548905971712
PARAM_VALUE 0 dev->type 0,4096-ptr_max
PARAM_VALUE 0 dev->type->groups 0,4096-ptr_max
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->bus 1
DATA_SOURCE 0 dev $0
NOCHECK_CALL

drivers/base/power/main.c device_pm_remove() -> device_pm_check_callbacks()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->groups 0,4096-ptr_max
PARAM_VALUE 0 dev->kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->p 1-u64max
PARAM_VALUE 0 dev->pins->p 0-s64max
PARAM_VALUE 0 dev->power.completion.done u32max
PARAM_VALUE 0 dev->power.completion.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 dev->power.completion.wait.lock.owner (-1)
PARAM_VALUE 0 dev->power.completion.wait.lock.owner_cpu u32max
PARAM_VALUE 0 dev->power.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 dev->power.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 dev->power.in_dpm_list 0
PARAM_VALUE 0 dev->power.irq_safe 0
PARAM_VALUE 0 dev->power.last_status s32min-0,2,4-s32max
PARAM_VALUE 0 dev->power.needs_force_resume 0
PARAM_VALUE 0 dev->power.no_pm 0
PARAM_VALUE 0 dev->power.request_pending 0
PARAM_VALUE 0 dev->power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 dev->power.runtime_status 2
PARAM_VALUE 0 dev->power.timer_expires 0
PARAM_VALUE 0 dev->power.usage_count.counter 0-s32max
PARAM_VALUE 0 dev->type 0,4096-ptr_max
PARAM_VALUE 0 dev->type->groups 0,4096-ptr_max
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->physical_location 1
DATA_SOURCE 0 dev $0
NOCHECK_CALL