Defined in 1 files as a prototype:
Defined in 2 files as a function:
- drivers/base/power/main.c, line 2422 (as a function)
- drivers/base/power/power.h, line 151 (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 |