Lines Matching +full:led +full:- +full:backlight
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Backlight emulation LED trigger
20 struct led_classdev *led; member
33 struct led_classdev *led = n->led; in ledtrig_backlight_notify_blank() local
35 if (new_status == n->old_status) in ledtrig_backlight_notify_blank()
38 if ((n->old_status == UNBLANK) ^ n->invert) { in ledtrig_backlight_notify_blank()
39 n->brightness = led->brightness; in ledtrig_backlight_notify_blank()
40 led_set_brightness_nosleep(led, LED_OFF); in ledtrig_backlight_notify_blank()
42 led_set_brightness_nosleep(led, n->brightness); in ledtrig_backlight_notify_blank()
45 n->old_status = new_status; in ledtrig_backlight_notify_blank()
65 return sprintf(buf, "%u\n", n->invert); in bl_trig_invert_show()
71 struct led_classdev *led = led_trigger_get_led(dev); in bl_trig_invert_store() local
81 return -EINVAL; in bl_trig_invert_store()
83 n->invert = invert; in bl_trig_invert_store()
85 /* After inverting, we need to update the LED. */ in bl_trig_invert_store()
86 if ((n->old_status == BLANK) ^ n->invert) in bl_trig_invert_store()
87 led_set_brightness_nosleep(led, LED_OFF); in bl_trig_invert_store()
89 led_set_brightness_nosleep(led, n->brightness); in bl_trig_invert_store()
101 static int bl_trig_activate(struct led_classdev *led) in bl_trig_activate() argument
107 return -ENOMEM; in bl_trig_activate()
108 led_set_trigger_data(led, n); in bl_trig_activate()
110 n->led = led; in bl_trig_activate()
111 n->brightness = led->brightness; in bl_trig_activate()
112 n->old_status = UNBLANK; in bl_trig_activate()
115 list_add(&n->entry, &ledtrig_backlight_list); in bl_trig_activate()
120 static void bl_trig_deactivate(struct led_classdev *led) in bl_trig_deactivate() argument
122 struct bl_trig_notifier *n = led_get_trigger_data(led); in bl_trig_deactivate()
125 list_del(&n->entry); in bl_trig_deactivate()
131 .name = "backlight",
139 MODULE_DESCRIPTION("Backlight emulation LED trigger");