From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933672AbcALAwc (ORCPT ); Mon, 11 Jan 2016 19:52:32 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:30068 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933457AbcALAwa (ORCPT ); Mon, 11 Jan 2016 19:52:30 -0500 X-AuditID: cbfec7f4-f79026d00000418a-81-56944e4b2b53 Subject: Re: [PATCH -next] arm: Select GPIO_GENERIC_PLATFORM for CRAGG_6410 To: Guenter Roeck , Kukjin Kim References: <1452531649-14940-1-git-send-email-linux@roeck-us.net> Cc: Russell King , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Linus Walleij From: Krzysztof Kozlowski X-Enigmail-Draft-Status: N1110 Message-id: <56944E49.3040707@samsung.com> Date: Tue, 12 Jan 2016 09:52:25 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-version: 1.0 In-reply-to: <1452531649-14940-1-git-send-email-linux@roeck-us.net> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrILMWRmVeSWpSXmKPExsVy+t/xy7reflPCDDbdULV4/cLQov/xa2aL KX+WM1lsenyN1eLyrjlsFjPO72OyuH2Z1+LJwjNMDhweLc09bB6bVnWyedy5tofNY/OSeo+d 3xvYPfq2rGL0+LxJLoA9issmJTUnsyy1SN8ugStj1amD7AXLJCqOLKxsYFwo0sXIySEhYCLR 1jeTGcIWk7hwbz1bFyMXh5DAUkaJxntXmSCcp4wSr9/fZgGpEhbwlpi5fRkTiC0i4Cpxce4S NhBbSMBJYnvjbBaQBmaBfYwSB/ceBStiEzCW2LwcokhCQE6it3sS2CBeAS2J87PmMYLYLAKq EttefAM6g4NDVCBCYtGOTIgSQYkfk++BlXMKOEv8btgAVsIsoCdx/6IWSJhZQF5i85q3zBMY BWch6ZiFUDULSdUCRuZVjKKppckFxUnpuYZ6xYm5xaV56XrJ+bmbGCER8WUH4+JjVocYBTgY lXh4M9inhAmxJpYVV+YeYpTgYFYS4c1gBArxpiRWVqUW5ccXleakFh9ilOZgURLnnbvrfYiQ QHpiSWp2ampBahFMlomDU6qB0X57lMqWju8qszMidm/NXZrZeeEa25NSrQ52qYe++wU/HHRi /DfV9PvkGcd2LP/G06jP0WWVdrH9f7XjGu43/Be5VlTuF0kt2/jP84lC4/2CIytFri9tOWoo N2nhzefLgvdE64Rf2HIy7cNRC1etN8azTnhsiyqTm3NfpSyY93hBvPz95TvklJRYijMSDbWY i4oTAYw6b1yEAgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12.01.2016 02:00, Guenter Roeck wrote: > Since commit 0f4630f3720e ("gpio: generic: factor into gpio_chip struct"), > all users of struct bgpio_pdata depend on GPIO_GENERIC. > > This results in the following build error. > > arch/arm/mach-s3c64xx/mach-crag6410.c:270:3: warning: > excess elements in struct initializer > arch/arm/mach-s3c64xx/mach-crag6410.c:270:3: warning: > (near initialization for '(anonymous)') > arch/arm/mach-s3c64xx/mach-crag6410.c:271:2: error: > invalid use of undefined type 'struct bgpio_pdata' > > Fixes: 0f4630f3720e ("gpio: generic: factor into gpio_chip struct") > Cc: Linus Walleij > Signed-off-by: Guenter Roeck > --- > I don't know if this is the correct way to fix this problem. > If not, please consider this to be a bug report. > > arch/arm/mach-s3c64xx/Kconfig | 1 + > 1 file changed, 1 insertion(+) > Thanks for the report! I think that: 1. Other boards using the bgpio_pdata might be also affected: mach-clps711x/board-autcpu12.c mach-clps711x/board-p720t.c mach-imx/mach-mx21ads.c 2. The boards does not directly depend on the GPIO_GENERIC. If GPIO_GENERIC is not selected then it still might create a basic-mmio-gpio device. The device of course won't be in such case supported by any driver. Instead to solve the error the structure should be always visible so: -- >8 -- From: Krzysztof Kozlowski Date: Tue, 12 Jan 2016 09:46:06 +0900 Subject: [PATCH] gpio: generic: Fix build error of missing bgpio_pdata declaration Commit 0f4630f3720e ("gpio: generic: factor into gpio_chip struct") introduced struct bgpio_pdata along with users but made the declaration hidden by CONFIG_GPIO_GENERIC. This results in the following build error: arch/arm/mach-s3c64xx/mach-crag6410.c:270:3: warning: excess elements in struct initializer arch/arm/mach-s3c64xx/mach-crag6410.c:270:3: warning: (near initialization for '(anonymous)') arch/arm/mach-s3c64xx/mach-crag6410.c:271:2: error: invalid use of undefined type 'struct bgpio_pdata' Fixes: 0f4630f3720e ("gpio: generic: factor into gpio_chip struct") Reported-by: Guenter Roeck Signed-off-by: Krzysztof Kozlowski --- include/linux/gpio/driver.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h index e2d05fd0e6e3..7b9054366e7a 100644 --- a/include/linux/gpio/driver.h +++ b/include/linux/gpio/driver.h @@ -220,14 +220,13 @@ static inline void *gpiochip_get_data(struct gpio_chip *chip) struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc); -#if IS_ENABLED(CONFIG_GPIO_GENERIC) - struct bgpio_pdata { const char *label; int base; int ngpio; }; +#if IS_ENABLED(CONFIG_GPIO_GENERIC) int bgpio_init(struct gpio_chip *gc, struct device *dev, unsigned long sz, void __iomem *dat, void __iomem *set, void __iomem *clr, void __iomem *dirout, void __iomem *dirin, -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: k.kozlowski@samsung.com (Krzysztof Kozlowski) Date: Tue, 12 Jan 2016 09:52:25 +0900 Subject: [PATCH -next] arm: Select GPIO_GENERIC_PLATFORM for CRAGG_6410 In-Reply-To: <1452531649-14940-1-git-send-email-linux@roeck-us.net> References: <1452531649-14940-1-git-send-email-linux@roeck-us.net> Message-ID: <56944E49.3040707@samsung.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 12.01.2016 02:00, Guenter Roeck wrote: > Since commit 0f4630f3720e ("gpio: generic: factor into gpio_chip struct"), > all users of struct bgpio_pdata depend on GPIO_GENERIC. > > This results in the following build error. > > arch/arm/mach-s3c64xx/mach-crag6410.c:270:3: warning: > excess elements in struct initializer > arch/arm/mach-s3c64xx/mach-crag6410.c:270:3: warning: > (near initialization for '(anonymous)') > arch/arm/mach-s3c64xx/mach-crag6410.c:271:2: error: > invalid use of undefined type 'struct bgpio_pdata' > > Fixes: 0f4630f3720e ("gpio: generic: factor into gpio_chip struct") > Cc: Linus Walleij > Signed-off-by: Guenter Roeck > --- > I don't know if this is the correct way to fix this problem. > If not, please consider this to be a bug report. > > arch/arm/mach-s3c64xx/Kconfig | 1 + > 1 file changed, 1 insertion(+) > Thanks for the report! I think that: 1. Other boards using the bgpio_pdata might be also affected: mach-clps711x/board-autcpu12.c mach-clps711x/board-p720t.c mach-imx/mach-mx21ads.c 2. The boards does not directly depend on the GPIO_GENERIC. If GPIO_GENERIC is not selected then it still might create a basic-mmio-gpio device. The device of course won't be in such case supported by any driver. Instead to solve the error the structure should be always visible so: -- >8 -- From: Krzysztof Kozlowski Date: Tue, 12 Jan 2016 09:46:06 +0900 Subject: [PATCH] gpio: generic: Fix build error of missing bgpio_pdata declaration Commit 0f4630f3720e ("gpio: generic: factor into gpio_chip struct") introduced struct bgpio_pdata along with users but made the declaration hidden by CONFIG_GPIO_GENERIC. This results in the following build error: arch/arm/mach-s3c64xx/mach-crag6410.c:270:3: warning: excess elements in struct initializer arch/arm/mach-s3c64xx/mach-crag6410.c:270:3: warning: (near initialization for '(anonymous)') arch/arm/mach-s3c64xx/mach-crag6410.c:271:2: error: invalid use of undefined type 'struct bgpio_pdata' Fixes: 0f4630f3720e ("gpio: generic: factor into gpio_chip struct") Reported-by: Guenter Roeck Signed-off-by: Krzysztof Kozlowski --- include/linux/gpio/driver.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h index e2d05fd0e6e3..7b9054366e7a 100644 --- a/include/linux/gpio/driver.h +++ b/include/linux/gpio/driver.h @@ -220,14 +220,13 @@ static inline void *gpiochip_get_data(struct gpio_chip *chip) struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc); -#if IS_ENABLED(CONFIG_GPIO_GENERIC) - struct bgpio_pdata { const char *label; int base; int ngpio; }; +#if IS_ENABLED(CONFIG_GPIO_GENERIC) int bgpio_init(struct gpio_chip *gc, struct device *dev, unsigned long sz, void __iomem *dat, void __iomem *set, void __iomem *clr, void __iomem *dirout, void __iomem *dirin, -- 1.9.1