Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/leds/led-triggers.c led_match_default_trigger() -> led_trigger_set()

Type Parameter Key Value
PARAM_VALUE 0 led_cdev 4096-ptr_max
PARAM_VALUE 0 led_cdev->default_trigger 1-u64max
PARAM_VALUE 0 led_cdev->dev->dma_io_tlb_mem->phys_limit 0-s64max
PARAM_VALUE 0 led_cdev->dev->kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 led_cdev->dev->kobj.sd->attr.open->nr_mmapped 0-4294967295
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
PARAM_VALUE 1 trig 4096-ptr_max
BUF_SIZE 0 led_cdev s32min-(-1),1-s32max
BUF_SIZE 0 led_cdev s32min-(-1),1-s32max
BUF_SIZE 0 led_cdev->brightness_get (-1),8
BUF_SIZE 0 led_cdev->brightness_set (-1),8
BUF_SIZE 0 led_cdev->brightness_set_blocking (-1),8
BUF_SIZE 0 led_cdev->default_trigger s32min,(-10),(-1),1-s32max
BUF_SIZE 0 led_cdev->dev (-1),1616
BUF_SIZE 0 led_cdev->groups (-1),16
BUF_SIZE 0 led_cdev->hw_control_trigger (-1),7
BUF_SIZE 0 led_cdev->name s32min,(-10),(-1)-s32max
BUF_SIZE 1 trig (-1),152
BUF_SIZE 1 trig (-1),152
BUF_SIZE 1 trig->name s32min,(-10),(-1)-s32max
CAPPED_DATA 1 trig->trigger_type 1
DATA_SOURCE 0 led_cdev $0
DATA_SOURCE 1 trig $1
STR_LEN 0 led_cdev->default_trigger (-1),4-5,7,9-13,20,24
STR_LEN 0 led_cdev->hw_control_trigger (-1),6
STR_LEN 0 led_cdev->name (-1),5-6,8-23,28,31,36,47,63
STR_LEN 1 trig->name (-1),3,5-13,15,21
PARAM_COMPARE 0 led_cdev->trigger_type >= $1->trigger_type
BIT_INFO 0 led_cdev->flags 0x800000,0xffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 led_cdev->blink_timer.expires 0-u64max
HOST_DATA 0 led_cdev->set_brightness_work.data.counter s64min-s64max
USER_DATA 0 led_cdev->max_brightness 1-s32max
NO_OVERFLOW_SIMPLE 0 led_cdev->blink_delay_off
NO_OVERFLOW_SIMPLE 0 led_cdev->blink_delay_on
UNITS 0 led_cdev unit_byte
LOCK2 0 &led_cdev->trigger_lock
HALF_LOCKED2 global &leds_list_lock
HALF_LOCKED2 global &triggers_list_lock
HALF_LOCKED2 0 &led_cdev->led_access
TYPE_LOCK (struct led_classdev)->trigger_lock

drivers/leds/led-triggers.c led_trigger_remove() -> led_trigger_set()

Type Parameter Key Value
PARAM_VALUE 0 led_cdev 4096-ptr_max
PARAM_VALUE 0 led_cdev->dev->dma_io_tlb_mem->phys_limit 0-s64max
PARAM_VALUE 0 led_cdev->dev->kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 led_cdev->dev->kobj.sd->attr.open->nr_mmapped 0-4294967295
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.dep_map->name 0-255
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_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 led_cdev->trigger_lock.wait_lock.owner (-1)
PARAM_VALUE 0 led_cdev->trigger_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 trig 0
BUF_SIZE 0 led_cdev s32min-(-1),1-s32max
BUF_SIZE 0 led_cdev s32min-(-1),1-s32max
BUF_SIZE 0 led_cdev->brightness_get (-1),8
BUF_SIZE 0 led_cdev->brightness_set (-1),8
BUF_SIZE 0 led_cdev->brightness_set_blocking (-1),8
BUF_SIZE 0 led_cdev->default_trigger s32min,(-10),(-1),1-s32max
BUF_SIZE 0 led_cdev->dev (-1),1616
BUF_SIZE 0 led_cdev->groups (-1),16
BUF_SIZE 0 led_cdev->hw_control_trigger (-1),7
BUF_SIZE 0 led_cdev->name s32min,(-10),(-1)-s32max
CAPPED_DATA 0 &led_cdev->trigger_lock 1
DATA_SOURCE 0 led_cdev $0
STR_LEN 0 led_cdev->default_trigger (-1),4-5,7,9-13,20,24
STR_LEN 0 led_cdev->hw_control_trigger (-1),6
STR_LEN 0 led_cdev->name (-1),5-6,8-23,28,31,36,47,63
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 led_cdev->blink_timer.expires 0-u64max
HOST_DATA 0 led_cdev->set_brightness_work.data.counter s64min-s64max
USER_DATA 0 led_cdev->max_brightness 1-s32max
NO_OVERFLOW_SIMPLE 0 led_cdev->blink_delay_off
NO_OVERFLOW_SIMPLE 0 led_cdev->blink_delay_on
UNITS 0 led_cdev unit_byte
LOCK2 0 &led_cdev->led_access
LOCK2 0 &led_cdev->trigger_lock
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct led_classdev)->led_access
TYPE_LOCK (struct led_classdev)->trigger_lock

drivers/leds/led-triggers.c led_trigger_unregister() -> led_trigger_set()

Type Parameter Key Value
PARAM_VALUE 0 led_cdev 4096-ptr_max
PARAM_VALUE 0 led_cdev->trigger 4096-ptr_max
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
PARAM_VALUE 1 trig 0
CAPPED_DATA 0 led_cdev->trigger 1
CAPPED_DATA 0 &led_cdev->node 1
CAPPED_DATA 0 &led_cdev->trigger_lock 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &leds_list_lock
LOCK2 0 &led_cdev->trigger_lock
HALF_LOCKED2 global &xt_led_mutex
TYPE_LOCK (struct led_classdev)->trigger_lock

drivers/leds/led-triggers.c led_trigger_write() -> led_trigger_set()

Type Parameter Key Value
PARAM_VALUE 0 led_cdev 4096-ptr_max
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
PARAM_VALUE 0 led_cdev->trigger_lock.dep_map->name 0-255
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_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 led_cdev->trigger_lock.wait_lock.owner (-1)
PARAM_VALUE 0 led_cdev->trigger_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 trig 4096-ptr_max
BUF_SIZE 0 led_cdev s32min-(-2),1-s32max
BUF_SIZE 0 led_cdev s32min-(-2),1-s32max
CAPPED_DATA 0 &led_cdev->led_access 1
CAPPED_DATA 0 &led_cdev->trigger_lock 1
CAPPED_DATA 1 trig->trigger_type 1
CAPPED_DATA 1 &trig->next_trig 1
PARAM_COMPARE 0 led_cdev->trigger_type >= $1->trigger_type
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 led_cdev unit_byte
LOCK2 &of->mutex
LOCK2 global &triggers_list_lock
LOCK2 0 &led_cdev->led_access
LOCK2 0 &led_cdev->trigger_lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct led_classdev)->led_access
TYPE_LOCK (struct led_classdev)->trigger_lock

drivers/leds/led-class.c led_classdev_unregister() -> led_trigger_set()

Type Parameter Key Value
PARAM_VALUE 0 led_cdev 4096-ptr_max
PARAM_VALUE 0 led_cdev->dev 1-ptr_max
PARAM_VALUE 0 led_cdev->dev->dma_io_tlb_mem->debugfs 0-s64max
PARAM_VALUE 0 led_cdev->dev->kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 led_cdev->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 led_cdev->trigger 1-u64max
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
PARAM_VALUE 0 led_cdev->trigger_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 led_cdev->trigger_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 led_cdev->trigger_lock.wait_lock.owner (-1)
PARAM_VALUE 0 led_cdev->trigger_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 trig 0
BUF_SIZE 0 led_cdev (-1),768,1536
BUF_SIZE 0 led_cdev (-1),768,1536
CAPPED_DATA 0 &led_cdev->trigger_lock 1
DATA_SOURCE 0 led_cdev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 led_cdev->blink_delay_off
NO_OVERFLOW_SIMPLE 0 led_cdev->blink_delay_on
LOCK2 0 &led_cdev->trigger_lock
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &dev->driver_input_lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &glights->lights_lock
HALF_LOCKED2 &hdev->driver_input_lock
HALF_LOCKED2 &hid->driver_input_lock
HALF_LOCKED2 &wl->mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &iwlwifi_opmode_table_mtx
TYPE_LOCK (struct led_classdev)->trigger_lock