[PATCH 004/182] gpio: generic: factor into gpio_chip struct

Lee Jones lee.jones at linaro.org
Thu Dec 10 00:06:32 PST 2015


On Wed, 09 Dec 2015, Linus Walleij wrote:

> The separate struct bgpio_chip has been a pain to handle, both
> by being confusingly similar in name to struct gpio_chip and
> for being contained inside a struct so that struct gpio_chip
> is contained in a struct contained in a struct, making several
> steps of dereferencing necessary.
> 
> Make things simpler: include the fields directly into
> <linux/gpio/driver.h>, #ifdef:ed for CONFIG_GENERIC_GPIO, and
> get rid of the <linux/basic_mmio_gpio.h> altogether. Prefix
> some of the member variables with bgpio_* and add proper
> kerneldoc while we're at it.
> 
> Modify all users to handle the change and use a struct
> gpio_chip directly. And while we're at it: replace all
> container_of() dereferencing by gpiochip_get_data() and
> registering the gpio_chip with gpiochip_add_data().
> 
> Cc: arm at kernel.org
> Cc: Lee Jones <lee.jones at linaro.org>
> Cc: Alexander Shiyan <shc_work at mail.ru>
> Cc: Shawn Guo <shawnguo at kernel.org>
> Cc: Sascha Hauer <kernel at pengutronix.de>
> Cc: Tony Lindgren <tony at atomide.com>
> Cc: Kukjin Kim <kgene at kernel.org>
> Cc: Krzysztof Kozlowski <k.kozlowski at samsung.com>
> Cc: Alexandre Courbot <gnurou at gmail.com>
> Cc: Gregory Fong <gregory.0xf0 at gmail.com>
> Cc: Brian Norris <computersforpeace at gmail.com>
> Cc: Florian Fainelli <f.fainelli at gmail.com>
> Cc: Liviu Dudau <liviu.dudau at arm.com>
> Cc: Sudeep Holla <sudeep.holla at arm.com>
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
> Cc: Nicolas Pitre <nicolas.pitre at linaro.org>
> Cc: Olof Johansson <olof at lixom.net>
> Cc: Vladimir Zapolskiy <vladimir_zapolskiy at mentor.com>
> Cc: Rabin Vincent <rabin at rab.in>
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-omap at vger.kernel.org
> Cc: linux-samsung-soc at vger.kernel.org
> Cc: bcm-kernel-feedback-list at broadcom.com
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
> ARM SoC folks and Lee: it would be great if you could
> ACK the few lines hitting arch/arm/* and drivers/mfd/* in this
> so I can take it through the GPIO tree.
> ---
>  arch/arm/mach-clps711x/board-autcpu12.c |   2 +-
>  arch/arm/mach-clps711x/board-p720t.c    |   2 +-
>  arch/arm/mach-imx/mach-mx21ads.c        |   2 +-
>  arch/arm/mach-omap1/board-ams-delta.c   |   2 +-
>  arch/arm/mach-s3c64xx/mach-crag6410.c   |   2 +-
>  drivers/gpio/gpio-74xx-mmio.c           |  37 ++--
>  drivers/gpio/gpio-brcmstb.c             |  80 ++++-----
>  drivers/gpio/gpio-clps711x.c            |  28 +--
>  drivers/gpio/gpio-dwapb.c               |  92 +++++-----
>  drivers/gpio/gpio-ep93xx.c              |  25 +--
>  drivers/gpio/gpio-etraxfs.c             |  49 +++---
>  drivers/gpio/gpio-ge.c                  |  24 +--
>  drivers/gpio/gpio-generic.c             | 292 +++++++++++++++-----------------
>  drivers/gpio/gpio-grgpio.c              |  73 ++++----
>  drivers/gpio/gpio-moxart.c              |  29 ++--
>  drivers/gpio/gpio-mxc.c                 |  27 ++-
>  drivers/gpio/gpio-mxs.c                 |  33 ++--
>  drivers/gpio/gpio-sodaville.c           |  13 +-
>  drivers/gpio/gpio-xgene-sb.c            |  40 ++---
>  drivers/mfd/vexpress-sysreg.c           |   8 +-

Acked-by: Lee Jones <lee.jones at linaro.org>

>  include/linux/basic_mmio_gpio.h         |  80 ---------
>  include/linux/gpio/driver.h             |  54 ++++++
>  22 files changed, 442 insertions(+), 552 deletions(-)
>  delete mode 100644 include/linux/basic_mmio_gpio.h

[...]

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog



More information about the linux-arm-kernel mailing list