Hi Linus,
this is the main part of the v4.21 GPIO changes.
Details are in the signed tag.
Some interesting changes have already trickled in
through the Regulator and MMC/SD trees but get
mentioned in the signed tag nevertheless.
Please pull it in!
Yours,
Linus Walleij
The following changes since commit 651022382c7f8da46cb4872a545ee1da6d097d2a:
Linux 4.20-rc1 (2018-11-04 15:37:52 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
tags/gpio-v4.21-1
for you to fetch changes up to a7c23f8d154f7919c5fcfceea6e0897be2d5ab71:
gpio: sama5d2-piobu: Depend on OF_GPIO (2018-12-22 11:08:06 +0100)
----------------------------------------------------------------
This is the bulk of GPIO changes for the v4.21 kernel series:
Core changes:
- Some core changes are already in outside of this pull
request as they came through the regulator tree, most
notably devm_gpiod_unhinge() that removes devres refcount
management from a GPIO descriptor. This is needed in
subsystems such as regulators where the regulator core
need to take over the reference counting and lifecycle
management for a GPIO descriptor.
- We dropped devm_gpiochip_remove() and devm_gpio_chip_match()
as nothing needs it. We can bring it back if need be.
- Add a global TODO so people see where we are going. This
helps setting the direction now that we are two GPIO
maintainers.
- Handle the MMC CD/WP properties in the device tree core.
(The bulk of patches activating this code is already
merged through the MMC/SD tree.)
- Augment gpiochip_request_own_desc() to pass a flag so
we as gpiochips can request lines as active low or open
drain etc even from ourselves.
New drivers:
- New driver for Cadence GPIO blocks.
- New driver for Atmel SAMA5D2 PIOBU GPIO lines.
Driver improvements:
- A major refactoring of the PCA953x driver - this driver has
been around for ages, and is now modernized to reduce code
duplication that has stacked up and is using regmap to read
write and cache registers.
- Intel drivers are now maintained in a separate tree and
start with a round of cleanups and unifications.
----------------------------------------------------------------
A.s. Dong (2):
dt-bindings: gpio: vf610: add optional clocks property
gpio: vf610: add optional clock support
[email protected] (2):
dt-bindings: arm: atmel: describe SECUMOD usage as a GPIO controller
gpio: add driver for SAMA5D2 PIOBU pins
Andy Shevchenko (27):
MAINTAINERS: Do maintain Intel GPIO drivers via separate tree
gpio: pch: Convert to use managed functions pcim_* and devm_*
gpio: sodaville: Convert to use managed functions pcim_* and devm_*
gpio: pch: Convert to dev_pm_ops
gpio: lynxpoint: Use for_each_set_bit() in IRQ handler
gpio: pch: Use for_each_set_bit() in IRQ handler
gpio: sodaville: Use for_each_set_bit() in IRQ handler
gpio: ich: Simplify error handling in ichx_write_bit()
gpio: ich: Switch to use struct device instead of platform_device
gpio: ich: Convert pr_<level> to dev_<level>
gpio: ich: Join string literals back
gpio: pch: Remove redundant __func__ from debug print
gpio: pch: Remove duplicate assignments
gpio: intel-mid: Remove linux/module.h and sort headers
gpio: lynxpoint: Remove linux/init.h and sort headers
gpio: merrifield: Remove linux/init.h
gpio: sch: Remove linux/init.h and sort headers
gpio: ich: Sort headers alphabetically
gpio: pch: Sort headers alphabetically
gpio: sodaville: Sort headers alphabetically
gpio: ich: Convert to use SPDX identifier
gpio: intel-mid: Convert to use SPDX identifier
gpio: lynxpoint: Convert to use SPDX identifier
gpio: merrifield: Convert to use SPDX identifier
gpio: pch: Convert to use SPDX identifier
gpio: sch: Convert to use SPDX identifier
gpio: sodaville: Convert to use SPDX identifier
Anson Huang (1):
gpio: mxc: move gpio noirq suspend/resume to syscore phase
Bartosz Golaszewski (1):
MAINTAINERS: remove a duplicate entry for gpio-mockup
Brajeswar Ghosh (1):
drivers/gpio/gpio-grgpio.c: Remove duplicate header
Brandon Maier (1):
gpio: zynq: Report gpio direction at boot
Colin Ian King (2):
gpio: sch311x: clean an indentation issue, remove extraneous space
gpiolib-acpi: remove unused variable 'err', cleans up build warning
Fabrizio Castro (1):
dt-bindings: gpio: rcar: Add r8a774c0 (RZ/G2E) support
Jan Kotas (2):
dt-bindings: gpio: Add bindings for Cadence GPIO
gpio: Add Cadence GPIO driver
Johan Hovold (1):
gpio: drop broken to_gpio_irq_chip() helper
Krzysztof Kozlowski (1):
gpiolib: Fix return value of gpio_to_desc() stub if !GPIOLIB
Kuninori Morimoto (1):
gpio: rcar: convert to SPDX identifiers
Laurent Pinchart (1):
gpio: drop devm_gpio_chip_match()
Linus Walleij (9):
gpio: Add global TODO file for GPIO
gpio: OF: Parse MMC-specific CD and WP properties
gpio: Pass a flag to gpiochip_request_own_desc()
Merge tag 'intel-gpio-v4.21-1' of
git://git.kernel.org/.../andy/linux-gpio-intel into devel
Merge branch 'ib-pca953x' into devel
ARM: omap1: Fix new user of gpiochip_request_own_desc()
memory: omap-gpmc: Get the header of the enum
gpio/mmc/of: Respect polarity in the device tree
gpio: sama5d2-piobu: Depend on OF_GPIO
Manivannan Sadhasivam (1):
gpio: pl061: Move irq_chip definition inside struct pl061
Marek Vasut (15):
gpio: pca953x: Deduplicate the bank_shift
gpio: pca953x: Fix AI overflow on PCAL6524
gpio: pca953x: Repair multi-byte IO address increment on PCA9575
gpio: pca953x: Unify pca95{3,7}x_write_regs_16()
gpio: pca953x: Unify pca953x_{read,write}_regs_{16,24}()
gpio: pca953x: Unify pca953x_{read,write}_regs_{8,mul}()
gpio: pca953x: Factor out common code from device_pca95xx_init()
gpio: pca953x: Zap ad-hoc I2C block write in multi GPIO set
gpio: pca953x: Extract the register address mangling to single function
gpio: pca953x: Perform basic regmap conversion
gpio: pca953x: Zap ad-hoc reg_direction cache
gpio: pca953x: Zap ad-hoc reg_output cache
gpio: pca953x: Zap single use of pca953x_read_single()
gpio: pca953x: Restore registers after suspend/resume cycle
gpio: pca953x: Add regmap dependency for PCA953x driver
Masahiro Yamada (1):
gpio: uniphier: convert to SPDX License Identifier
Muchun Song (1):
gpiolib: Fix possible use after free on label
Nicholas Mc Guire (2):
gpio: mt7621: report failure of devm_kasprintf()
gpio: mt7621: pass mediatek_gpio_bank_probe() failure up the stack
Nicolas Saenz Julienne (1):
gpio: raspberrypi-exp: decrease refcount on firmware dt node
Phil Edworthy (1):
gpio: dwapb: Correct the DT node name in the example
Tao Ren (1):
gpio: aspeed: remove duplicated statement
Thierry Reding (2):
dt-bindings: tegra186-gpio: Add Tegra186 specific prefix
gpio: tegra186: Rename flow variable to type
Uwe Kleine-König (2):
gpio: drop devm_gpiochip_remove()
gpio: mxs: read pin level directly instead of using .get
Vladimir Zapolskiy (8):
gpio: restore original GPLv2+ license of gpiolib-of.c sources
gpio: rcar: reference device instead of platform device
gpio: lpc18xx: use SPDX license identifier
gpio: lpc18xx: add struct device local variable
gpio: lpc18xx: use resource managed interface to register GPIO controller
gpio: lpc18xx: add GPIO pin interrupt controller support
dt-bindings: gpio: lpc18xx: describe interrupt controllers of
GPIO controller
gpio: lpc18xx: fix GPIO controller driver build as a module
William Breathitt Gray (6):
gpio: 104-dio-48e: Mask read inputs for get_multiple
gpio: 104-idi-48e: Mask the read inputs for get_multiple
gpio: gpio-mm: Mask read inputs for get_multiple
gpio: ws16c48: Mask read inputs for get_multiple
gpio: pci-idio-16: Mask read inputs for get_multiple
gpio: pcie-idio-24: Mask read inputs for get_multiple
Wolfram Sang (6):
gpio: gpio-dwapb: simplify getting .driver_data
gpio: gpio-lynxpoint: simplify getting .driver_data
gpio: gpio-mxc: simplify getting .driver_data
gpio: gpio-omap: simplify getting .driver_data
gpio: gpio-zynq: simplify getting .driver_data
gpio: gpio-tegra: simplify getting .driver_data
Yangtao Li (1):
gpio: ks8695: Change to use DEFINE_SHOW_ATTRIBUTE macro
.../devicetree/bindings/arm/atmel-sysregs.txt | 12 +-
.../devicetree/bindings/gpio/cdns,gpio.txt | 43 ++
.../devicetree/bindings/gpio/gpio-vf610.txt | 6 +
.../devicetree/bindings/gpio/nxp,lpc1850-gpio.txt | 38 +-
.../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 1 +
.../devicetree/bindings/gpio/snps-dwapb-gpio.txt | 4 +-
Documentation/driver-api/gpio/driver.rst | 4 +-
Documentation/driver-model/devres.txt | 1 -
MAINTAINERS | 40 +-
arch/arm/mach-omap1/ams-delta-fiq.c | 2 +-
arch/arm/mach-omap1/board-ams-delta.c | 4 +-
drivers/gpio/Kconfig | 22 +
drivers/gpio/Makefile | 2 +
drivers/gpio/TODO | 109 +++++
drivers/gpio/gpio-104-dio-48e.c | 2 +-
drivers/gpio/gpio-104-idi-48.c | 2 +-
drivers/gpio/gpio-aspeed.c | 1 -
drivers/gpio/gpio-cadence.c | 291 +++++++++++++
drivers/gpio/gpio-dwapb.c | 6 +-
drivers/gpio/gpio-gpio-mm.c | 2 +-
drivers/gpio/gpio-grgpio.c | 1 -
drivers/gpio/gpio-ich.c | 73 ++--
drivers/gpio/gpio-intel-mid.c | 16 +-
drivers/gpio/gpio-ks8695.c | 15 +-
drivers/gpio/gpio-lpc18xx.c | 286 +++++++++++-
drivers/gpio/gpio-lynxpoint.c | 47 +-
drivers/gpio/gpio-merrifield.c | 6 +-
drivers/gpio/gpio-mt7621.c | 10 +-
drivers/gpio/gpio-mvebu.c | 2 +-
drivers/gpio/gpio-mxc.c | 41 +-
drivers/gpio/gpio-mxs.c | 2 +-
drivers/gpio/gpio-omap.c | 12 +-
drivers/gpio/gpio-pca953x.c | 484 +++++++++++++--------
drivers/gpio/gpio-pch.c | 165 ++-----
drivers/gpio/gpio-pci-idio-16.c | 2 +-
drivers/gpio/gpio-pcie-idio-24.c | 2 +-
drivers/gpio/gpio-pl061.c | 21 +-
drivers/gpio/gpio-raspberrypi-exp.c | 1 +
drivers/gpio/gpio-rcar.c | 34 +-
drivers/gpio/gpio-sama5d2-piobu.c | 253 +++++++++++
drivers/gpio/gpio-sch.c | 27 +-
drivers/gpio/gpio-sch311x.c | 2 +-
drivers/gpio/gpio-sodaville.c | 73 ++--
drivers/gpio/gpio-tegra.c | 6 +-
drivers/gpio/gpio-tegra186.c | 6 +-
drivers/gpio/gpio-uniphier.c | 17 +-
drivers/gpio/gpio-vf610.c | 44 ++
drivers/gpio/gpio-ws16c48.c | 2 +-
drivers/gpio/gpio-zynq.c | 29 +-
drivers/gpio/gpiolib-acpi.c | 14 +-
drivers/gpio/gpiolib-of.c | 26 +-
drivers/gpio/gpiolib.c | 76 ++--
drivers/hid/hid-cp2112.c | 2 +-
drivers/memory/omap-gpmc.c | 4 +-
include/dt-bindings/gpio/tegra186-gpio.h | 41 ++
include/linux/gpio/consumer.h | 8 +-
include/linux/gpio/driver.h | 10 +-
57 files changed, 1762 insertions(+), 690 deletions(-)
create mode 100644 Documentation/devicetree/bindings/gpio/cdns,gpio.txt
create mode 100644 drivers/gpio/TODO
create mode 100644 drivers/gpio/gpio-cadence.c
create mode 100644 drivers/gpio/gpio-sama5d2-piobu.c