Subject: MX28: leds/pwm: Using pwm driven led as heartbeat leads to kernel warning

From: [email-masked] (Shawn Guo)
Date: Tue, 8 Apr 2014 16:49:52 +0800

On Tue, Apr 08, 2014 at 10:41:50AM +0200, Alexandre Belloni wrote:
> On 08/04/2014 at 16:18:49 +0800, Shawn Guo wrote :
> > On Tue, Apr 08, 2014 at 09:59:16AM +0200, Alexandre Belloni wrote:
> > > The driver using the PWM should test the flag, have a look at:
> > > http://lxr.free-electrons.com/source/drivers/leds/leds-pwm.c#L183
> > 
> > Ah, right, that' how the flag works.  Thanks, Alexandre.  I send a patch
> > to set the flag for pwm-mxs driver shortly.
> > 
> 
> Actually, I had a closer look and I believe using clk_prepare_enable()
> in .config is wrong. Let me prepare a patch.

Yes, we can split clk_prepare_enable() into clk_prepare() and
clk_enable(), call the former in .probe() and only the later in .config
hook.

But it only fixes the problem partially.  If you look at Stefan's report
closely, you can see the warning actually comes from the clk_get_rate()
call which holds a mutex too.

Shawn