Re: [PATCH RFC] leds: Add support for per-LED device triggers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux