All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] Reform EP93xx GPIO
@ 2018-08-22 20:41 ` Linus Walleij
  0 siblings, 0 replies; 34+ messages in thread
From: Linus Walleij @ 2018-08-22 20:41 UTC (permalink / raw)
  To: H Hartley Sweeten, Alexander Sverdlin
  Cc: linux-gpio, Linus Walleij, linux-arm-kernel

This series is a spin-off of a patch from Arnd that started to
decouple the EP93xx GPIO driver from the code inside
arch/arm.

The driver needed some modernization and in the end I managed
to convert two of the banks to use GPIOLIB_IRQCHIP and use
a proper irqdomain.

The F bank presents a special problem that I need to think
about, because since there is one IRQ per GPIO line it is
essentially a hierarchical irqdomain.

This was tested on the SIM.ONE where I rigged lines on some
of the GPIOs on a board connector. It's crude but gives
interrupts and behave as expected before and after these
changes, the main visible change being that the hardware
IRQ line on each port appears in /proc/interrupts.

It would be great if some EP93xx users could test this
(especially something using bank F) so I can get it into
shape and merge as a baseline for further refactorings.

Arnd Bergmann (1):
  ARM/gpio: ep93xx: build standalone

Linus Walleij (10):
  gpio: ep93xx: Cut down variable names
  gpio: ep93xx: Switch to SPDX license tag
  gpio: ep93xx: Pass around struct gpio_chip
  gpio: ep93xx: Rename has_debounce to has_irq
  gpio: ep93xx: Properly call the chained IRQ handler
  gpio: ep93xx: Do not pingpong irq numbers
  gpio: ep93xx: Use the hwirq and port
  gpio: ep93xx: Use for_each_set_bit() in IRQ handler
  gpio: ep93xx: Cut gpio_to_irq() usage
  gpio: ep93xx: Switch A and B to use GPIOLIB_IRQCHIP

 arch/arm/mach-ep93xx/core.c |   9 ++
 drivers/gpio/Kconfig        |   1 +
 drivers/gpio/gpio-ep93xx.c  | 297 +++++++++++++++++++++---------------
 3 files changed, 181 insertions(+), 126 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2018-08-29  7:03 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-22 20:41 [PATCH 00/11] Reform EP93xx GPIO Linus Walleij
2018-08-22 20:41 ` Linus Walleij
2018-08-22 20:41 ` [PATCH 01/11] ARM/gpio: ep93xx: build standalone Linus Walleij
2018-08-22 20:41   ` Linus Walleij
2018-08-23  7:36   ` Arnd Bergmann
2018-08-23  7:36     ` Arnd Bergmann
2018-08-29  7:03     ` Linus Walleij
2018-08-29  7:03       ` Linus Walleij
2018-08-24 15:51   ` Olof Johansson
2018-08-24 15:51     ` Olof Johansson
2018-08-22 20:41 ` [PATCH 02/11] gpio: ep93xx: Cut down variable names Linus Walleij
2018-08-22 20:41   ` Linus Walleij
2018-08-29  5:56   ` Alexander Sverdlin
2018-08-29  5:56     ` Alexander Sverdlin
2018-08-22 20:41 ` [PATCH 03/11] gpio: ep93xx: Switch to SPDX license tag Linus Walleij
2018-08-22 20:41   ` Linus Walleij
2018-08-22 20:41 ` [PATCH 04/11] gpio: ep93xx: Pass around struct gpio_chip Linus Walleij
2018-08-22 20:41   ` Linus Walleij
2018-08-22 20:41 ` [PATCH 05/11] gpio: ep93xx: Rename has_debounce to has_irq Linus Walleij
2018-08-22 20:41   ` Linus Walleij
2018-08-22 20:41 ` [PATCH 06/11] gpio: ep93xx: Properly call the chained IRQ handler Linus Walleij
2018-08-22 20:41   ` Linus Walleij
2018-08-22 20:41 ` [PATCH 07/11] gpio: ep93xx: Do not pingpong irq numbers Linus Walleij
2018-08-22 20:41   ` Linus Walleij
2018-08-22 20:41 ` [PATCH 08/11] gpio: ep93xx: Use the hwirq and port Linus Walleij
2018-08-22 20:41   ` Linus Walleij
2018-08-22 20:41 ` [PATCH 09/11] gpio: ep93xx: Use for_each_set_bit() in IRQ handler Linus Walleij
2018-08-22 20:41   ` Linus Walleij
2018-08-22 20:41 ` [PATCH 10/11] gpio: ep93xx: Cut gpio_to_irq() usage Linus Walleij
2018-08-22 20:41   ` Linus Walleij
2018-08-22 20:41 ` [PATCH 11/11] gpio: ep93xx: Switch A and B to use GPIOLIB_IRQCHIP Linus Walleij
2018-08-22 20:41   ` Linus Walleij
2018-08-29  6:18 ` [PATCH 00/11] Reform EP93xx GPIO Alexander Sverdlin
2018-08-29  6:18   ` Alexander Sverdlin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.