On Monday, July 24, 2017 11:14 AM, Daniel Thompson wrote: > On 21/07/17 11:48, Enric Balletbo i Serra wrote: > > Before this patch the enable signal was set before the PWM signal and > > vice-versa on power off. This sequence is wrong, at least, it is on > > the different panels datasheets that I checked, so I inverted the > sequence > > to follow the specs. > > > > For reference the following panels have the mentioned sequence: > > - N133HSE-EA1 (Innolux) > > - N116BGE (Innolux) > > - N156BGE-L21 (Innolux) > > - B101EAN0 (Auo) > > - B101AW03 (Auo) > > - LTN101NT05 (Samsung) > > - CLAA101WA01A (Chunghwa) > > > > Signed-off-by: Enric Balletbo i Serra <enric.balletbo at collabora.com> > > Acked-by: Daniel Thompson <daniel.thompson at linaro.org> Acked-by: Jingoo Han <jingoohan1 at gmail.com> Best regards, Jingoo Han > > > --- > > Changes since v3: > > - List the part numbers for the panel checked (Daniel Thompson) > > Changes since v2: > > - Add this as a separate patch (Thierry Reding) > > Changes since v1: > > - None > > > > drivers/video/backlight/pwm_bl.c | 9 +++++---- > > 1 file changed, 5 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/video/backlight/pwm_bl.c > b/drivers/video/backlight/pwm_bl.c > > index 002f1ce..909a686 100644 > > --- a/drivers/video/backlight/pwm_bl.c > > +++ b/drivers/video/backlight/pwm_bl.c > > @@ -54,10 +54,11 @@ static void pwm_backlight_power_on(struct > pwm_bl_data *pb, int brightness) > > if (err < 0) > > dev_err(pb->dev, "failed to enable power supply\n"); > > > > + pwm_enable(pb->pwm); > > + > > if (pb->enable_gpio) > > gpiod_set_value_cansleep(pb->enable_gpio, 1); > > > > - pwm_enable(pb->pwm); > > pb->enabled = true; > > } > > > > @@ -66,12 +67,12 @@ static void pwm_backlight_power_off(struct > pwm_bl_data *pb) > > if (!pb->enabled) > > return; > > > > - pwm_config(pb->pwm, 0, pb->period); > > - pwm_disable(pb->pwm); > > - > > if (pb->enable_gpio) > > gpiod_set_value_cansleep(pb->enable_gpio, 0); > > > > + pwm_config(pb->pwm, 0, pb->period); > > + pwm_disable(pb->pwm); > > + > > regulator_disable(pb->power_supply); > > pb->enabled = false; > > } > >