From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932396AbdJZMuU (ORCPT ); Thu, 26 Oct 2017 08:50:20 -0400 Received: from smtprelay09.ispgateway.de ([134.119.228.112]:46708 "EHLO smtprelay09.ispgateway.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932246AbdJZMt5 (ORCPT ); Thu, 26 Oct 2017 08:49:57 -0400 From: =?UTF-8?q?Lothar=20Wa=C3=9Fmann?= To: Bartlomiej Zolnierkiewicz , Daniel Thompson , Jacek Anaszewski , Jingoo Han , Lee Jones , Mark Rutland , Pavel Machek , Richard Purdie , Rob Herring , Thierry Reding , devicetree@vger.kernel.org, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org, linux-pwm@vger.kernel.org Cc: =?UTF-8?q?Lothar=20Wa=C3=9Fmann?= Subject: [PATCH 1/2] backlight: pwm_bl: Enable PWM before switching regulator on Date: Thu, 26 Oct 2017 14:49:45 +0200 Message-Id: <1509022186-19636-3-git-send-email-LW@KARO-electronics.de> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1509022186-19636-1-git-send-email-LW@KARO-electronics.de> References: <1509022186-19636-1-git-send-email-LW@KARO-electronics.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Df-Sender: bHdAa2Fyby1lbGVjdHJvbmljcy5kZQ== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When the PWM is re-enabled after being switched off, the backlight may flicker due to the backlight power being switched on while the PWM is still unconfigured. This is especially true if the PWM output is active low (assuming that the PWM output is low when the PWM is not enabled). Configure the PWM before switching backlight power on to prevent this. Signed-off-by: Lothar Waßmann --- drivers/video/backlight/pwm_bl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c index 002f1ce..921f322 100644 --- a/drivers/video/backlight/pwm_bl.c +++ b/drivers/video/backlight/pwm_bl.c @@ -50,6 +50,8 @@ static void pwm_backlight_power_on(struct pwm_bl_data *pb, int brightness) if (pb->enabled) return; + pwm_enable(pb->pwm); + err = regulator_enable(pb->power_supply); if (err < 0) dev_err(pb->dev, "failed to enable power supply\n"); @@ -57,7 +59,6 @@ static void pwm_backlight_power_on(struct pwm_bl_data *pb, int brightness) if (pb->enable_gpio) gpiod_set_value_cansleep(pb->enable_gpio, 1); - pwm_enable(pb->pwm); pb->enabled = true; } -- 2.1.4