On 08/04/2014 at 16:49:52 +0800, Shawn Guo wrote : > 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. > Right, I missed that one. I would say it is still worth doing that change anyway as using test_bit(PWMF_ENABLED, &pwm->flags) is unnecessary because clk_enable()/clk_disable() maintain a usage count. -- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-leds" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html