Messages in this thread | | | From | Linus Walleij <> | Date | Wed, 5 Aug 2020 00:03:28 +0200 | Subject | [GIT PULL] GPIO changes for the v5.9 merge window |
| |
Hi Linus,
here is the big slew of GPIO changes for the v5.9 merge window.
There is nothing too exciting in it, but a new macro that fixes a build failure on a minor ARM32 platform that appeared yesterday is part of it so we better merge it.
Please pull it in!
Yours, Linus Walleij
The following changes since commit b3a9e3b9622ae10064826dccb4f7a52bd88c7407:
Linux 5.8-rc1 (2020-06-14 12:45:04 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git tags/gpio-v5.9-1
for you to fetch changes up to 22cc422070d9a9a399f8a70b89f1b852945444cb:
gpio: wcove: Request IRQ after all initialisation done (2020-08-04 01:25:02 +0200)
---------------------------------------------------------------- This is the bulk of GPIO changes for the v5.9 kernel cycle:
Core changes:
- Introduce the for_each_requested_gpio() macro to help in dependent code all over the place. Also patch a few locations to use it while we are at it.
- Split out the sysfs code into its own file.
- Split out the character device code into its own file, then make a set of refactorings and improvements to this code. We are setting the stage to revamp the userspace API a bit in the next cycle.
- Fix a whole slew of kerneldoc that was wrong or missing.
New drivers:
- The PCA953x driver now supports the PCAL9535.
Driver improvements:
- A host of incremental modernizations and improvements to the PCA953x driver.
- Incremental improvements to the Xilinx Zynq driver.
- Some improvements to the GPIO aggregator driver.
- I ran all over the place switching all threaded and other drivers requesting their own IRQ while using the core GPIO IRQ helpers to pass the GPIO irq chip as a template instead of calling the explicit set-up functions. Next merge window we may retire the old code altogether.
---------------------------------------------------------------- Abanoub Sameh (6): gpio: pch: changed every 'unsigned' to 'unsigned int' gpio: pch: Add a blank line between declaration and code gpio: crystalcove: changed every 'unsigned' to 'unsigned int' gpio: ich: changed every 'unsigned' to 'unsigned int' gpio: sch: changed every 'unsigned' to 'unsigned int' gpio: sch: Add a blank line between declaration and code
Ahmad Fatoum (1): gpio: don't use same lockdep class for all devm_gpiochip_add_data users
Andy Shevchenko (16): gpio: pca953x: Synchronize interrupt handler properly gpio: pca953x: Override IRQ for one of the expanders on Galileo Gen 2 gpio: pca953x: Fix direction setting when configure an IRQ gpio: pca953x: disable regmap locking for automatic address incrementing gpiolib: Introduce for_each_requested_gpio_in_range() macro ARM/orion/gpio: Make use of for_each_requested_gpio() gpio: mvebu: Make use of for_each_requested_gpio() gpio: xra1403: Make use of for_each_requested_gpio() pinctrl: at91: Make use of for_each_requested_gpio() gpio: pca953x: Fix GPIO resource leak on Intel Galileo Gen 2 gpiolib: Deduplicate find_first_zero_bit() call gpio: pch: Move IRQ status message to verbose debug level gpio: mmio: replace open-coded for_each_set_bit() gpio: pca953x: Request IRQ after all initialisation done gpio: crystalcove: Free IRQ on error path gpio: wcove: Request IRQ after all initialisation done
Colton Lewis (1): gpio: Correct kernel-doc inconsistency
Dmitry Osipenko (6): gpio: max77620: Replace 8 with MAX77620_GPIO_NR gpio: max77620: Fix missing release of interrupt gpio: max77620: Don't set of_node gpio: max77620: Don't shadow error code of platform_get_irq() gpio: max77620: Use irqchip template gpio: max77620: Initialize hardware state of interrupts
Drew Fustini (2): gpio: omap: handle pin config bias flags gpio: omap: improve coding style for pin config flags
Gaurav Singh (2): gpio: max732x: remove redundant check gpio: max732x: remove redundant check from probe()
Geert Uytterhoeven (3): gpio: Drop superfluous dependencies on GPIOLIB gpio: aggregator: Drop pre-initialization in get_arg() gpio: aggregator: Use bitmap_parselist() for parsing GPIO offsets
Glenn Langedock (1): gpio: zynq: protect direction in/out with a spinlock
Jan Kiszka (2): dt-bindings: gpio: pca953x: add nxp,pcal9535 gpio: pca953x: Add support for the PCAL9535
Kent Gibson (18): gpiolib: split character device into gpiolib-cdev gpiolib: move gpiolib-sysfs function declarations into their own header gpiolib: cdev: sort includes gpiolib: cdev: minor indentation fixes gpiolib: cdev: refactor gpiohandle_flags_to_desc_flags gpiolib: cdev: rename 'filep' and 'filp' to 'file' to be consistent with other use gpiolib: cdev: rename numdescs to num_descs gpiolib: cdev: remove pointless decrement of i gpiolib: cdev: use blocking notifier call chain instead of atomic gpiolib: cdev: rename priv to cdev gpiolib: cdev: fix minor race in GET_LINEINFO_WATCH gpiolib: cdev: remove recalculation of offset gpiolib: cdev: refactor linehandle cleanup into linehandle_free gpiolib: cdev: refactor lineevent cleanup into lineevent_free gpio: uapi: fix misplaced comment line tools: gpio: fix spurious close warning in lsgpio tools: gpio: fix spurious close warning in gpio-utils tools: gpio: fix spurious close warning in gpio-event-mon
Kieran Bingham (1): drivers: gpio: Fix trivial spelling
Lee Jones (10): gpio: gpio-ml-ioh: Fix missing ':' in 'struct ioh_gpio_reg_data gpio: gpiolib-of: Provide documentation for of_gpio_spi_cs_get_count() gpio: gpio-altera: Add missing kerneldoc entry and demote comment gpio: gpio-pmic-eic-sprd: Fix incorrectly named property 'map' gpio: gpio-sama5d2-piobu: Demote all kerneldoc headers to basic comment blocks gpio: gpio-syscon: Fix formatting issues which confuse kerneldoc gpio: gpio-it87: Fix formatting issues which confuse kerneldoc gpio: gpio-mlxbf: Tell the compiler that ACPI functions may not be used gpio: gpio-mlxbf2: Tell the compiler that ACPI functions may not be use gpio: gpio-mlxbf2.c: Provide __releases() annotation to stop confusing Sparse
Linus Walleij (27): Merge branch 'ib-for-each-requested' into devel Merge tag 'gpio-fixes-for-v5.8-rc3' of git://git.kernel.org/.../brgl/linux into fixes Merge tag 'gpio-updates-for-v5.9-part1' of git://git.kernel.org/.../brgl/linux into devel gpio: Add gpio-charger to the documentation Merge branch 'lee-fixes' into devel Merge branch 'devel' into for-next Merge tag 'gpio-updates-for-v5.9-part2' of git://git.kernel.org/.../brgl/linux into devel gpio: max77620: Use helper variable and clarify gpio: tc35892: Use irqchip template gpio: stmpe: Use irqchip template gpio: adnp: Use irqchip template gpio: adp5588: Use irqchip template gpio: pcf857x: Use irqchip template gpio: pca953x: Use irqchip template gpio: crystalcove: Use irqchip template gpio: wcove: Use irqchip template Merge tag 'intel-gpio-v5.9-1' of git://git.kernel.org/.../andy/linux-gpio-intel into devel gpio: dln2: Use irqchip template gpio: ws16c48: Use irqchip template gpio: 104-dio-48e: Use irqchip template gpio: 104-idi-48: Use irqchip template gpio: 104-idio-16: Use irqchip template gpio: pcie-idio-24: Use irqchip template gpio: pci-idio-16: Use irqchip template gpio: rcar: Use irqchip template gpio: stmpe: Move chip registration gpio: max732x: Use irqchip template
Mauro Carvalho Chehab (1): gpio: driver.h: fix kernel-doc markup
Michael Walle (1): gpio: regmap: fix type clash
Navid Emamdoost (2): gpio: arizona: handle pm_runtime_get_sync failure case gpio: arizona: put pm_runtime in case of failure
Shubhrajyoti Datta (6): dt-bindings: gpio: Add binding for Versal gpio dt-bindings: gpio: Add pmc gpio node to gpio-zynq gpio: zynq: Add Versal support gpio: zynq: Disable the irq if it is not a wakeup source gpio: zynq: Add pmc gpio support gpio: zynq: Remove error prints in EPROBE_DEFER
Song Hui (1): gpio: mpc8xxx: change the gpio interrupt flags.
Sungbo Eo (2): gpio: pca9570: add GPO driver for PCA9570 gpio: pca9570: Add DT bindings for NXP PCA9570
Tony Lindgren (1): gpio: omap: Add missing PM ops for suspend
Wang Qing (1): gpiolib: sysfs: use kobj_to_dev
.../devicetree/bindings/gpio/gpio-pca953x.txt | 1 + .../devicetree/bindings/gpio/gpio-pca9570.yaml | 47 + .../devicetree/bindings/gpio/gpio-zynq.txt | 4 +- Documentation/driver-api/gpio/drivers-on-gpio.rst | 7 + arch/arm/plat-orion/gpio.c | 8 +- drivers/gpio/Kconfig | 12 +- drivers/gpio/Makefile | 2 + drivers/gpio/TODO | 2 +- drivers/gpio/gpio-104-dio-48e.c | 35 +- drivers/gpio/gpio-104-idi-48.c | 33 +- drivers/gpio/gpio-104-idio-16.c | 33 +- drivers/gpio/gpio-adnp.c | 95 +- drivers/gpio/gpio-adp5588.c | 39 +- drivers/gpio/gpio-aggregator.c | 63 +- drivers/gpio/gpio-altera.c | 3 +- drivers/gpio/gpio-arizona.c | 7 +- drivers/gpio/gpio-crystalcove.c | 50 +- drivers/gpio/gpio-dln2.c | 17 +- drivers/gpio/gpio-ich.c | 26 +- drivers/gpio/gpio-it87.c | 14 +- drivers/gpio/gpio-max732x.c | 32 +- drivers/gpio/gpio-max77620.c | 71 +- drivers/gpio/gpio-ml-ioh.c | 2 +- drivers/gpio/gpio-mlxbf.c | 2 +- drivers/gpio/gpio-mlxbf2.c | 4 +- drivers/gpio/gpio-mmio.c | 20 +- drivers/gpio/gpio-mpc8xxx.c | 2 +- drivers/gpio/gpio-mvebu.c | 8 +- drivers/gpio/gpio-omap.c | 45 +- drivers/gpio/gpio-pca953x.c | 142 ++- drivers/gpio/gpio-pca9570.c | 146 +++ drivers/gpio/gpio-pcf857x.c | 47 +- drivers/gpio/gpio-pch.c | 14 +- drivers/gpio/gpio-pci-idio-16.c | 33 +- drivers/gpio/gpio-pcie-idio-24.c | 17 +- drivers/gpio/gpio-pmic-eic-sprd.c | 2 +- drivers/gpio/gpio-rcar.c | 17 +- drivers/gpio/gpio-sama5d2-piobu.c | 16 +- drivers/gpio/gpio-sch.c | 23 +- drivers/gpio/gpio-stmpe.c | 36 +- drivers/gpio/gpio-syscon.c | 12 +- drivers/gpio/gpio-tc3589x.c | 26 +- drivers/gpio/gpio-wcove.c | 34 +- drivers/gpio/gpio-ws16c48.c | 39 +- drivers/gpio/gpio-xra1403.c | 8 +- drivers/gpio/gpio-zynq.c | 66 +- drivers/gpio/gpiolib-cdev.c | 1121 +++++++++++++++++++ drivers/gpio/gpiolib-cdev.h | 11 + drivers/gpio/gpiolib-devres.c | 13 +- drivers/gpio/gpiolib-of.c | 3 + drivers/gpio/gpiolib-sysfs.c | 3 +- drivers/gpio/gpiolib-sysfs.h | 24 + drivers/gpio/gpiolib.c | 1144 +------------------- drivers/gpio/gpiolib.h | 20 +- drivers/pinctrl/pinctrl-at91.c | 7 +- include/linux/gpio/driver.h | 37 +- include/linux/gpio/regmap.h | 2 +- include/uapi/linux/gpio.h | 2 +- tools/gpio/gpio-event-mon.c | 3 +- tools/gpio/gpio-utils.c | 4 +- tools/gpio/lsgpio.c | 3 +- 61 files changed, 2150 insertions(+), 1609 deletions(-) create mode 100644 Documentation/devicetree/bindings/gpio/gpio-pca9570.yaml create mode 100644 drivers/gpio/gpio-pca9570.c create mode 100644 drivers/gpio/gpiolib-cdev.c create mode 100644 drivers/gpio/gpiolib-cdev.h create mode 100644 drivers/gpio/gpiolib-sysfs.h
| |