linux/drivers/pinctrl
Linus Torvalds b3c0eccb48 gpio updates for v6.11-rc1
GPIOLIB core:
 - rework kfifo handling rework in the character device code
 - improve the labeling of GPIOs requested as interrupts and show more info
   on interrupt-only GPIOs in debugfs
 - remove unused APIs
 - unexport interfaces that are only used from the core GPIO code
 - drop the return value from gpiochip_set_desc_names() as it cannot fail
 - move a string array definition out of a header and into a specific
   compilation unit
 - convert the last user of gpiochip_get_desc() other than GPIO core to using
   a safer alternative
 - use array_index_nospec() where applicable
 
 New drivers:
 - add a "virtual GPIO consumer" module that allows requesting GPIOs from actual
   hardware and driving tests of the in-kernel GPIO API from user-space over
   debugfs
 - add a GPIO-based "sloppy" logic analyzer module useful for "first glance"
   debugging on remote boards
 
 Driver improvements:
 - add support for a new model to gpio-pca953x
 - lock GPIOs as interrupts in gpio-sim when the lines are requested as irqs
   via the simulator domain + some other minor improvements
 - improve error reporting in gpio-syscon
 - convert gpio-ath79 to using dynamic GPIO base and range
 - use pcibios_err_to_errno() for converting PCIBIOS error codes to errno
   vaues in gpio-amd8111 and gpio-rdc321x
 - allow building gpio-brcmstb for the BCM2835 architecture
 
 DT bindings:
 - convert DT bindings for lsi,zevio, mpc8xxx, and atmel to DT schema
 - document new properties for aspeed,gpio, fsl,qoriq-gpio and gpio-vf610
 - document new compatibles for pca953x and fsl,qoriq-gpio
 
 Documentation:
 - document stricter behavior of the GPIO character device uAPI with regards to
   reconfiguring requested line without direction set
 - clarify the effect of the active-low flag on line values and edges
 - remove documentation for the legacy GPIO API in order to stop tempting
   people to use it
 - document the preference for using pread() for reading edge events in the
   sysfs API
 
 Other:
 - add an extended initializer to the interrupt simulator allowing to specify
   a number of callbacks callers can use to be notified about irqs being
   requested and released
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEFp3rbAvDxGAT0sefEacuoBRx13IFAmaU3n4ACgkQEacuoBRx
 13LnYxAAgIfV2MQxdlB8+I3+PrObiom9uykNpoj8Ho3FiGroJEmSi2Vg9NOP5j8n
 7THjBDFqKk0USMdzGgWDe+u0oCpql8ONLd+lxPiKzRxkebMVzlumeNzWNEE3wqxO
 MdV3AOs9DLM1a4MAuv9E8PgooBVR8Cyqs3tc3wwpZRKoSZBIzwrjFL3tO1P8Dezv
 9xoPqIiMJRBZr8jifU/ZRdLG3gYKqgQH1Mha7bm94ebUwA6q/hxtGYAtc2a3Q+dF
 6lPrPONJBN6/YwvmoDddm2ppoiyWN7QdX9DQjJvKBcNRTZSE1EAggdh8kNnCoa1d
 +PeClIAJLl8ZSkdMS8yvMZIpduK4gTl7yEBMkER1d0JoJLkTowqKsvONgU12Npr2
 3rwbpACt/kVt5v0lRwaafj5vnD3NgiiVCeuZZz99ICbrXqe6rYszMIemKDYWWlTn
 kEFrTM5ql+dwAfvp8Y9JZf4oOgInHbF3LBKM34PKMW9D0a4aQC/HTfmtHobeNHzn
 FmY9ysHjMG6fvuwnkpojW6N3/LLwt+TX8jik9x0O42AE7qXn6a8U2g6RUg6rJOdd
 mUiIX3+rn+AaI6eKPvUNp2h391jH1K3hBCAca4cNAIKpqPuE/A/B5RyZZnL5Q7HQ
 Iz2G3hSlTBVPf7QWMkBUfMzQMwmvqfoKsZljC5y7YgafJc5cf4k=
 =kK88
 -----END PGP SIGNATURE-----

Merge tag 'gpio-updates-for-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio updates from Bartosz Golaszewski:
 "The majority of added lines are two new modules: the GPIO virtual
  consumer module that improves our ability to add automated tests for
  the kernel API and the "sloppy" logic analyzer module that uses the
  GPIO API to implement a coarse-grained debugging tool for useful for
  remote development.

  Other than that we have the usual assortment of various driver
  extensions, improvements to the core GPIO code, DT-bindings and other
  documentation updates as well as an extension to the interrupt
  simulator:

  GPIOLIB core:
   - rework kfifo handling rework in the character device code
   - improve the labeling of GPIOs requested as interrupts and show more
     info on interrupt-only GPIOs in debugfs
   - remove unused APIs
   - unexport interfaces that are only used from the core GPIO code
   - drop the return value from gpiochip_set_desc_names() as it cannot
     fail
   - move a string array definition out of a header and into a specific
     compilation unit
   - convert the last user of gpiochip_get_desc() other than GPIO core
     to using a safer alternative
   - use array_index_nospec() where applicable

  New drivers:
   - add a "virtual GPIO consumer" module that allows requesting GPIOs
     from actual hardware and driving tests of the in-kernel GPIO API
     from user-space over debugfs
   - add a GPIO-based "sloppy" logic analyzer module useful for "first
     glance" debugging on remote boards

  Driver improvements:
   - add support for a new model to gpio-pca953x
   - lock GPIOs as interrupts in gpio-sim when the lines are requested
     as irqs via the simulator domain + some other minor improvements
   - improve error reporting in gpio-syscon
   - convert gpio-ath79 to using dynamic GPIO base and range
   - use pcibios_err_to_errno() for converting PCIBIOS error codes to
     errno vaues in gpio-amd8111 and gpio-rdc321x
   - allow building gpio-brcmstb for the BCM2835 architecture

  DT bindings:
   - convert DT bindings for lsi,zevio, mpc8xxx, and atmel to DT schema
   - document new properties for aspeed,gpio, fsl,qoriq-gpio and
     gpio-vf610
   - document new compatibles for pca953x and fsl,qoriq-gpio

  Documentation:
   - document stricter behavior of the GPIO character device uAPI with
     regards to reconfiguring requested line without direction set
   - clarify the effect of the active-low flag on line values and edges
   - remove documentation for the legacy GPIO API in order to stop
     tempting people to use it
   - document the preference for using pread() for reading edge events
     in the sysfs API

  Other:
   - add an extended initializer to the interrupt simulator allowing to
     specify a number of callbacks callers can use to be notified about
     irqs being requested and released"

* tag 'gpio-updates-for-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (41 commits)
  gpio: mc33880: Convert comma to semicolon
  gpio: virtuser: actually use the "trimmed" local variable
  dt-bindings: gpio: convert Atmel GPIO to json-schema
  gpio: virtuser: new virtual testing driver for the GPIO API
  dt-bindings: gpio: vf610: Allow gpio-line-names to be set
  gpio: sim: lock GPIOs as interrupts when they are requested
  genirq/irq_sim: add an extended irq_sim initializer
  dt-bindings: gpio: fsl,qoriq-gpio: Add compatible string fsl,ls1046a-gpio
  gpiolib: unexport gpiochip_get_desc()
  gpio: add sloppy logic analyzer using polling
  Documentation: gpio: Reconfiguration with unset direction (uAPI v2)
  Documentation: gpio: Reconfiguration with unset direction (uAPI v1)
  dt-bindings: gpio: fsl,qoriq-gpio: add common property gpio-line-names
  gpio: ath79: convert to dynamic GPIO base allocation
  pinctrl: da9062: replace gpiochip_get_desc() with gpio_device_get_desc()
  gpiolib: put gpio_suffixes in a single compilation unit
  Documentation: gpio: Clarify effect of active low flag on line edges
  Documentation: gpio: Clarify effect of active low flag on line values
  gpiolib: Remove data-less gpiochip_add() function
  gpio: sim: use devm_mutex_init()
  ...
2024-07-15 17:53:24 -07:00
..
actions
aspeed Pin control fixes for the v6.9 series: 2024-04-30 08:50:58 -07:00
bcm pinctrl: bcm2835: Fix permissions of persist_gpio_outputs 2024-06-17 09:49:36 +02:00
berlin pinctrl: Use device_get_match_data() 2023-10-30 14:50:42 +01:00
cirrus pinctrl: cs42l43: Use str_high_low() 2024-01-31 09:11:14 +01:00
freescale pinctrl: freescale: imx8ulp: fix module autoloading 2024-04-17 10:43:50 +02:00
intel pinctrl: baytrail: Add pinconf group for uart3 2024-04-08 17:54:48 +03:00
mediatek Pin control changes for the v6.10 kernel cycle: 2024-05-20 08:51:53 -07:00
meson pinctrl/meson: fix typo in PDM's pin name 2024-03-28 10:42:41 +01:00
mvebu pinctrl: armada-37xx: remove an unused variable 2024-04-02 14:27:13 +02:00
nomadik pinctrl: nomadik: fix dereference of error pointer 2024-03-06 20:47:14 +01:00
nuvoton pinctrl: nuvoton: Constify wpcm450_groups 2024-02-07 11:46:02 +01:00
nxp pinctrl: s32cc: Avoid possible string truncation 2023-11-14 14:43:37 +01:00
pxa pinctrl: pxa2xx: Make use of struct pingroup 2024-03-28 09:44:20 +01:00
qcom pinctrl: qcom: spmi-gpio: drop broken pm8008 support 2024-06-17 09:16:54 +02:00
realtek pinctrl: realtek: fix module autoloading 2024-04-17 10:43:50 +02:00
renesas pinctrl: renesas: rzg2l: Use spin_{lock,unlock}_irq{save,restore} 2024-05-27 17:13:31 +02:00
samsung pinctrl: samsung: drop redundant drvdata assignment 2024-04-30 09:41:58 +02:00
spear treewide: rename pinctrl_gpio_free_new() 2023-11-04 10:23:21 +01:00
sprd pinctrl: sprd-sc9860: Convert to platform remove callback returning void 2023-10-10 15:47:50 +02:00
starfive This is the main pin control pull request for the v6.8 kernel series. 2024-01-17 15:55:33 -08:00
stm32 pinctrl: stm32: fix PM support for stm32mp257 2024-02-13 09:42:22 +01:00
sunplus pinctrl: sppctl: use gpiochip_dup_line_label() 2023-12-08 09:26:37 +01:00
sunxi pinctrl: sunxi: sun9i-a80-r: drop driver owner assignment 2024-04-04 13:39:47 +02:00
tegra phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30
ti pinctrl: Use device_get_match_data() 2023-10-30 14:50:42 +01:00
uniphier pinctrl: uniphier: Annotate struct uniphier_pinctrl_reg_region with __counted_by 2023-09-27 10:59:06 +02:00
visconti
vt8500 pinctrl: vt8500: drop the wrapper around pinctrl_gpio_direction_input() 2023-11-04 10:23:22 +01:00
core.c pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER 2024-06-17 09:54:50 +02:00
core.h pinctrl: core: Remove unused members from struct group_desc 2023-12-12 00:47:52 +01:00
devicetree.c pinctrl: devicetree: fix refcount leak in pinctrl_dt_to_map() 2024-04-16 15:32:48 +02:00
devicetree.h
Kconfig RISC-V SoC Kconfig Updates for v6.10 2024-05-07 11:02:56 +02:00
Makefile pinctrl: Implementation of the generic scmi-pinctrl driver 2024-04-19 15:17:37 +01:00
pinconf-generic.c pinctrl: pinconf-generic: print hex value 2024-04-17 10:53:44 +02:00
pinconf.c pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinconf.h pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinctrl-amd.c genirq: Introduce IRQF_COND_ONESHOT and use it in pinctrl-amd 2024-03-25 23:45:21 +01:00
pinctrl-amd.h pinctrl: amd: Mask non-wake source pins with interrupt enabled at suspend 2023-12-04 15:46:02 +01:00
pinctrl-apple-gpio.c
pinctrl-artpec6.c pinctrl: artpec6: Convert to platform remove callback returning void 2023-10-10 15:39:10 +02:00
pinctrl-as3722.c pinctrl: as3722: Use devm_gpiochip_add_data() to simplify remove path 2023-11-24 11:22:12 +01:00
pinctrl-at91-pio4.c pinctrl: at91-pio4: use dedicated lock class for IRQ 2023-12-21 09:05:02 +01:00
pinctrl-at91.c pinctrl: Use device_get_match_data() 2023-10-30 14:50:42 +01:00
pinctrl-at91.h
pinctrl-aw9523.c pinctrl: aw9523: Fix indentation in a few places 2024-04-04 13:16:46 +02:00
pinctrl-axp209.c pinctrl: axp209: drop the wrapper around pinctrl_gpio_direction_input() 2023-11-04 10:23:22 +01:00
pinctrl-bm1880.c
pinctrl-cy8c95x0.c gpiolib: acpi: Pass con_id instead of property into acpi_dev_gpio_irq_get_by() 2024-04-15 16:12:18 +03:00
pinctrl-da850-pupd.c
pinctrl-da9062.c pinctrl: da9062: replace gpiochip_get_desc() with gpio_device_get_desc() 2024-06-25 09:12:48 +02:00
pinctrl-digicolor.c
pinctrl-equilibrium.c pinctrl: equilibrium: Convert to use grp member 2023-12-12 00:47:52 +01:00
pinctrl-equilibrium.h pinctrl: equilibrium: Convert to immutable irq_chip 2023-04-14 11:08:17 +02:00
pinctrl-falcon.c pinctrl: lantiq: Remove unused of_gpio.h inclusion 2023-06-16 15:04:34 +02:00
pinctrl-gemini.c
pinctrl-ingenic.c pinctrl: ingenic: Convert to use grp member 2023-12-12 00:47:52 +01:00
pinctrl-k210.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-keembay.c pinctrl: keembay: Convert to use grp member 2023-12-12 00:47:52 +01:00
pinctrl-lantiq.c
pinctrl-lantiq.h pinctrl: lantiq: Remove unsued declaration ltq_pinctrl_unregister() 2023-09-11 15:42:12 +02:00
pinctrl-loongson2.c pinctrl: loongson2: fix module autoloading 2024-04-17 10:43:50 +02:00
pinctrl-lpc18xx.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-max77620.c pinctrl: max77620: Remove an unused fields in struct max77620_pin_info and max77620_pctrl_info 2024-04-04 21:03:25 +02:00
pinctrl-mcp23s08_i2c.c pinctrl: mcp23s08: Simplify probe()/mcp23s08_spi_regmap_init() 2023-10-10 13:39:38 +02:00
pinctrl-mcp23s08_spi.c pinctrl: mcp23s08: Simplify probe()/mcp23s08_spi_regmap_init() 2023-10-10 13:39:38 +02:00
pinctrl-mcp23s08.c pinctrl: mcp23s08: Check only GPIOs which have interrupts enabled 2024-02-09 14:32:47 +01:00
pinctrl-mcp23s08.h pinctrl: mcp23s08: Simplify probe()/mcp23s08_spi_regmap_init() 2023-10-10 13:39:38 +02:00
pinctrl-microchip-sgpio.c pinctrl: microchip-sgpio: check return value of devm_kasprintf() 2023-06-16 15:01:45 +02:00
pinctrl-mlxbf3.c pinctrl: mlxbf3: Remove gpio_disable_free() 2023-08-25 15:44:15 +02:00
pinctrl-ocelot.c pinctrl: ocelot: remove redundant assignment to variable ret 2024-02-29 14:38:09 +01:00
pinctrl-palmas.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-pef2256.c pinctrl: Add support for the Lantic PEF2256 pinmux 2023-12-12 23:05:24 +01:00
pinctrl-pic32.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-pic32.h
pinctrl-pistachio.c pinctrl: pistachio: Convert to immutable irq_chip 2023-04-20 16:07:40 +02:00
pinctrl-rk805.c pinctrl: rk805: Add rk816 pinctrl support 2024-05-03 09:15:33 +01:00
pinctrl-rockchip.c pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set 2024-06-17 10:36:56 +02:00
pinctrl-rockchip.h pinctrl: rockchip: use dedicated pinctrl type for RK3328 2024-06-17 10:36:56 +02:00
pinctrl-scmi.c pinctrl: Implementation of the generic scmi-pinctrl driver 2024-04-19 15:17:37 +01:00
pinctrl-single.c pinctrl: single: Fix PIN_CONFIG_BIAS_DISABLE handling 2024-04-04 21:03:25 +02:00
pinctrl-st.c pinctrl: st: Return pinctrl_gpio_direction_output to transfer the error 2024-01-27 23:45:22 +01:00
pinctrl-stmfx.c pinctrl: stmfx: Convert to platform remove callback returning void 2023-10-10 15:41:35 +02:00
pinctrl-sx150x.c pinctrl: sx150x: Simplify probe() 2023-09-12 10:12:36 +02:00
pinctrl-tb10x.c pinctrl: tb10x: Convert to platform remove callback returning void 2023-10-10 15:42:07 +02:00
pinctrl-tps6594.c pinctrl: tps6594: add missing support for LP8764 PMIC 2024-06-17 09:42:47 +02:00
pinctrl-utils.c pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinctrl-utils.h pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinctrl-xway.c pinctrl: Use device_get_match_data() 2023-10-30 14:50:42 +01:00
pinctrl-zynq.c
pinctrl-zynqmp.c pinctrl: pinctrl-zynqmp: Use devm_kcalloc() instead of devm_kzalloc() 2024-01-28 01:17:26 +01:00
pinmux.c pinctrl: Use DEFINE_SHOW_STORE_ATTRIBUTE() helper for debugfs 2024-04-08 11:01:18 +02:00
pinmux.h pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00