On Thu 2017-07-20 11:37:17, Daniel Thompson wrote: > 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()? No. > 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). ... > [1] As it happens I can't see that many early bail out paths in > usleep_range() either. Well, in usleep_range(1,2) should be fast enough operation, and usleep_range(0,0) should be similar to usleep_range(1,2) at worst :-). Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-rockchip/attachments/20170808/5d38e2ac/attachment.sig>