Message ID | 20180822204111.9581-1-linus.walleij@linaro.org |
---|---|
Headers | show |
Series | Reform EP93xx GPIO | expand |
Hello Linus, On Wed, 22 Aug 2018 22:41:00 +0200 Linus Walleij <linus.walleij@linaro.org> wrote: > 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. I've tested only the basic GPIO functionality (as my applications do not use IRQs as of now), but the whole series looks good to me: Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> > 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(-) -- Alexander Sverdlin.