[GIT PULL] GPIO bulk changed for the v4.16 kernel cycle
From: Linus Walleij
Date: Tue Jan 30 2018 - 09:54:35 EST
Hi Linus,
here is the GPIO big pull request for the v4.16 cycle. It is pretty
calm this time around I think. I even got time to get to things like
starting to clean up header includes.
The details are in the signed tag as usual.
Please pull it in!
Yours,
Linus Walleij
The following changes since commit 4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323:
Linux 4.15-rc1 (2017-11-26 16:01:47 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
tags/gpio-v4.16-1
for you to fetch changes up to d58f2bf261fdf3a3fc916c9999a686f959dcf6b6:
gpio: Timestamp events in hardirq handler (2018-01-23 14:43:57 +0100)
----------------------------------------------------------------
The is the bulk of GPIO changes for the v4.16 kernel cycle.
Core changes:
- Disallow open drain and open source flags to be set
simultaneously. This doesn't make electrical sense, and would
the hardware actually respond to this setting, the result
would be short circuit.
- ACPI GPIO has a new core infrastructure for handling quirks.
The quirks are there to deal with broken ACPI tables centrally
instead of pushing the work to individual drivers. In the world
of BIOS writers, the ACPI tables are perfect. Until they find a
mistake in it. When such a mistake is found, we can patch it
with a quirk. It should never happen, the problem is that it
happens. So we accomodate for it.
- Several documentation updates.
- Revert the patch setting up initial direction state from
reading the device. This was causing bad things for drivers
that can't read status on all its pins. It is only affecting
debugfs information quality.
- Label descriptors with the device name if no explicit label is
passed in.
- Pave the ground for transitioning SPI and regulators to use
GPIO descriptors by implementing some quirks in the device tree
GPIO parsing code.
New drivers:
- New driver for the Access PCIe IDIO 24 family.
Other:
- Major refactorings and improvements to the GPIO mockup driver
used for test and verification.
- Moved the AXP209 driver over to pin control since it gained a
pin control back-end. These patches will appear (with the same
hashes) in the pin control pull request as well.
- Convert the onewire GPIO driver w1-gpio to use descriptors.
This is merged here since the W1 maintainers send very few
pull requests and he ACKed it.
- Start to clean up driver headers using <linux/gpio.h> to just
use <linux/gpio/driver.h> as appropriate.
----------------------------------------------------------------
Adam Borowski (1):
gpio: it87: fix mojibake in module metadata
Andrew Jeffery (2):
gpio: gpiolib: Generalise state persistence beyond sleep
gpio: aspeed: Add support for reset tolerance
Andy Shevchenko (7):
gpio: max732x: Remove duplicate NULL check
gpiolib: acpi: Assign polarity when call acpi_populate_gpio_lookup()
gpiolib: acpi: Don't contaminate return parameter in case of error
gpiolib: acpi: Move adev member to struct acpi_gpio_info
gpiolib: acpi: Consolidate debug output in acpi_gpio_update_gpiod_flags()
gpiolib: acpi: Add quirks field to struct acpi_gpio_mapping
gpiolib: acpi: Introduce NO_RESTRICTION quirk
Arnd Bergmann (1):
gpio: winbond: fix ISA_BUS_API dependency
Arvind Yadav (1):
gpio: ftgpio010: Fix platform_get_irq's error checking
Bartosz Golaszewski (23):
gpiolib: don't allow OPEN_DRAIN & OPEN_SOURCE flags simultaneously
gpio: mockup: add missing prefixes
gpio: mockup: parse the module params in init, not probe
gpio: mockup: verify the number of GPIO chips requested
gpio: mockup: rework device probing
gpio: mockup: implement gpio_mockup_err()
gpio: mockup: remove a stray tab
gpio: mockup: merge gpio_mockup_add() into gpio_mockup_probe()
gpio: mockup: pass the named_lines parameter over platform_data
gpio: mockup: extend the debugfs layout
gpio: mockup: change the type of value field in line state struct
gpio: mockup: group code by logic
gpio: mockup: fix debugfs handling
gpio: mockup: verify that ngpio > 0
gpio: mockup: tweak line breaks
gpio: mockup: implement gpio_mockup_set_multiple()
gpio: mockup: modify the return value check for devm_irq_sim_init()
gpio: mockup: rename gpio_mockup_params_nr to gpio_mockup_num_ranges
gpio: mockup: add helpers for accessing the gpio ranges
MAINTAINERS: add myself as reviewer for gpio-mockup
gpio: mockup: fix a return value check
gpiolib: constify label in gpio_device
gpiolib: use kstrdup_const() for gpio_device label
Christophe Leroy (4):
gpio: sysfs: change 'value' attribute to prealloc
gpio: sysfs: correct error handling on 'value' attribute read.
gpio: sysfs: don't use sprintf() for 'value' attribute
gpio: sysfs: avoid using kstrtol() in 'value' attribute write
Colin Ian King (2):
gpio: gpio-stmpe: make various char arrays static const, shrinks
object size
gpiolib: remove redundant initialization of pointer desc
Geert Uytterhoeven (1):
dt-bindings: gpio: rcar: Correct SoC family name for R8A7778
Grygorii Strashko (1):
gpio: omap: initialize gpioirq chip as part of gpiochip_add_data
Jesse Chan (2):
gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
gpio: ath79: add missing MODULE_DESCRIPTION/LICENSE
Joel Stanley (1):
tools/gpio: Fix build error with musl libc
Jonathan NeuschÃfer (2):
tools/gpio: Don't use u_int32_t
gpiolib: Fix typo in comment ("piochip_add_data")
Linus Walleij (31):
Merge branch 'ib-gpio-acpi-quirks' into devel
gpio: Clarify that <linux/gpio.h> is legacy
Merge branch 'ib-move-axp209' into devel
w1: w1-gpio: Convert to use GPIO descriptors
Revert "pinctrl: qcom: disable GPIO groups with no pins"
gpio: omap: Give unique labels to each GPIO bank/chip
gpio: label descriptors using the device name
gpio: of: Support SPI nonstandard GPIO properties
gpio: of: Support regulator nonstandard GPIO properties
gpio: Break out code to get a descriptor from a DT node
gpio: Export devm_gpiod_get_from_of_node() for consumers
gpio: of: Add special quirk to parse regulator flags
gpio: 74x174: Include proper headers
gpio: adp5520: Include proper header
gpio: adp5588: Include proper header
gpio: altera: Include GPIO driver header
gpio: amd8111: Include proper header
gpio: arizona: Include proper header
gpio: bcm-kona: Include proper header
gpio: bt8xx: Include proper header
gpio: crystalcove: Include proper header
gpio: cs5535: Include proper header
gpio: da905x: Include proper header
gpio: davinci: Include proper header
gpio: No NULL owner
gpio: of: Fix NPE from OF flags
gpio: Documentation update
Merge branch 'gpio-drivers-only-driver-h' into devel
gpio: Fix a documentation spelling mistake
gpio: Fix kernel stack leak to userspace
gpio: Timestamp events in hardirq handler
Maciej S. Szmigiero (1):
gpio: winbond: Add driver
Markus Elfring (4):
gpio: stmpe: Use seq_putc() in stmpe_dbg_show()
gpio: stmpe: Improve a size determination in stmpe_gpio_probe()
gpio: stmpe: Move an assignment in stmpe_gpio_probe()
gpio: stmpe: Delete an unnecessary variable initialisation in
stmpe_gpio_probe()
Patrice Chotard (1):
gpio: stmpe: i2c transfer are forbiden in atomic context
Pravin Shedge (1):
drivers: gpio: remove duplicate includes
Quentin Schulz (8):
gpio: axp209: switch unsigned variables to unsigned int
pinctrl: move gpio-axp209 to pinctrl
pinctrl: axp209: add pinctrl features
dt-bindings: gpio: gpio-axp209: add pinctrl features
pinctrl: axp209: rename everything from gpio to pctl
pinctrl: axp209: add programmable gpio_status_offset
pinctrl: axp209: add programmable ADC muxing value
pinctrl: axp209: add support for AXP813 GPIOs
Rasmus Villemoes (1):
gpio: reduce descriptor validation code size
Stephen Boyd (1):
gpiolib: Export gpiochip_irqchip_irq_valid() to drivers
Timur Tabi (2):
Revert "gpio: set up initial state from .get_direction()"
pinctrl: qcom: disable GPIO groups with no pins
Vasyl Gomonovych (1):
gpio: fix aspeed_gpio_banks array size check
Vladimir Zapolskiy (3):
gpiolib: don't dereference a desc before validation
gpiolib: remove a redundant check in gpiod_to_chip()
gpiolib: add desc validation to gpiod_set_transitory()
Wei Yongjun (1):
gpio: thunderx: fix error return code in thunderx_gpio_probe()
William Breathitt Gray (1):
gpio: Add GPIO support for the ACCES PCIe-IDIO-24 family
Wolfram Sang (2):
gpio: correct docs about return value of gpiod_get_direction
Documentation: gpio: correct return value of gpiod_get_direction
.../devicetree/bindings/gpio/gpio-axp209.txt | 49 +-
.../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 2 +-
Documentation/gpio/board.txt | 14 +-
Documentation/gpio/consumer.txt | 107 +--
Documentation/gpio/driver.txt | 4 +
Documentation/gpio/sysfs.txt | 11 +
Documentation/w1/masters/w1-gpio | 17 +-
MAINTAINERS | 7 +
arch/arm/mach-ixp4xx/vulcan-setup.c | 13 +-
arch/arm/mach-pxa/raumfeld.c | 16 +-
drivers/gpio/Kconfig | 32 +-
drivers/gpio/Makefile | 3 +-
drivers/gpio/devres.c | 42 ++
drivers/gpio/gpio-74x164.c | 5 +-
drivers/gpio/gpio-adp5520.c | 3 +-
drivers/gpio/gpio-adp5588.c | 2 +-
drivers/gpio/gpio-altera.c | 3 +-
drivers/gpio/gpio-amd8111.c | 2 +-
drivers/gpio/gpio-arizona.c | 2 +-
drivers/gpio/gpio-aspeed.c | 41 +-
drivers/gpio/gpio-ath79.c | 3 +
drivers/gpio/gpio-axp209.c | 188 ------
drivers/gpio/gpio-bcm-kona.c | 8 +-
drivers/gpio/gpio-brcmstb.c | 1 -
drivers/gpio/gpio-bt8xx.c | 2 +-
drivers/gpio/gpio-crystalcove.c | 2 +-
drivers/gpio/gpio-cs5535.c | 2 +-
drivers/gpio/gpio-da9052.c | 2 +-
drivers/gpio/gpio-da9055.c | 2 +-
drivers/gpio/gpio-davinci.c | 2 +-
drivers/gpio/gpio-ftgpio010.c | 4 +-
drivers/gpio/gpio-iop.c | 4 +
drivers/gpio/gpio-it87.c | 2 +-
drivers/gpio/gpio-max732x.c | 6 +-
drivers/gpio/gpio-mockup.c | 288 ++++----
drivers/gpio/gpio-omap.c | 39 +-
drivers/gpio/gpio-pcie-idio-24.c | 447 +++++++++++++
drivers/gpio/gpio-stmpe.c | 54 +-
drivers/gpio/gpio-thunderx.c | 4 +-
drivers/gpio/gpio-winbond.c | 732 +++++++++++++++++++++
drivers/gpio/gpiolib-acpi.c | 57 +-
drivers/gpio/gpiolib-of.c | 119 +++-
drivers/gpio/gpiolib-sysfs.c | 33 +-
drivers/gpio/gpiolib.c | 330 +++++++---
drivers/gpio/gpiolib.h | 18 +-
drivers/pinctrl/Kconfig | 10 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/pinctrl-axp209.c | 476 ++++++++++++++
drivers/w1/masters/w1-gpio.c | 149 ++---
include/dt-bindings/gpio/gpio.h | 6 +-
include/linux/acpi.h | 5 +
include/linux/device.h | 3 +
include/linux/gpio.h | 10 +
include/linux/gpio/consumer.h | 25 +
include/linux/gpio/driver.h | 3 +
include/linux/gpio/machine.h | 4 +-
include/linux/of_gpio.h | 2 +-
include/linux/pinctrl/pinconf-generic.h | 2 +
include/linux/w1-gpio.h | 9 +-
tools/gpio/gpio-event-mon.c | 10 +-
60 files changed, 2743 insertions(+), 696 deletions(-)
delete mode 100644 drivers/gpio/gpio-axp209.c
create mode 100644 drivers/gpio/gpio-pcie-idio-24.c
create mode 100644 drivers/gpio/gpio-winbond.c
create mode 100644 drivers/pinctrl/pinctrl-axp209.c