mbox series

[v6,0/3] gpio: generic regmap implementation

Message ID 20200528145845.31436-1-michael@walle.cc
Headers show
Series gpio: generic regmap implementation | expand

Message

Michael Walle May 28, 2020, 2:58 p.m. UTC
This series is a split off of the sl28cpld series:
https://lore.kernel.org/linux-gpio/20200423174543.17161-1-michael@walle.cc/

I wasn't sure if I should also include the gpiochip_irqchip_add_domain()
patch here. So feel free to skip it. OTOH if you use interrupts with
gpio-regmap it is quite handy.

For an actual user see the patch 11/16 ("gpio: add support for the sl28cpld
GPIO controller") of the series above.

Changes since v5:
 - add names property
 - addressed Alex' remarks:
   - moved header from i/l/gpio-regmap.h to i/l/gpio/regmap.h
   - fixed kernel doc
   - described rules how to use the register base offsets
   - missing forward declarations
   - style changes
   - return -EOPNOTSUPP, in code path we should never reach
 - added check to have input and output base regs if there is a direction
   register
 - added MAINTAINERS patch

Changes since v4:
 - add comment about can_sleep
 - fix config->label typo
 - add config->names property

Changes since v3:
 - set reg_dat_base, that was actually broken
 - fix typo
 - fix swapped reg_in_dir/reg_out_dir documentation
 - use "goto err" in error path in gpio_regmap_register()

Michael Walle (3):
  gpiolib: Introduce gpiochip_irqchip_add_domain()
  gpio: add a reusable generic gpio_chip using regmap
  MAINTAINERS: Add gpio regmap section

 MAINTAINERS                 |   6 +
 drivers/gpio/Kconfig        |   4 +
 drivers/gpio/Makefile       |   1 +
 drivers/gpio/gpio-regmap.c  | 349 ++++++++++++++++++++++++++++++++++++
 drivers/gpio/gpiolib.c      |  20 +++
 include/linux/gpio/driver.h |   3 +
 include/linux/gpio/regmap.h |  86 +++++++++
 7 files changed, 469 insertions(+)
 create mode 100644 drivers/gpio/gpio-regmap.c
 create mode 100644 include/linux/gpio/regmap.h