[PATCH 0/7] gpio: dwapb: Refactor GPIO resources initialization

From: Serge Semin
Date: Wed Jul 22 2020 - 21:39:40 EST


This series is about the DW APB GPIO device initialization procedure
cleaning up. First of all it has been discovered that having a
vendor-specific "snps,nr-gpios" property isn't only redundant but also
might be dangerous (see the commit log for details). Instead we suggest to
use the generic "ngpios" property to define a number of GPIOs each DW APB
GPIO controller port supports. Secondly seeing a tendency of the other
GPIO drivers getting converted to using the GPIO-lib-based IRQ-chip
interface this series provides a patch, which replaces the DW APB GPIO
driver Generic IRQ-chip implementation with the GPIO-lib IRQ-chip one.
Finally the DW APB GPIO device probe procedure is simplified by
converting the code to be using the device managed resources for the
reference clocks initialization, reset control assertion/de-assertion
and GPIO-chip registration.

Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx>
Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>,
Cc: Alexey Malahov <Alexey.Malahov@xxxxxxxxxxxxxxxxxxxx>
Cc: Pavel Parkhomenko <Pavel.Parkhomenko@xxxxxxxxxxxxxxxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx

Serge Semin (7):
dt-bindings: gpio: dwapb: Add ngpios property support
gpio: dwapb: Add ngpios DT-property support
gpio: dwapb: Move MFD-specific IRQ handler
gpio: dwapb: Convert driver to using the GPIO-lib-based IRQ-chip
gpio: dwapb: Get reset control by means of resource managed interface
gpio: dwapb: Get clocks by means of resource managed interface
gpio: dwapb: Use resource managed GPIO-chip add data method

.../bindings/gpio/snps,dw-apb-gpio.yaml | 6 +
drivers/gpio/Kconfig | 2 +-
drivers/gpio/gpio-dwapb.c | 324 +++++++++---------
3 files changed, 161 insertions(+), 171 deletions(-)

--
2.26.2