Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/gpio/gpiolib-sysfs.c export_gpio_desc() -> gpiod_free()

Type Parameter Key Value
PARAM_VALUE 0 desc 4096-ptr_max
PARAM_VALUE 0 desc->gdev 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.sda 0,4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->irq_work.node.a_flags.counter 0-s32max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->lock.dep_map->name 0-255
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->lock.owner (-1)
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->lock.owner_cpu u32max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->sda_is_static 1
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_barrier_mutex.dep_map->name 0-255
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_barrier_mutex.magic 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_cb_mutex.dep_map->name 0-255
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_cb_mutex.magic 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_gp_mutex.dep_map->name 0-255
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_gp_mutex.magic 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_gp_seq 18446744073709551216
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_ssp 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_ssp->sda 1-u64max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_ssp->srcu_sup 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->work.work.entry.next 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->work.work.entry.prev 2076614606316732416
PARAM_VALUE 0 desc->gdev->owner 0,4096-ptr_max
PARAM_VALUE 0 desc->gdev->owner->refcnt.counter 0-s32max
PARAM_VALUE 0 desc->gdev->owner->state 0-1,3-u32max
PARAM_VALUE 0 desc->label 4096-ptr_max
DATA_SOURCE 0 desc $0
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/gpio/gpiolib-sysfs.c export_gpio_desc() -> gpiod_free()

Type Parameter Key Value
PARAM_VALUE 0 desc 4096-ptr_max
PARAM_VALUE 0 desc->debounce_period_us 0-16777215
PARAM_VALUE 0 desc->gdev 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.sda 0,4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->irq_work.node.a_flags.counter 0-s32max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->lock.dep_map->name 0-255
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->lock.owner (-1)
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->lock.owner_cpu u32max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->sda_is_static 1
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_barrier_mutex.dep_map->name 0-255
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_barrier_mutex.magic 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_cb_mutex.dep_map->name 0-255
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_cb_mutex.magic 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_gp_mutex.dep_map->name 0-255
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_gp_mutex.magic 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_gp_seq 18446744073709551216
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_ssp 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_ssp->sda 1-u64max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->srcu_ssp->srcu_sup 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->work.work.entry.next 4096-ptr_max
PARAM_VALUE 0 desc->gdev->desc_srcu.srcu_sup->work.work.entry.prev 2076614606316732416
PARAM_VALUE 0 desc->gdev->owner 0,4096-ptr_max
PARAM_VALUE 0 desc->gdev->owner->refcnt.counter 0-s32max
PARAM_VALUE 0 desc->gdev->owner->state 0-1,3-u32max
PARAM_VALUE 0 desc->label 4096-ptr_max
DATA_SOURCE 0 desc $0
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/gpio/gpiolib-sysfs.c gpiochip_sysfs_unregister() -> gpiod_free()

Type Parameter Key Value
PARAM_VALUE 0 desc 4096-ptr_max
DATA_SOURCE 0 desc r gpiochip_get_desc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 &bank->deferred_lock
HALF_LOCKED2 &hdev->driver_input_lock

drivers/gpio/gpiolib-sysfs.c unexport_gpio_desc() -> gpiod_free()

Type Parameter Key Value
PARAM_VALUE 0 desc 4096-ptr_max
CAPPED_DATA 0 desc 1
DATA_SOURCE 0 desc $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 desc unit_byte
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/gpio/gpiolib-cdev.c lineevent_free() -> gpiod_free()

Type Parameter Key Value
PARAM_VALUE 0 desc 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 _T->lock

drivers/gpio/gpiolib-cdev.c linehandle_free() -> gpiod_free()

Type Parameter Key Value
PARAM_VALUE 0 desc 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 _T->lock

drivers/gpio/gpiolib-cdev.c linereq_free() -> gpiod_free()

Type Parameter Key Value
PARAM_VALUE 0 desc 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 _T->lock

drivers/gpio/gpiolib.c gpiod_put() -> gpiod_free()

Type Parameter Key Value
BUF_SIZE 0 desc s32min-(-1),1-s32max
BUF_SIZE 0 desc s32min-(-1),1-s32max
DATA_SOURCE 0 desc $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &ax_local->spi_lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &led->trigger_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &regulator_list_mutex

drivers/gpio/gpiolib-legacy.c gpio_free() -> gpiod_free()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL