[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkdYD7469+XPRhNHRVtwkQzsWJ5-AK7cD_yVcDCLko-P-dw@mail.gmail.com>
Date:   Thu, 27 Dec 2018 10:23:35 +0100
From:   Linus Walleij <linus.walleij@...aro.org>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     linux-kernel <linux-kernel@...r.kernel.org>,
        "open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>
Subject: [GIT PULL] GPIO bulk changes for the v4.21 kernel
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
Andrei.Stefanescu@...rochip.com (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
Powered by blists - more mailing lists
 
