[GIT,PULL] GPIO bulk changes for the v5.10 kernel series
mbox series

Message ID CACRpkdbQU7xBcJ5GMhmovhvdpyDXmmr49wGUcuppHcKEc_Kacw@mail.gmail.com
State New, archived
Headers show
  • [GIT,PULL] GPIO bulk changes for the v5.10 kernel series
Related show




Linus Walleij Oct. 13, 2020, 9:49 a.m. UTC
Hi Linus,

here is the bulk of GPIO changes for the v5.10 kernel.

This time very little driver changes but lots of core changes.
Details in the signed tag. We have some interesting cooperative
work for ARM and Intel alike, making the GPIO subsystem
more and more suitable for industrial systems and the like,
in addition to the in-kernel users.

We touch driver core (device properties) and lib/* by adding one
simple string array free function, these are authored by Andy
Shevchenko who is a well known and recognized core
helpers maintainers so this should be fine.

We also see some Android GKI-related modularization in the
MXC drivers.

I foresee a merge conflict in drivers/gpio/gpio-mockup.c
due to things merged into the release candidate. The merge
should be trivial and pertains to using pr_fmt and
numerical return values: what's on my branch goes and that
is also the resolution you find in linux-next.

Please pull it in!

Linus Walleij

The following changes since commit 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5:

  Linux 5.9-rc1 (2020-08-16 13:04:57 -0700)

are available in the Git repository at:


for you to fetch changes up to fc709df553a34fd18010f52e6b47652268d83e7d:

  gpiolib: Update header block in gpiolib-cdev.h (2020-10-08 22:57:16 +0200)

GPIO bulk changes for the v5.10 kernel cycle:

Core changes:

- The big core change is the updated (v2) userspace character
  device API. This corrects badly designed 64-bit alignment around
  the line events. We also add the debounce request feature.
  This echoes the often quotes passage from Frederick Brooks
  "The mythical man-month" to always throw one away, which we
  have seen before in things such as V4L2. So we put in a new
  one and deprecate and obsolete the old one.

- All example tools in tools/gpio/* are migrated to the new API
  to set a good example. The libgpiod userspace library has been
  augmented to use this new API pretty much from day 1.

- Some misc API hardening by using strn* function calls has been
  added as well.

- Use the simpler IDA interface for GPIO chip instance enumeration.

- Add device core function for counting string arrays in
  device properties.

- Provide a generic library function kfree_strarray() that can
  be used throughout the kernel.

Driver enhancements:

- The DesignWare dwapb-gpio driver has been enhanced and now
  uses the IRQ handling in the gpiolib core.

- The mockup and aggregator drivers have seen some substantial
  code clean-up and now use more of the core kernel

- Misc cleanups using dev_err_probe().

- The MXC drivers (Freescale/NXP) can now be built modularized,
  which makes modularized GKI Android kernels happy.

Aleksander Jan Bajkowski (1):
      gpio: stp-xway: automatically drive GPHY leds on ar10 and grx390

Andy Shevchenko (3):
      gpio: aggregator: Refactor ->{get, set}_multiple() to make Sparse happy
      gpiolib: convert to use DEFINE_SEQ_ATTRIBUTE macro
      gpiolib: Update header block in gpiolib-cdev.h

Anson Huang (1):
      gpio: mxc: Support module build

Bartosz Golaszewski (16):
      gpiolib: switch to simpler IDA interface
      device: property: add helpers to count items in string arrays
      gpiolib: generalize devprop_gpiochip_set_names() for device properties
      gpiolib: unexport devprop_gpiochip_set_names()
      gpiolib: check for parent device in devprop_gpiochip_set_names()
      gpio: mockup: fix resource leak in error path
      lib: string_helpers: provide kfree_strarray()
      Documentation: gpio: add documentation for gpio-mockup
      gpio: mockup: drop unneeded includes
      gpio: mockup: use KBUILD_MODNAME
      gpio: mockup: use pr_fmt()
      gpio: mockup: remove unneeded return statement
      gpio: mockup: increase the number of supported device properties
      gpio: mockup: pass the chip label as device property
      gpio: mockup: use the generic 'gpio-line-names' property
      gpio: mockup: refactor the module init function

Kent Gibson (21):
      gpiolib: cdev: gpio_desc_to_lineinfo() should set info offset
      gpiolib: cdev: replace strncpy() with strscpy()
      gpio: uapi: define GPIO_MAX_NAME_SIZE for array sizes
      gpio: uapi: define uAPI v2
      gpiolib: make cdev a build option
      gpiolib: add build option for CDEV v1 ABI
      gpiolib: cdev: support GPIO_V2_GET_LINE_IOCTL and
      gpiolib: cdev: support GPIO_V2_GET_LINEINFO_IOCTL and
      gpiolib: cdev: support edge detection for uAPI v2
      gpiolib: cdev: support GPIO_V2_LINE_SET_CONFIG_IOCTL
      gpiolib: cdev: support GPIO_V2_LINE_SET_VALUES_IOCTL
      gpiolib: cdev: support setting debounce
      gpio: uapi: document uAPI v1 as deprecated
      tools: gpio: port lsgpio to v2 uAPI
      tools: gpio: port gpio-watch to v2 uAPI
      tools: gpio: rename nlines to num_lines
      tools: gpio: port gpio-hammer to v2 uAPI
      tools: gpio: port gpio-event-mon to v2 uAPI
      tools: gpio: add multi-line monitoring to gpio-event-mon
      tools: gpio: add debounce support to gpio-event-mon
      gpiolib: cdev: switch from kstrdup() to kstrndup()

Krzysztof Kozlowski (15):
      gpio: bcm-kona: Simplify with dev_err_probe()
      gpio: davinci: Simplify with dev_err_probe()
      gpio: omap: Simplify with dev_err_probe()
      gpio: pca953x: Simplify with dev_err_probe()
      gpio: pisosr: Simplify with dev_err_probe()
      gpio: zynq: Simplify with dev_err_probe()
      dt-bindings: gpio: fsl-imx-gpio: Add i.MX 8 compatibles
      dt-bindings: gpio: fsl-imx-gpio: Add gpio-ranges property
      dt-bindings: gpio: fsl-imx-gpio: Add parsing of hogs
      dt-bindings: gpio: fsl-imx-gpio: Add power-domains
      dt-bindings: gpio: pl061: add gpio-line-names
      dt-bindings: gpio: fsl-imx-gpio: add i.MX ARMv6 and ARMv7 compatibles
      dt-bindings: gpio: fsl-imx-gpio: add gpio-line-names
      dt-bindings: gpio: convert bindings for NXP PCA953x family to dtschema
      dt-bindings: gpio: convert bindings for Maxim MAX732x family to dtschema

Lad Prabhakar (1):
      dt-bindings: gpio: renesas, rcar-gpio: Add r8a774e1 support

Linus Walleij (3):
      Merge tag 'imx-gpio-5.10' of
https://git.kernel.org/.../krzk/linux into devel
      Merge tag 'gpio-updates-for-v5.10-part1' of
git://git.kernel.org/.../brgl/linux into devel
      Merge tag 'gpio-updates-for-v5.10-part2' of
git://git.kernel.org/.../brgl/linux into devel

Mauro Carvalho Chehab (1):
      docs: gpio: add a new document to its index.rst

Michael Walle (1):
      gpio: mpc8xxx: simplify ls1028a/ls1088a support

Mike Looijmans (1):
      gpio: pca953x: Add support for the NXP PCAL9554B/C

Necip Fazil Yildiran (1):
      pinctrl: bcm: fix kconfig dependency warning when !GPIOLIB

Serge Semin (10):
      dt-bindings: gpio: dwapb: Add ngpios property support
      gpio: dwapb: Add ngpios DT-property support
      gpio: dwapb: Move MFD-specific IRQ handler
      gpio: dwapb: Add max GPIOs macro
      gpio: dwapb: Convert driver to using the GPIO-lib-based IRQ-chip
      gpio: dwapb: Discard GPIO-to-IRQ mapping function
      gpio: dwapb: Discard ACPI GPIO-chip IRQs request
      gpio: dwapb: Get reset control by means of resource managed interface
      gpio: dwapb: Get clocks by means of resource managed interface
      gpio: dwapb: Use resource managed GPIO-chip add data method

dillon min (1):
      gpio: tc35894: Disable Direct KBD interrupts to enable gpio irq

 Documentation/admin-guide/gpio/gpio-mockup.rst     |   50 +
 Documentation/admin-guide/gpio/index.rst           |    1 +
 .../devicetree/bindings/gpio/fsl-imx-gpio.yaml     |   55 +-
 .../devicetree/bindings/gpio/gpio-max732x.txt      |   58 -
 .../devicetree/bindings/gpio/gpio-pca953x.txt      |   90 --
 .../devicetree/bindings/gpio/gpio-pca95xx.yaml     |  232 +++
 .../devicetree/bindings/gpio/pl061-gpio.yaml       |    3 +
 .../bindings/gpio/renesas,rcar-gpio.yaml           |    1 +
 .../devicetree/bindings/gpio/snps,dw-apb-gpio.yaml |    6 +
 .../devicetree/bindings/trivial-devices.yaml       |    4 -
 drivers/gpio/Kconfig                               |   33 +-
 drivers/gpio/Makefile                              |    3 +-
 drivers/gpio/gpio-aggregator.c                     |   70 +-
 drivers/gpio/gpio-bcm-kona.c                       |    5 +-
 drivers/gpio/gpio-davinci.c                        |    8 +-
 drivers/gpio/gpio-dwapb.c                          |  352 ++---
 drivers/gpio/gpio-mockup.c                         |  160 +-
 drivers/gpio/gpio-mpc8xxx.c                        |   45 +-
 drivers/gpio/gpio-mxc.c                            |    6 +
 drivers/gpio/gpio-omap.c                           |    5 +-
 drivers/gpio/gpio-pca953x.c                        |   11 +-
 drivers/gpio/gpio-pisosr.c                         |    9 +-
 drivers/gpio/gpio-stp-xway.c                       |   54 +-
 drivers/gpio/gpio-tc3589x.c                        |   18 +-
 drivers/gpio/gpio-zynq.c                           |    8 +-
 drivers/gpio/gpiolib-acpi.c                        |    3 -
 drivers/gpio/gpiolib-cdev.c                        | 1542 +++++++++++++++++---
 drivers/gpio/gpiolib-cdev.h                        |   19 +-
 drivers/gpio/gpiolib-devprop.c                     |   63 -
 drivers/gpio/gpiolib-of.c                          |    5 -
 drivers/gpio/gpiolib.c                             |   89 +-
 drivers/gpio/gpiolib.h                             |    6 +
 drivers/pinctrl/bcm/Kconfig                        |    1 +
 include/linux/gpio/driver.h                        |    3 -
 include/linux/mfd/tc3589x.h                        |    6 +
 include/linux/platform_data/gpio-dwapb.h           |    4 +-
 include/linux/property.h                           |   13 +
 include/linux/string_helpers.h                     |    2 +
 include/uapi/linux/gpio.h                          |  334 ++++-
 lib/string_helpers.c                               |   23 +
 tools/gpio/gpio-event-mon.c                        |  146 +-
 tools/gpio/gpio-hammer.c                           |   56 +-
 tools/gpio/gpio-utils.c                            |  176 ++-
 tools/gpio/gpio-utils.h                            |   48 +-
 tools/gpio/gpio-watch.c                            |   16 +-
 tools/gpio/lsgpio.c                                |   60 +-
 46 files changed, 2964 insertions(+), 938 deletions(-)
 create mode 100644 Documentation/admin-guide/gpio/gpio-mockup.rst
 delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-max732x.txt
 delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-pca953x.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml
 delete mode 100644 drivers/gpio/gpiolib-devprop.c


pr-tracker-bot@kernel.org Oct. 13, 2020, 6:24 p.m. UTC | #1
The pull request you sent on Tue, 13 Oct 2020 11:49:35 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git tags/gpio-v5.10-1

has been merged into torvalds/linux.git:

Thank you!