From patchwork Tue Mar 19 18:07:30 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Guinot X-Patchwork-Id: 2303701 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork2.kernel.org (Postfix) with ESMTP id C24E9DFB79 for ; Tue, 19 Mar 2013 18:10:16 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1UI0we-0005Yz-II; Tue, 19 Mar 2013 18:07:32 +0000 Received: from vm1.sequanux.org ([188.165.36.56]) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1UI0vn-0005Ha-DP for linux-arm-kernel@lists.infradead.org; Tue, 19 Mar 2013 18:06:40 +0000 Received: from localhost (unknown [37.161.170.107]) by vm1.sequanux.org (Postfix) with ESMTPSA id AE5741081C6; Tue, 19 Mar 2013 19:06:36 +0100 (CET) From: Simon Guinot To: Bryan Wu , Richard Purdie , Jason Cooper , Andrew Lunn Subject: [PATCH 2/4] leds: leds-ns2: fix devm_gpio_request_one() flags parameter Date: Tue, 19 Mar 2013 19:07:30 +0100 Message-Id: <1363716452-18870-3-git-send-email-simon.guinot@sequanux.org> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1363716452-18870-1-git-send-email-simon.guinot@sequanux.org> References: <1363716452-18870-1-git-send-email-simon.guinot@sequanux.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130319_140639_580030_78A18F95 X-CRM114-Status: GOOD ( 10.30 ) X-Spam-Score: -4.4 (----) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-4.4 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.5 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: linux-arm-kernel@lists.infradead.org, linux-leds@vger.kernel.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org This patch fixes a regression introduced by commit 31c3dc7488 ("leds: leds-ns2: use gpio_request_one"). gpio_request_one is called with a wrong flag value: The initial GPIO state is used to configure the direction (bit 0) instead of the value (bit 1). As a result, if the initial GPIO state is non null then the GPIO will be configured as input. This patch fixes the issue by using the dedicated macros GPIOF_OUT_INIT_{LOW,HIGH} to configure the initial GPIO value. Signed-off-by: Simon Guinot --- drivers/leds/leds-ns2.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/leds/leds-ns2.c b/drivers/leds/leds-ns2.c index 81af8e9..70137b1 100644 --- a/drivers/leds/leds-ns2.c +++ b/drivers/leds/leds-ns2.c @@ -193,7 +193,8 @@ create_ns2_led(struct platform_device *pdev, struct ns2_led_data *led_dat, enum ns2_led_modes mode; ret = devm_gpio_request_one(&pdev->dev, template->cmd, - GPIOF_DIR_OUT | gpio_get_value(template->cmd), + gpio_get_value(template->cmd) ? + GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW, template->name); if (ret) { dev_err(&pdev->dev, "%s: failed to setup command GPIO\n", @@ -202,7 +203,8 @@ create_ns2_led(struct platform_device *pdev, struct ns2_led_data *led_dat, } ret = devm_gpio_request_one(&pdev->dev, template->slow, - GPIOF_DIR_OUT | gpio_get_value(template->slow), + gpio_get_value(template->slow) ? + GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW, template->name); if (ret) { dev_err(&pdev->dev, "%s: failed to setup slow GPIO\n",