Messages in this thread |  | | Date | Wed, 15 Jul 2020 19:07:27 +0200 | From | Marek Behún <> | Subject | Re: [PATCH RFC] leds: Add support for per-LED device triggers |
| |
On Sat, 11 Jul 2020 12:04:09 +0200 Pavel Machek <pavel@ucw.cz> wrote:
> What about this? Should address Marek's concerns about resource use... > > Best regards, > Pavel >
...
> @@ -280,7 +291,8 @@ int led_trigger_register(struct led_trigger *trig) > down_write(&triggers_list_lock); > /* Make sure the trigger's name isn't already in use */ > list_for_each_entry(_trig, &trigger_list, next_trig) { > - if (!strcmp(_trig->name, trig->name)) { > + if (!strcmp(_trig->name, trig->name) && > + (!_trig->private_led || _trig->private_led == > trig->private_led)) { up_write(&triggers_list_lock); > return -EEXIST; > }
Hi Pavel,
Your proposal does not add private_led member to struct led_trigger. I think you forgot to change this from Ondrej's proposal. This should instead check: the names are same and both trigger have the same type (either none or same). In that case return -EEXIST.
Also a couple of lines below there is code for enabling this trigger for LEDs that have it set as default trigger. There should also be a check whether the trigger is relevant.
In the linux/leds.h header the trigger_type in led_classdev should be inside the CONFIG_LEDS_TRIGGERS block.
I will send new version with an example usage for a Marvell PHY driver.
Marek
|  |