On Mon, Jul 13, 2020 at 01:15:44AM +0200, Marek Behun wrote: > 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. Ah, you're right. :) thanks, o. > Marek