Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 5 files:
- drivers/leds/led-core.c, line 480
- drivers/leds/rgb/leds-group-multicolor.c, line 59
- drivers/media/v4l2-core/v4l2-flash-led-class.c
- drivers/media/v4l2-core/v4l2-subdev.c, line 2757
- drivers/video/backlight/led_bl.c, line 248
Smatch caller information:
drivers/leds/rgb/leds-group-multicolor.c restore_sysfs_write_access() -> led_sysfs_enable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | led_cdev->led_access.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->led_access.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.owner_cpu | u32max |
| CAPPED_DATA | 0 | &led_cdev->led_access | 1 |
| DATA_SOURCE | 0 | led_cdev | $0 |
| NOCHECK_CALL | |||
| LOCK2 | 0 | &led_cdev->led_access | |
| TYPE_LOCK | (struct led_classdev)->led_access |
drivers/video/backlight/led_bl.c led_bl_remove() -> led_sysfs_enable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &_dev->mutex |
drivers/media/v4l2-core/v4l2-flash-led-class.c v4l2_flash_close() -> led_sysfs_enable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | led_cdev | 1-u64max |
| PARAM_VALUE | 0 | led_cdev->led_access.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->led_access.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.owner_cpu | u32max |
| BUF_SIZE | 0 | led_cdev | 768 |
| CAPPED_DATA | 0 | &led_cdev->led_access | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &led_cdev->led_access | |
| HALF_LOCKED2 | &vdev->v4l2_dev->mdev->req_queue_mutex | ||
| TYPE_LOCK | (struct led_classdev)->led_access |
drivers/media/v4l2-core/v4l2-flash-led-class.c v4l2_flash_close() -> led_sysfs_enable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | led_cdev | 1-u64max |
| PARAM_VALUE | 0 | led_cdev->led_access.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->led_access.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.owner_cpu | u32max |
| CAPPED_DATA | 0 | &led_cdev->led_access | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &led_cdev->led_access | |
| HALF_LOCKED2 | &vdev->v4l2_dev->mdev->req_queue_mutex | ||
| TYPE_LOCK | (struct led_classdev)->led_access |
drivers/media/v4l2-core/v4l2-flash-led-class.c v4l2_flash_open() -> led_sysfs_enable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | led_cdev | 4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->blink_timer->entry.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->blink_timer.entry->pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->blink_timer.entry.pprev | 0,4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->blink_timer.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->client->adapter->bus_lock.rtmutex.owner | 0-1 |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.first_waiter->task->blocked_lock.owner | (-1) |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.first_waiter->task->blocked_lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | led_cdev->led_access.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->task->blocked_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->task->blocked_lock.owner | (-1) |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->task->blocked_lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->task->blocked_lock.raw_lock.val.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->led_access.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | led_cdev->pattern_clear | 0 |
| PARAM_VALUE | 0 | led_cdev->pattern_set | 0 |
| PARAM_VALUE | 0 | led_cdev->set_brightness_work.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->trig_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->trig_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->trigger | 0,4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->trigger->led_cdevs.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->trigger_data | 0,4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->delta_t | 0 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->dwork.work.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->desc_srcu.srcu_sup->work.work.entry.prev->prev | 2076614606316732416 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.kref.refcount.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.release.cpu | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.release.timer.flags | 0-4294967295 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.release.timer.is_hard | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.release.timer.is_lazy | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.release.timer.is_queued | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.release.timer.is_soft | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->owner->refcnt.counter | 0-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->hrtimer.flags | 0-4294967295 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->hrtimer.is_hard | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->hrtimer.is_lazy | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->hrtimer.is_soft | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->hrtimer.node.expires | 0-s64max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->hrtimer.node.node.node.__rb_parent_color | 1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->led_cdev->dev->kobj.sd->count.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.first_waiter->task->blocked_lock.owner | (-1) |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.first_waiter->task->blocked_lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.first_waiter->task->blocked_lock.raw_lock.val.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->net_dev->refcnt_tracker.no_tracker.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->net_dev->refcnt_tracker.quarantine_avail | 0-4294967295 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->net_dev->refcnt_tracker.untracked.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->npatterns | 0-4294967295 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->tty | 0 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->type | 0-2 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->work.work.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.first_waiter->handoff_set | 1 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | *led_cdev->trigger_data->net_dev->pcpu_refcnt | s32min-s32max |
| BUF_SIZE | 0 | led_cdev | 768 |
| CAPPED_DATA | 0 | &led_cdev->led_access | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &led_cdev->led_access | |
| TYPE_LOCK | (struct led_classdev)->led_access |
drivers/media/v4l2-core/v4l2-flash-led-class.c v4l2_flash_open() -> led_sysfs_enable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | led_cdev | 4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->blink_timer->entry.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->blink_timer.entry->pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->blink_timer.entry.pprev | 0,4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->blink_timer.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->client->adapter->bus_lock.rtmutex.owner | 0-1 |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.first_waiter->task->blocked_lock.owner | (-1) |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.first_waiter->task->blocked_lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->dev->parent->driver_data->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | led_cdev->led_access.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->task->blocked_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->task->blocked_lock.owner | (-1) |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->task->blocked_lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->task->blocked_lock.raw_lock.val.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->led_access.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | led_cdev->pattern_clear | 0 |
| PARAM_VALUE | 0 | led_cdev->pattern_set | 0 |
| PARAM_VALUE | 0 | led_cdev->set_brightness_work.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->trig_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->trig_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->trigger | 0,4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->trigger->led_cdevs.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->trigger_data | 0,4096-ptr_max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->delta_t | 0 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->dwork.work.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->desc_srcu.srcu_sup->work.work.entry.prev->prev | 2076614606316732416 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.kref.refcount.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.release.cpu | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.release.timer.flags | 0-4294967295 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.release.timer.is_hard | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.release.timer.is_lazy | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.release.timer.is_queued | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->dev.kobj.release.timer.is_soft | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->gpiod->gdev->owner->refcnt.counter | 0-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->hrtimer.flags | 0-4294967295 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->hrtimer.is_hard | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->hrtimer.is_lazy | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->hrtimer.is_soft | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->hrtimer.node.expires | 0-s64max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->hrtimer.node.node.node.__rb_parent_color | 1 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->led_cdev->dev->kobj.sd->count.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.first_waiter->task->blocked_lock.owner | (-1) |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.first_waiter->task->blocked_lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.first_waiter->task->blocked_lock.raw_lock.val.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->net_dev->refcnt_tracker.no_tracker.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->net_dev->refcnt_tracker.quarantine_avail | 0-4294967295 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->net_dev->refcnt_tracker.untracked.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | led_cdev->trigger_data->npatterns | 0-4294967295 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->tty | 0 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->type | 0-2 |
| PARAM_VALUE | 0 | led_cdev->trigger_data->work.work.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.first_waiter->handoff_set | 1 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | *led_cdev->trigger_data->net_dev->pcpu_refcnt | s32min-s32max |
| CAPPED_DATA | 0 | &led_cdev->led_access | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &led_cdev->led_access | |
| TYPE_LOCK | (struct led_classdev)->led_access |
drivers/media/v4l2-core/v4l2-subdev.c v4l2_subdev_put_privacy_led() -> led_sysfs_enable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | led_cdev | 1-ptr_max |
| PARAM_VALUE | 0 | led_cdev->led_access.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | led_cdev->led_access.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | led_cdev->led_access.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | led_cdev->trigger_lock.first_waiter->type | 0-1 |
| CAPPED_DATA | 0 | &led_cdev->led_access | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &led_cdev->led_access | |
| TYPE_LOCK | (struct led_classdev)->led_access |