From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751998AbcKHNnQ (ORCPT ); Tue, 8 Nov 2016 08:43:16 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:51621 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751157AbcKHNnO (ORCPT ); Tue, 8 Nov 2016 08:43:14 -0500 From: Arnd Bergmann To: Linus Walleij Cc: Arnd Bergmann , Alexandre Courbot , Mika Westerberg , "Rafael J. Wysocki" , Dmitry Torokhov , Wei Yongjun , Christophe Ricard , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] ACPI / gpio: avoid warning for gpio hogging code Date: Tue, 8 Nov 2016 14:40:06 +0100 Message-Id: <20161108134035.1764500-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:2dDVVOP6288DixKle8dmYEYXvYWU7uPCiSh7uGtMMTuXNOmdqXl oAlA8uSTTJoNgJk2KHkXFOoldsqGwEosYzJsBTieXdKzymq2WEG3A+iXUy24TiPAS4XDTGx xkXu50sXK3x1nNXXeeFm17eA6mWV8bc5XT+T125DUm5+SbW0eFtrvUou14imiByFUOcewbo VIDrvtsBpZWnemdMssDDg== X-UI-Out-Filterresults: notjunk:1;V01:K0:PT0CmBQxBJQ=:7XGvWy84UMWtnu9fASKTbM 3U13i3xbm/aMHTMcVMjLyqJUIkGoslo0jhAPaEXLEnlywj3AAx6P+yWzpcdd1rjPjpGI5tFzl xINbm/BzTgjzrY1LGEV4iVBKbjdKhIFPKhJJFv9pkRP6wSmHDv8oVSqiYh1Ws5RLJoEgEwJ2d IV6axoTXYJJ66jyjVPX6zJnx5Azj91HfMsYG3f3FBr7Y/cq/e3PO5QZ3Bg/xfOWRLrABeCbK6 j+wsJyWtpZT8OYPC5gMKW13c7CZHvUf8tqQ3pzv2QxiwL6rOFq6xu6uef9XMajqQyXzYcnewb ti5ahds3+rAJ9xYfq/G+2nFELDvAHkTaiQN6jTwsBz+DU2nNGR8m9VG7/SMWbia4cglRHnLua 8qMClqLSpp4UpKazBaVutzxz3Ga3b6QsH6M1f4vsUP3VXhnQsG+mTI0m0R9H7Ts2Ujh6OeGvh G+eFoBnN2oz7C4nJqUubk7UY2aUgJzAiXIf0dQ7Ya3lgc7cc169Eo2f46d+zF7HuA6ihmoBZu jaJd5yIwMduDmezL+LFIKoNWYXGeiFyiVOdOcEjthttmvukwlMwUIcl6mPlgu7kj+Q3zR8n7d RMKO2CWLmR7JPmHYsM77mwe5fBsVqvialeoigjouvQlw1pDVE/ly1MnYdXOGFKYzR2ssN5UNI KpdumIHpsSazaHoPAn8NObTzBGBGCLPzBxD6LSVIYJ21fI0j519btboklzqAy98G7E2CLN7LU IfsO+05Hh2QgakEP Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The newly added acpi_gpiochip_scan_gpios function produces a few harmless warnings: drivers/gpio/gpiolib-acpi.c: In function ‘acpi_gpiochip_add’: drivers/gpio/gpiolib-acpi.c:925:7: error: ‘dflags’ may be used uninitialized in this function [-Werror=maybe-uninitialized] drivers/gpio/gpiolib-acpi.c:925:9: error: ‘lflags’ may be used uninitialized in this function [-Werror=maybe-uninitialized] The problem is that he compiler cannot know that a negative return value from fwnode_property_read_u32_array() or acpi_gpiochip_pin_to_gpio_offset() implies that the IS_ERR(gpio_desc) is true, as the value could in theory be below -MAX_ERRNO. The function already initializes its output values to zero, and moving that intialization a little higher up ensures that we can never have uninitialized data in the caller. Fixes: c80f1ba75df2 ("ACPI / gpio: Add hogging support") Signed-off-by: Arnd Bergmann --- drivers/gpio/gpiolib-acpi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c index 265e0fad518e..a3faefa44f68 100644 --- a/drivers/gpio/gpiolib-acpi.c +++ b/drivers/gpio/gpiolib-acpi.c @@ -869,6 +869,10 @@ static struct gpio_desc *acpi_gpiochip_parse_own_gpio( u32 gpios[2]; int ret; + *lflags = 0; + *dflags = 0; + *name = NULL; + ret = fwnode_property_read_u32_array(fwnode, "gpios", gpios, ARRAY_SIZE(gpios)); if (ret < 0) @@ -882,10 +886,6 @@ static struct gpio_desc *acpi_gpiochip_parse_own_gpio( if (IS_ERR(desc)) return desc; - *lflags = 0; - *dflags = 0; - *name = NULL; - if (gpios[1]) *lflags |= GPIO_ACTIVE_LOW; -- 2.9.0