From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933398AbcHaISx (ORCPT ); Wed, 31 Aug 2016 04:18:53 -0400 Received: from down.free-electrons.com ([37.187.137.238]:53905 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932853AbcHaISs (ORCPT ); Wed, 31 Aug 2016 04:18:48 -0400 From: Maxime Ripard To: Linus Walleij , Chen-Yu Tsai , Maxime Ripard , Jingoo Han , Lee Jones , Tomi Valkeinen , Daniel Vetter , David Airlie , Thierry Reding Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, Mylene Josserand , Thomas Petazzoni , Alexander Kaplan Subject: [PATCH 1/6] backlight: pwm_bl: Handle gpio that can sleep Date: Wed, 31 Aug 2016 10:18:12 +0200 Message-Id: <20160831081817.5191-2-maxime.ripard@free-electrons.com> X-Mailer: git-send-email 2.9.2 In-Reply-To: <20160831081817.5191-1-maxime.ripard@free-electrons.com> References: <20160831081817.5191-1-maxime.ripard@free-electrons.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Some backlight GPIOs might be connected to some i2c based expanders whose access might sleep. Since it's not in any critical path, use the cansleep variant of the GPIO API. Signed-off-by: Maxime Ripard --- drivers/video/backlight/pwm_bl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c index b2b366bb0f97..12614006211e 100644 --- a/drivers/video/backlight/pwm_bl.c +++ b/drivers/video/backlight/pwm_bl.c @@ -55,7 +55,7 @@ static void pwm_backlight_power_on(struct pwm_bl_data *pb, int brightness) dev_err(pb->dev, "failed to enable power supply\n"); if (pb->enable_gpio) - gpiod_set_value(pb->enable_gpio, 1); + gpiod_set_value_cansleep(pb->enable_gpio, 1); pwm_enable(pb->pwm); pb->enabled = true; @@ -70,7 +70,7 @@ static void pwm_backlight_power_off(struct pwm_bl_data *pb) pwm_disable(pb->pwm); if (pb->enable_gpio) - gpiod_set_value(pb->enable_gpio, 0); + gpiod_set_value_cansleep(pb->enable_gpio, 0); regulator_disable(pb->power_supply); pb->enabled = false; -- 2.9.2