On Mon, 13 Jul 2020 00:38:21 +0200 Ondřej Jirman <megous@xxxxxxxxxx> wrote: > Hello, > > On Sun, Jul 12, 2020 at 09:11:11PM +0200, Pavel Machek wrote: > > Hi! > > > > [....] > > > } > > diff --git a/include/linux/leds.h b/include/linux/leds.h > > index 2451962d1ec5..cba52714558f 100644 > > --- a/include/linux/leds.h > > +++ b/include/linux/leds.h > > @@ -57,6 +57,10 @@ struct led_init_data { > > bool devname_mandatory; > > }; > > > > +struct led_hw_trigger_type { > > + int dummy; > > +} > > + > > struct led_classdev { > > const char *name; > > enum led_brightness brightness; > > @@ -150,6 +154,8 @@ struct led_classdev { > > > > /* Ensures consistent access to the LED Flash Class device */ > > struct mutex led_access; > > + > > + struct led_hw_trigger_type *trigger_type; > > }; > > > > /** > > @@ -345,6 +351,9 @@ struct led_trigger { > > int (*activate)(struct led_classdev *led_cdev); > > void (*deactivate)(struct led_classdev *led_cdev); > > > > + /* LED-private triggers have this set. */ > > + struct led_hw_trigger_type *trigger_type; > > + > > /* LEDs under control by this trigger (for simple triggers) */ > > rwlock_t leddev_list_lock; > > struct list_head led_cdevs; > > So after trying to use this, this seems to disallow the use of multiple HW > triggers per LED. That's fine by me, because using one HW sysfs configured > trigger per LED that use case is my proposal, but is it desireable in general? Why? If you register one LED and several triggers, all sharing the same trigger_type pointer, I think it should work. Marek