Re: [PATCH RFC 2/2] leds: trigger: add a trigger for UARTs

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

 



On Sun 2018-11-11 18:00:54, Uwe Kleine-König wrote:
> On Sun, Nov 11, 2018 at 12:30:39PM +0100, Pavel Machek wrote:
> > Hi!
> > 
> > > This is only a proof of concept driver that makes an LED blink on UART
> > > activity. Feedback about the concept is very welcome.
> > 
> > > +static void ledtrig_uart_halt(struct ledtrig_uart_data *trigger_data)
> > > +{
> > > +	cancel_delayed_work_sync(&trigger_data->dwork);
> > > +}
> > > +
> > > +static void ledtrig_uart_restart(struct ledtrig_uart_data *trigger_data)
> > > +{
> > > +	pr_info("%s:%d: devname = %s\n", __func__, __LINE__, trigger_data->devname);
> > > +	if (!trigger_data->devname)
> > > +		return;
> > > +
> > > +	schedule_delayed_work(&trigger_data->dwork, 0);
> > > +}
> > 
> > You should not need to do delayed work by hand.
> 
> What is the obvious alternative I missed then? This is taken from the
> network trigger which then might benefit from your suggestion, too.

Can you take a look at disk and CPU triggers?

/**
 * led_set_brightness - set LED brightness
  * @led_cdev: the LED to set
   * @brightness: the brightness to set it to
    *
     * Set an LED's brightness, and, if necessary, cancel the
      * software blink timer that implements blinking when the
       * hardware doesn't. This function is guaranteed not to sleep.
        */
	
set_brigthness guarantees not to sleep, so there really should not be
need to do workqueues by hand.

Thanks,

									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux