[PATCH v4 0/3] Add TZ1090 pinctrl/gpio drivers
From: James Hogan
Date: Tue Jun 25 2013 - 10:28:28 EST
This patchset adds GPIO drivers for the TZ1090, for both the general
GPIOs, and the low power (PDC) GPIOs.
LinusW: Please consider taking the first 2 patches for v3.11. Patch 3
converts gpio-tz1090 (from patch 1) to use generic irqchip, but it
depends on code currently in tip/irq/core (for generic irqchip to work
with linear irq domains). Does it just make sense to apply that patch
later (i.e. for v3.12 or something)?
Changes in v4:
- fix typos in DT bindings compatible properties
- reference Documentation/devicetree/bindings/gpio/gpio.txt in
gpio-ranges description in DT bindings
- fix gpio-ranges examples in DT bindings (it must now have 3 cells)
- gpio-tz1090: use of_property_read_u32 instead of of_get_property
- gpio-tz1090: convert to use generic irqchip callbacks
- gpio-tz1090: convert to use irq_setup_alt_chip() instead of
__irq_set_handler_locked()
Changes in v3:
- separated from irq-imgpdc and removed arch/metag changes to allow
these patches to go upstream separately via the pinctrl[/gpio] trees
(particularly the pinctrl drivers depend on the new pinconf DT
bindings).
- some s/unsigned/unsigned int/.
- some s/unsigned int/bool/ and use of BIT().
- pinctrl-tz1090*: switch to generic pinconfig DT bindings and
pinconf_generic_dump_config.
- pinctrl-tz1090*: use tz1090, prefix for pins and function in DT
bindings.
- pinctrl-tz1090*: make internal functions static.
- pinctrl-tz1090*: move initcall from postcore to arch.
- gpio-tz1090*: refer to <dt-bindings/gpio/gpio.h> and
<dt-bindings/interrupt-controller/irq.h> flags in bindings.
- gpio-tz1090*: move initcall from postcore to subsys.
- gpio-tz1090: add REG_ prefix to some constants for consistency.
- gpio-tz1090: add comment to explain tz1090_gpio_irq_next_edge
cunningness.
Changes in v2:
There've been plenty of changes since v1 (thanks for all the feedback!)
so I think it's time for v2. I believe the only feedback not yet
addressed is changing irq-imgpdc driver to use generic irqchip.
- rebased on v3.10-rc2
- removed arch/metag/soc/ directory
- removed arch/metag/include/asm/soc-tz1090/gpio.h
- irq-imgpdc: use cached versions of irq_en and irq_route registers
- irq-imgpdc: switch to using raw_spinlock
- irq-imgpdc: (not had time to switch to generic irqchip yet)
- add drive strength to generic pinconf debugfs output (patch 4)
- add BIAS_BUS_HOLD generic pinconf (patch 5)
- pinctrl-tz1090: switched to generic pinconf (a previous patch adds
the BIAS_BUS_HOLD generic pinconf)
- pinctrl-tz1090: changed device tree bindings to more closely match
generic pinconf (separate tristate, pull-up, pull-down, bus-hold
flags instead of pull=<X>, drive-strength measured in mA)
- pinctrl-tz1090: removed "select" pinconf. Instead pins in a pin group
have their own individual pin groups and can be individually muxed.
Different pins in same pin mux group muxed to different functions is
disallowed. Pin switched to peripheral mode when mux enabled.
- pinctrl-tz1090: make use of BIT() from linux/bitops.h
- pinctrl-tz1090: add a whole bunch of comments
- gpio-tz1090: remove references to Linux flags in dt bindings
- gpio-tz1090: make use of BIT() from linux/bitops.h
- gpio-tz1090: make register accessors inline to match pinctrl
- gpio-tz1090: update gpio-ranges to use 3 cells after recent ABI
breakage
- pinctrl-tz1090-pdc: switched to generic pinconf (a previous patch
adds the BIAS_BUS_HOLD generic pinconf)
- pinctrl-tz1090-pdc: changed device tree bindings to more closely
match generic pinconf (separate tristate, pull-up, pull-down,
bus-hold flags instead of pull=<X>, drive-strength measured in mA)
- pinctrl-tz1090-pdc: make use of BIT() from linux/bitops.h
- pinctrl-tz1090-pdc: add a whole bunch of comments
- gpio-tz1090-pdc: remove references to Linux flags in dt bindings
- gpio-tz1090-pdc: make use of BIT() from linux/bitops.h
- gpio-tz1090-pdc: make register accessors inline to match pinctrl
- gpio-tz1090-pdc: update gpio-ranges to use 3 cells after recent ABI
breakage
Cc: Grant Likely <grant.likely@xxxxxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Rob Herring <rob.herring@xxxxxxxxxxx>
Cc: Rob Landley <rob@xxxxxxxxxxx>
Cc: devicetree-discuss@xxxxxxxxxxxxxxxx
Cc: linux-doc@xxxxxxxxxxxxxxx
James Hogan (3):
gpio-tz1090: add TZ1090 gpio driver
gpio-tz1090-pdc: add TZ1090 PDC gpio driver
gpio-tz1090: convert to use generic irqchip
.../devicetree/bindings/gpio/gpio-tz1090-pdc.txt | 45 ++
.../devicetree/bindings/gpio/gpio-tz1090.txt | 88 +++
drivers/gpio/Kconfig | 15 +
drivers/gpio/Makefile | 2 +
drivers/gpio/gpio-tz1090-pdc.c | 243 +++++++++
drivers/gpio/gpio-tz1090.c | 606 +++++++++++++++++++++
6 files changed, 999 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-tz1090-pdc.txt
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-tz1090.txt
create mode 100644 drivers/gpio/gpio-tz1090-pdc.c
create mode 100644 drivers/gpio/gpio-tz1090.c
--
1.8.1.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/