[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <320569847.2756382.1345729013971.JavaMail.root@advansee.com>
Date: Thu, 23 Aug 2012 15:36:54 +0200 (CEST)
From: Benoît Thébaudeau
<benoit.thebaudeau@...ansee.com>
To: Bryan Wu <bryan.wu@...onical.com>,
Richard Purdie <rpurdie@...ys.net>, linux-leds@...r.kernel.org,
Thierry Reding <thierry.reding@...onic-design.de>,
linux-kernel@...r.kernel.org,
Sascha Hauer <s.hauer@...gutronix.de>,
linux-arm-kernel@...ts.infradead.org
Cc: Benoît Thébaudeau
<benoit.thebaudeau@...ansee.com>
Subject: [BUG] leds-pwm: First setting of brightness does nothing
Hi all,
I have found a bug using leds-pwm with the i.MX PWM driver. The first time a
non-0 brightness is set through sysfs, this has no effect. It works fine from
the 2nd time.
The cause of this bug is that leds-pwm.c:led_pwm_set() calls pwm_config() before
pwm_enable(), while in the i.MX PWM driver pwm_enable() enables the PWM IP
clock, so that a call to pwm_config() has no effect before the first call to
pwm_enable().
Several other PWM drivers in drivers/pwm/ work in the same way. pwm-beeper.c and
pwm_bl.c also call pwm_config() before pwm_enable(). The PWM documentation does
not say if the wrong doers are these PWM users or the i.MX-like PWM drivers.
So what should be fixed? Fixing these PWM users would be quite easy since it's a
simple swap of the pwm_config() and pwm_enable() calls. This should not produce
any glitch since the duty cycle is always set to 0 by these PWM users before
calling pwm_disable().
Best regards,
Benoît
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists