Re: [v2 3/4] platform: (TS-5500) add LED support

From: Mark Brown
Date: Mon Aug 29 2011 - 18:17:13 EST


On Fri, Aug 26, 2011 at 07:40:26PM -0400, Vivien Didelot wrote:

> +static void ts5500_led_work(struct work_struct *work)
> +{
> + struct ts5500_led *led = container_of(work, struct ts5500_led, work);
> + u8 val = led->new_brightness ? led->bit : 0;
> +
> + outb(val, led->ioaddr);
> +}

Can you not do outb() from atomic context? The reason lots of LED
drivers update the hardware in a workqueue is that they communicate with
the hardware over buses that can't be used in atomic context like I2C or
SPI but if that's not an issue then the workqueue is not required and
the code can be simplified.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/