[PATCH 10/13] leds: backlight trigger: Maintain global list of led backlight triggers
Thomas Zimmermann
tzimmermann at suse.de
Thu Feb 13 14:23:03 UTC 2025
Hi
Am 11.02.25 um 15:00 schrieb Lee Jones:
> On Thu, 06 Feb 2025, Thomas Zimmermann wrote:
>
>> Maintain a list of led backlight triggers. This will replace the
>> fbdev notifiers that all backlight triggers currently subscribe to.
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
>> ---
>> drivers/leds/trigger/ledtrig-backlight.c | 13 +++++++++++++
>> 1 file changed, 13 insertions(+)
>>
>> diff --git a/drivers/leds/trigger/ledtrig-backlight.c b/drivers/leds/trigger/ledtrig-backlight.c
>> index 487577d22cfc..c1c1aa60cf07 100644
>> --- a/drivers/leds/trigger/ledtrig-backlight.c
>> +++ b/drivers/leds/trigger/ledtrig-backlight.c
>> @@ -23,8 +23,13 @@ struct bl_trig_notifier {
>> int old_status;
>> struct notifier_block notifier;
>> unsigned invert;
>> +
>> + struct list_head entry;
> You don't appear to be doing anything with the list here.
>
> It would be better if you introduced the list when it's first utilised.
That's patch 12. I'll merge them.
Best regards
Thomas
>
>> };
>>
>> +static struct list_head ledtrig_backlight_list;
>> +static struct mutex ledtrig_backlight_list_mutex;
>> +
>> static int fb_notifier_callback(struct notifier_block *p,
>> unsigned long event, void *data)
>> {
>> @@ -118,6 +123,10 @@ static int bl_trig_activate(struct led_classdev *led)
>> if (ret)
>> dev_err(led->dev, "unable to register backlight trigger\n");
>>
>> + mutex_lock(&ledtrig_backlight_list_mutex);
>> + list_add(&n->entry, &ledtrig_backlight_list);
>> + mutex_unlock(&ledtrig_backlight_list_mutex);
>> +
>> return 0;
>> }
>>
>> @@ -125,6 +134,10 @@ static void bl_trig_deactivate(struct led_classdev *led)
>> {
>> struct bl_trig_notifier *n = led_get_trigger_data(led);
>>
>> + mutex_lock(&ledtrig_backlight_list_mutex);
>> + list_del(&n->entry);
>> + mutex_unlock(&ledtrig_backlight_list_mutex);
>> +
>> fb_unregister_client(&n->notifier);
>> kfree(n);
>> }
>> --
>> 2.48.1
>>
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
More information about the dri-devel
mailing list