Messages in this thread | | | Subject | Re: [PATCH v3 3/5] pwm-backlight: add support for PWM delays proprieties. | From | Daniel Thompson <> | Date | Thu, 20 Jul 2017 11:37:17 +0100 |
| |
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.
| |