[PATCH v3 3/5] pwm-backlight: add support for PWM delays proprieties.

Daniel Thompson daniel.thompson at linaro.org
Thu Jul 20 03:37:17 PDT 2017


On 20/07/17 09:06, Pavel Machek wrote:
> Hi!
> 
>>> --- a/drivers/video/backlight/pwm_bl.c
>>> +++ b/drivers/video/backlight/pwm_bl.c
>>> @@ -10,6 +10,7 @@
>>>    * published by the Free Software Foundation.
>>>    */
>>> +#include <linux/delay.h>
>>>   #include <linux/gpio/consumer.h>
>>>   #include <linux/gpio.h>
>>>   #include <linux/module.h>
>>> @@ -35,6 +36,7 @@ struct pwm_bl_data {
>>>   	struct gpio_desc	*enable_gpio;
>>>   	unsigned int		scale;
>>>   	bool			legacy;
>>> +	unsigned int		pwm_delay[2];
>>
>> Two named members would be better here (eliminating the "magic" 0
>> and 1).
> 
> My thought, too.
> 
>>> @@ -56,6 +58,9 @@ static void pwm_backlight_power_on(struct pwm_bl_data *pb, int brightness)
>>>   	pwm_enable(pb->pwm);
>>> +	if (pb->pwm_delay[0])
>>> +		usleep_range(pb->pwm_delay[0], pb->pwm_delay[0] * 2);
> 
> Plus I'd just do the delay unconditionally :-).

... does this still apply if this code is switched to msleep()?

msleep() has no wait avoidance[1] and if lots of drivers are reckless 
about sleeping for 10ms it soon starts to show up in the boot time 
(especially optimized ones).


Daniel.


[1] As it happens I can't see that many early bail out paths in
     usleep_range() either.



More information about the Linux-rockchip mailing list