On Mon, 13 Jul 2020 00:38:21 +0200
Ondřej Jirman <meg...@megous.com> 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

Reply via email to