Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/input/misc/max8997_haptic.c max8997_haptic_probe() -> pwm_put()

Type Parameter Key Value
PARAM_VALUE 0 pwm 0-ptr_max
PARAM_VALUE 0 pwm->chip->ops->sizeof_wfhw 0-2,5,12,16
BUF_SIZE 0 pwm s32min-(-1),1-s32max
BUF_SIZE 0 pwm s32min-(-1),1-s32max
DATA_SOURCE 0 pwm r pwm_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/input/misc/max8997_haptic.c max8997_haptic_remove() -> pwm_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_dev->mutex

drivers/gpu/drm/solomon/ssd130x.c ssd130x_power_off() -> pwm_put()

Type Parameter Key Value
PARAM_VALUE 0 pwm 0,4096-ptr_max
PARAM_VALUE 0 pwm->chip->ops->sizeof_wfhw 0-2,5,12,16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &state->dev->mode_config.connection_mutex
HALF_LOCKED2 &state->dev->mode_config.connection_mutex.mutex

drivers/gpu/drm/i915/display/intel_backlight.c intel_backlight_destroy() -> pwm_put()

Type Parameter Key Value
PARAM_VALUE 0 pwm 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/pwm/core.c devm_pwm_release() -> pwm_put()

Type Parameter Key Value
DATA_SOURCE 0 pwm $0
NOCHECK_CALL

drivers/pwm/core.c export_store() -> pwm_put()

Type Parameter Key Value
PARAM_VALUE 0 pwm 4096-ptr_max
PARAM_VALUE 0 pwm->chip 4096-ptr_max
PARAM_VALUE 0 pwm->chip->dev.driver_data->cache_dirty 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.deferred_resume 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.idle_notification 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.request 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.request_pending 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.runtime_error s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.runtime_status s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.timer_autosuspends 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.usage_count.counter s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->prepare_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->protect_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->prepare_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->protect_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.deferred_resume 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.idle_notification 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.request 0-4
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.request_pending 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.runtime_status s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.timer_autosuspends 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.usage_count.counter s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.deferred_resume 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.idle_notification 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.request 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.request_pending 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.runtime_error s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.runtime_status s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.timer_autosuspends 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.usage_count.counter s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->enable_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->prepare_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->protect_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->prepare_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->protect_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.dep_map->name 0-255
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 pwm->chip->dev.driver_data->pwm_pin_busy.counter s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->regmap->async 0
PARAM_VALUE 0 pwm->chip->dev.driver_data->regmap->cache->cached_rbnode->base_reg 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->regmap->cache->cached_rbnode->blklen 0-4294967295
PARAM_VALUE 0 pwm->chip->operational 1
PARAM_VALUE 0 pwm->chip->ops->sizeof_wfhw 0-2,5,12,16
PARAM_VALUE 0 pwm->chip->owner 0,4096-ptr_max
PARAM_VALUE 0 pwm->chip->owner->refcnt.counter 0-s32max
PARAM_VALUE 0 pwm->chip->owner->state 0-1,3-u32max
DATA_SOURCE 0 pwm r pwm_request_from_chip
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/pwm/core.c of_pwm_get() -> pwm_put()

Type Parameter Key Value
PARAM_VALUE 0 pwm 4096-ptr_max
PARAM_VALUE 0 pwm->chip 4096-ptr_max
PARAM_VALUE 0 pwm->chip->ops->sizeof_wfhw 0-2,5,12,16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/pwm/core.c pwm_cdev_release() -> pwm_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/pwm/core.c pwm_get() -> pwm_put()

Type Parameter Key Value
PARAM_VALUE 0 pwm 4096-ptr_max
PARAM_VALUE 0 pwm->chip 4096-ptr_max
PARAM_VALUE 0 pwm->chip->dev.driver_data->cache_dirty 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.deferred_resume 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.idle_notification 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.request 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.request_pending 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.runtime_error s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.runtime_status s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.timer_autosuspends 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.usage_count.counter s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->prepare_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->parent->protect_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->prepare_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->clk->core->protect_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.deferred_resume 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.idle_notification 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.request 0-4
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.request_pending 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.runtime_status s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.timer_autosuspends 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.usage_count.counter s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.deferred_resume 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.idle_notification 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.request 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.request_pending 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.runtime_error s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.runtime_status s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.timer_autosuspends 0-1
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.usage_count.counter s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->enable_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->prepare_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->parent->protect_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->prepare_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->ipg_clk->core->protect_count 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.dep_map->name 0-255
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 pwm->chip->dev.driver_data->pwm_pin_busy.counter s32min-s32max
PARAM_VALUE 0 pwm->chip->dev.driver_data->regmap->async 0
PARAM_VALUE 0 pwm->chip->dev.driver_data->regmap->cache->cached_rbnode->base_reg 0-4294967295
PARAM_VALUE 0 pwm->chip->dev.driver_data->regmap->cache->cached_rbnode->blklen 0-4294967295
PARAM_VALUE 0 pwm->chip->operational 1
PARAM_VALUE 0 pwm->chip->ops->sizeof_wfhw 0-2,5,12,16
PARAM_VALUE 0 pwm->chip->owner 0,4096-ptr_max
PARAM_VALUE 0 pwm->chip->owner->refcnt.counter 0-s32max
PARAM_VALUE 0 pwm->chip->owner->state 0-1,3-u32max
DATA_SOURCE 0 pwm r pwm_request_from_chip
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock

drivers/pwm/core.c pwm_gpio_free() -> pwm_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/pwm/core.c pwm_unexport_child() -> pwm_put()

Type Parameter Key Value
PARAM_VALUE 0 pwm 4096-ptr_max
DATA_SOURCE 0 pwm $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex

drivers/video/fbdev/ssd1307fb.c ssd1307fb_probe() -> pwm_put()

Type Parameter Key Value
PARAM_VALUE 0 pwm 0,4096-ptr_max
PARAM_VALUE 0 pwm->chip->ops->sizeof_wfhw 0-2,5,12,16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/video/fbdev/ssd1307fb.c ssd1307fb_remove() -> pwm_put()

Type Parameter Key Value
PARAM_VALUE 0 pwm 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex