Prev: [patch 0/7] sched: change nohz idle load balancing logic to push model
Next: [patch 2/7] softirq: add init_remote_softirq_csd()
From: Richard Purdie on 26 May 2010 08:10 On Mon, 2010-05-17 at 21:00 +0100, Mark Brown wrote: > On Mon, May 17, 2010 at 09:02:42PM +0200, Uwe Kleine-K?nig wrote: > > On Mon, May 17, 2010 at 06:40:22PM +0200, Philippe R?tornaz wrote: > > > > +static void mc13783_led_set(struct led_classdev *led_cdev, > > > + enum led_brightness value) > > > +{ > > > + struct mc13783_led *led; > > > + > > > + led = container_of(led_cdev, struct mc13783_led, cdev); > > > + led->new_brightness = value; > > > + schedule_work(&led->work); > > > +} > > > I wonder why you don't set the registers directly here, but use a work > > struct instead. > > The LED API allows clients to configure the LEDs from interrupt context > so for devices on blocking buses (like this) the driver needs to defer > the actual implementation of the change. > > It'd be nice to add helpers for this to the LED core, there's quite a > few drivers implementing this idiom now - a flag that does the deferring > of the set() for example. Agreed, or a wrapper around the core which deferred implementations could just use. I'm open to patches :) Cheers, Richard -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Mark Brown on 26 May 2010 12:00
On Wed, May 26, 2010 at 01:01:08PM +0100, Richard Purdie wrote: > On Mon, 2010-05-17 at 21:00 +0100, Mark Brown wrote: > > It'd be nice to add helpers for this to the LED core, there's quite a > > few drivers implementing this idiom now - a flag that does the deferring > > of the set() for example. > Agreed, or a wrapper around the core which deferred implementations > could just use. I'm open to patches :) In my copious free time, perhaps. I was kind of hoping someone actively working on a driver could be inspired to do the work :) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |