[GIT PULL] GPIO bulk changes for v3.15
From: Linus Walleij
Date: Thu Apr 03 2014 - 03:22:43 EST
Hi Linus,
this is the bulk of GPIO changes for the v3.15 merge window.
Note:
- This tree has pulled in an immutable branch with some irqchip
infrastructure from Thomas Gleixner. This stuff is already in
your tree coming in from tip. However as this pull request is
based on v3.14-rc6 you will still see the commits in this pull
request, but it should be all right. (Else beat me up as usual.)
I tested to pull it in on top of your master and it
LooksGoodToMe(TM)
- Some changes hit the pin control tree, but have been funneled
through this one tree to avoid fuzz and conflicts.
A pretty big chunk of changes this time, but it has all been on rotation
in linux-next and had some testing. Of course there will be some
amount of fixes on top...
The rest of the story is in the signed tag.
Please pull it in!
Yours,
Linus Walleij
The following changes since commit fa389e220254c69ffae0d403eac4146171062d08:
Linux 3.14-rc6 (2014-03-09 19:41:57 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
tags/gpio-v3.15-1
for you to fetch changes up to b22978fc33dec72e5f8e17f90eb63ea9137aafd5:
gpio: rcar: Add helper variable dev = &pdev->dev (2014-03-28 21:54:41 +0100)
----------------------------------------------------------------
This is the bulk of GPIO changes for v3.15:
- Merged in a branch of irqchip changes from Thomas
Gleixner: we need to have new callbacks from the
irqchip to determine if the GPIO line will be eligible
for IRQs, and this callback must be able to say "no".
After some thinking I got the branch from tglx and
have switched all current users over to use this.
- Based on tglx patches, we have added some generic
irqchip helpers in the gpiolib core. These will
help centralize code when GPIO drivers have simple
chained/cascaded IRQs. Drivers will still define
their irqchip vtables, but the gpiolib core will
take care of irqdomain set-up, mapping from local
offsets to Linux irqs, and reserve resources by
marking the GPIO lines for IRQs.
- Initially the PL061 and Nomadik GPIO/pin control
drivers have been switched over to use the new
gpiochip-to-irqchip infrastructure with more
drivers expected for the next kernel cycle. The
factoring of just two drivers still makes it worth
it so it is already a win.
- A new driver for the Synopsys DesignWare APB GPIO
block.
- Modify the DaVinci GPIO driver to be reusable also
for the new TI Keystone architecture.
- A new driver for the LSI ZEVIO SoCs.
- Delete the obsolte tnetv107x driver.
- Some incremental work on GPIO descriptors: have
gpiod_direction_output() use a logical level,
respecting assertion polarity through ACTIVE_LOW
flags, adding gpiod_direction_output_raw() for the
case where you want to set that very value. Add
gpiochip_get_desc() to fetch a GPIO descriptor from
a specific offset on a certain chip inside driver
code.
- Switch ACPI GPIO code over to using
gpiochip_get_desc() and get rid of gpio_to_desc().
- The ACPI GPIO event handling code has been reworked
after encountering an actual real life implementation.
- Support for ACPI GPIO operation regions.
- Generic GPIO chips can now be assigned labels/names
from platform data.
- We now clamp values returned from GPIO drivers to
the boolean [0,1] range.
- Some improved documentation on how to use the polarity
flag was added.
- The a large slew of incremental driver updates and
non-critical fixes. Some targeted for stable.
----------------------------------------------------------------
Aaron Sierra (4):
gpio: pca953x: Add devices to Kconfig help
gpio: pca953x: Add NXP PCA9698
gpio: pca953x: Add Exar XRA1202
gpio: pca953x: Fix gpio_base may not default to -1
Alan Tull (2):
fix build error in gpio-dwapb patch
gpio: gpio-dwapb size-cells should be two
Alexander Holler (1):
gpio: davinci: fix gpio selection for OF
Alexander Shiyan (6):
gpio: davinci: Use signed type for 'irq' variable
gpio: rc5t583: Remove redundant check
gpio: generic: Use platform_device_id->driver_data field for driver flags
gpio: Driver for SYSCON-based GPIOs
gpio: twl4030: Remove redundant assignment
gpio: samsung: Add missing "break" statement
Alexandre Courbot (3):
gpiolib: add gpiochip_get_desc() driver function
gpiolib: ACPI: remove gpio_to_desc() usage
gpio: clamp returned values to the boolean range
Arnd Bergmann (1):
gpio: remove obsolete tnetv107x driver
Axel Lin (4):
gpio: pl061: Select IRQ_DOMAIN rather than GENERIC_IRQ_CHIP
gpio: clps711x: Add missing .owner to struct gpio_chip
gpio: moxart: Avoid forward declaration
gpio: moxart: Actually set output state in moxart_gpio_direction_output()
Bartlomiej Zolnierkiewicz (1):
gpio: iop: fix devm_ioremap_resource() return value checking
Daniel Krueger (1):
pch_gpio: set value before enabling output direction
David Cohen (1):
gpio: intel-mid: comments cleanup
Fabian Vogt (1):
gpio: New driver for LSI ZEVIO SoCs
Fabio Estevam (1):
gpio: gpio-pl061: Use %pa to print 'resource_size_t'
Gary Servin (1):
gpio: mcp23s08: trivial: fixed coding style issues
Geert Uytterhoeven (2):
gpio: Spelling s/than/that/
gpio: rcar: Add helper variable dev = &pdev->dev
Grygorii Strashko (1):
gpio: davinci: reuse for keystone soc
James Hogan (1):
gpio-tz1090: Replace commas with semi-colons
Jamie Iles (1):
gpio: add a driver for the Synopsys DesignWare APB GPIO block
Jean Delvare (2):
gpio-ts5500: Add dependency
gpio: cs5535: Simplify dependencies
Jean-Francois Dagenais (3):
gpio: adp5588: get value from data out when dir is out
gpio: adp5588 - use "unsigned" for the setup and teardown callbacks
gpio: adp5588 - add support for gpio names
Jingoo Han (2):
gpio: pl061: Use devm_ioremap_resource()
gpio: omap: Use devm_ioremap_resource()
Krzysztof Kozlowski (2):
gpio: max732x: Fix I2C dummy device resource leak on probe failure
gpio: max732x: Fix possible NULL pointer dereference on
i2c_new_dummy error
Lad, Prabhakar (1):
devicetree: bindings: gpio-davinic: fix documentation
Linus Walleij (19):
gpio: document how to make combined GPIO+irqchip drivers
gpio: pl061: proper error messages
gpio: pl061: lock IRQs when starting them
gpio: pl061: refactor type setting
gpio: pl061: remove confusing naming
gpio: generic: clamp retured value to [0,1]
gpio: zevio: depend on ARM and OF_GPIO
gpio: remove misleading documentation
Merge tag 'v3.14-rc6' into devel
Merge branch 'irq/for-gpio' of git://git.kernel.org/.../tip/tip into devel
gpio: switch drivers to use new callback
pinctrl: coh901: move irq line locking to resource callbacks
pinctrl: nomadik: rename secondary to latent
pinctrl: nomadik: factor in platform data container
gpio: add IRQ chip helpers in gpiolib
gpio: pl061: convert driver to use gpiolib irqchip
pinctrl: nomadik: convert driver to use gpiolib irqchip
pinctrl: coh901: convert driver to use gpiolib irqchip
gpio: unmap gpio irqs properly
Marek Vasut (1):
gpio: mxs: Allow for recursive enable_irq_wake() call
Markus Mayer (4):
gpio: bcm281xx: Fix parameter name for GPIO_CONTROL macro
gpio: bcm281xx: Centralize register locking
gpio: bcm281xx: Use "unsigned gpio" consistently throughout the code
MAINTAINERS: Add Broadcom GPIO maintainer
Mathias Nyman (1):
gpio-lynxpoint: force gpio_get() to return "1" and "0" only
Mika Westerberg (5):
gpiolib: Allow GPIO chips to request their own GPIOs
gpio / ACPI: Allocate ACPI specific data directly in acpi_gpiochip_add()
gpio / ACPI: Rename acpi_gpio_evt_pin to acpi_gpio_event
gpio / ACPI: Rework ACPI GPIO event handling
gpio / ACPI: Add support for ACPI GPIO operation regions
Pawel Moll (1):
gpio: generic: Add label to platform data
Philipp Zabel (1):
gpio: make gpiod_direction_output take a logical value
Rahul Bedarkar (1):
GPIO: gpiolib: correct description of gpiod_direction_output
Sachin Kamat (1):
gpio: gpiolib-of: Use PTR_ERR_OR_ZERO
Sebastian Andrzej Siewior (1):
gpio: dwapb: correct gpio-cells in binding document
Stephen Warren (1):
gpio: document polarity flag best practices
Thomas Gleixner (1):
genirq: Provide irq_request/release_resources chip callbacks
Thomas Petazzoni (1):
gpio: mvebu: use chained_irq_{enter,exit} for GIC compatibility
Vincent Donnefort (3):
gpio: ich: Add blink capability option
gpio: ich: Add support for multiple register addresses
gpio: ich: Add output levels cache support
.../bindings/gpio/cirrus,clps711x-mctrl-gpio.txt | 17 +
.../devicetree/bindings/gpio/gpio-davinci.txt | 25 +-
.../devicetree/bindings/gpio/gpio-zevio.txt | 16 +
Documentation/devicetree/bindings/gpio/gpio.txt | 60 ++-
.../devicetree/bindings/gpio/snps-dwapb-gpio.txt | 60 +++
Documentation/gpio/consumer.txt | 1 +
Documentation/gpio/driver.txt | 35 ++
MAINTAINERS | 7 +
drivers/gpio/Kconfig | 40 +-
drivers/gpio/Makefile | 4 +-
drivers/gpio/gpio-adnp.c | 15 +-
drivers/gpio/gpio-adp5588.c | 16 +-
drivers/gpio/gpio-bcm-kona.c | 109 +++--
drivers/gpio/gpio-clps711x.c | 1 +
drivers/gpio/gpio-davinci.c | 75 +++-
drivers/gpio/gpio-dwapb.c | 438 +++++++++++++++++++
drivers/gpio/gpio-em.c | 14 +-
drivers/gpio/gpio-generic.c | 20 +-
drivers/gpio/gpio-ich.c | 70 ++-
drivers/gpio/gpio-intel-mid.c | 22 +-
drivers/gpio/gpio-iop.c | 2 +
drivers/gpio/gpio-lynxpoint.c | 16 +-
drivers/gpio/gpio-max732x.c | 9 +
drivers/gpio/gpio-mcp23s08.c | 36 +-
drivers/gpio/gpio-moxart.c | 40 +-
drivers/gpio/gpio-mvebu.c | 7 +
drivers/gpio/gpio-mxs.c | 3 +-
drivers/gpio/gpio-omap.c | 20 +-
drivers/gpio/gpio-pca953x.c | 10 +-
drivers/gpio/gpio-pch.c | 8 +-
drivers/gpio/gpio-pl061.c | 108 ++---
drivers/gpio/gpio-rc5t583.c | 2 +-
drivers/gpio/gpio-rcar.c | 32 +-
drivers/gpio/gpio-samsung.c | 1 +
drivers/gpio/gpio-syscon.c | 191 +++++++++
drivers/gpio/gpio-tnetv107x.c | 206 ---------
drivers/gpio/gpio-twl4030.c | 6 +-
drivers/gpio/gpio-tz1090.c | 28 +-
drivers/gpio/gpio-zevio.c | 220 ++++++++++
drivers/gpio/gpiolib-acpi.c | 474 +++++++++++++++------
drivers/gpio/gpiolib-of.c | 3 +-
drivers/gpio/gpiolib.c | 417 +++++++++++++++---
drivers/gpio/gpiolib.h | 3 +
drivers/pinctrl/Kconfig | 4 +
drivers/pinctrl/pinctrl-adi2.c | 1 +
drivers/pinctrl/pinctrl-baytrail.c | 14 +-
drivers/pinctrl/pinctrl-coh901.c | 186 +++-----
drivers/pinctrl/pinctrl-msm.c | 11 +-
drivers/pinctrl/pinctrl-nomadik.c | 159 +++----
drivers/pinctrl/sirf/pinctrl-sirf.c | 14 +-
include/asm-generic/gpio.h | 2 +-
include/linux/basic_mmio_gpio.h | 1 +
include/linux/gpio/consumer.h | 15 +-
include/linux/gpio/driver.h | 48 +++
include/linux/i2c/adp5588.h | 4 +-
include/linux/irq.h | 6 +
include/linux/platform_data/gpio-davinci.h | 4 -
kernel/irq/manage.c | 28 +-
58 files changed, 2423 insertions(+), 961 deletions(-)
create mode 100644
Documentation/devicetree/bindings/gpio/cirrus,clps711x-mctrl-gpio.txt
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-zevio.txt
create mode 100644 Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt
create mode 100644 drivers/gpio/gpio-dwapb.c
create mode 100644 drivers/gpio/gpio-syscon.c
delete mode 100644 drivers/gpio/gpio-tnetv107x.c
create mode 100644 drivers/gpio/gpio-zevio.c
--
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/