|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5, v6.14-rc4 |
|
| #
eb5ab6ff |
| 21-Feb-2025 |
Koichiro Den <[email protected]> |
gpio: introduce utilities for synchronous fake device creation
Both gpio-sim and gpio-virtuser share a mechanism to instantiate a platform device, wait for probe completion, and retrieve the probe s
gpio: introduce utilities for synchronous fake device creation
Both gpio-sim and gpio-virtuser share a mechanism to instantiate a platform device, wait for probe completion, and retrieve the probe success or error status synchronously. With gpio-aggregator planned to adopt this approach for its configfs interface, it's time to factor out the common code.
Add dev-sync-probe.[ch] to house helper functions used by all such implementations.
No functional change.
Signed-off-by: Koichiro Den <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.14-rc3, v6.14-rc2, v6.14-rc1, v6.13, v6.13-rc7, v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12, v6.12-rc7 |
|
| #
a987b78f |
| 04-Nov-2024 |
Lewis Hanly <[email protected]> |
gpio: mpfs: add polarfire soc gpio support
Add a driver to support the Polarfire SoC gpio controller. Interrupt controller support is unavailable for now and will be added at a later date.
Signed-o
gpio: mpfs: add polarfire soc gpio support
Add a driver to support the Polarfire SoC gpio controller. Interrupt controller support is unavailable for now and will be added at a later date.
Signed-off-by: Lewis Hanly <[email protected]> Co-developed-by: Conor Dooley <[email protected]> Signed-off-by: Conor Dooley <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Link: https://lore.kernel.org/r/20241104-tiny-evaluate-9336020b4b6a@spud Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3 |
|
| #
c46a74ff |
| 09-Oct-2024 |
Mary Strodl <[email protected]> |
gpio: add support for FTDI's MPSSE as GPIO
FTDI FT2232H is a USB to GPIO chip. Sealevel produces some devices with this chip. FT2232H presents itself as a composite device with two interfaces (each
gpio: add support for FTDI's MPSSE as GPIO
FTDI FT2232H is a USB to GPIO chip. Sealevel produces some devices with this chip. FT2232H presents itself as a composite device with two interfaces (each is an "MPSSE"). Each MPSSE has two banks (high and low) of 8 GPIO each. I believe some MPSSE's have only one bank, but I don't know how to identify them (I don't have any for testing) and as a result are unsupported for the time being.
Additionally, this driver provides software polling-based interrupts for edge detection. For the Sealevel device I have to test with, this works well because there is hardware debouncing. From talking to Sealevel's people, this is their preferred way to do edge detection.
Signed-off-by: Mary Strodl <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.12-rc2 |
|
| #
4342bf63 |
| 01-Oct-2024 |
Thomas Richard <[email protected]> |
gpio: Congatec Board Controller gpio driver
Add gpio support for the Congatec Board Controller. This Board Controller has 14 GPIO pins.
The driver is probed by the Congatec Board Controller MFD dri
gpio: Congatec Board Controller gpio driver
Add gpio support for the Congatec Board Controller. This Board Controller has 14 GPIO pins.
The driver is probed by the Congatec Board Controller MFD driver.
Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Thomas Richard <[email protected]> Acked-by: Bartosz Golaszewski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Lee Jones <[email protected]>
show more ...
|
|
Revision tags: v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6, v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1 |
|
| #
738bbc66 |
| 22-Jul-2024 |
Haibo Chen <[email protected]> |
gpio: adp5585: Add Analog Devices ADP5585 support
The ADP5585 is a 10/11 input/output port expander with a built in keypad matrix decoder, programmable logic, reset generator, and PWM generator. Thi
gpio: adp5585: Add Analog Devices ADP5585 support
The ADP5585 is a 10/11 input/output port expander with a built in keypad matrix decoder, programmable logic, reset generator, and PWM generator. This driver supports the GPIO function using the platform device registered by the core MFD driver.
The driver is derived from an initial implementation from NXP, available in commit 451f61b46b76 ("MLK-25917-2 gpio: adp5585-gpio: add adp5585-gpio support") in their BSP kernel tree. It has been extensively rewritten.
Signed-off-by: Haibo Chen <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Acked-by: Bartosz Golaszewski <[email protected]> Co-developed-by: Laurent Pinchart <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Frank Li <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Lee Jones <[email protected]>
show more ...
|
|
Revision tags: v6.10 |
|
| #
91581c4b |
| 08-Jul-2024 |
Bartosz Golaszewski <[email protected]> |
gpio: virtuser: new virtual testing driver for the GPIO API
The GPIO subsystem used to have a serious problem with undefined behavior and use-after-free bugs on hot-unplug of GPIO chips. This can be
gpio: virtuser: new virtual testing driver for the GPIO API
The GPIO subsystem used to have a serious problem with undefined behavior and use-after-free bugs on hot-unplug of GPIO chips. This can be considered a corner-case by some as most GPIO controllers are enabled early in the boot process and live until the system goes down but most GPIO drivers do allow unbind over sysfs, many are loadable modules that can be (force) unloaded and there are also GPIO devices that can be dynamically detached, for instance CP2112 which is a USB GPIO expender.
Bugs can be triggered both from user-space as well as by in-kernel users. We have the means of testing it from user-space via the character device but the issues manifest themselves differently in the kernel.
This is a proposition of adding a new virtual driver - a configurable GPIO consumer that can be configured over configfs (similarly to gpio-sim) or described on the device-tree.
This driver is aimed as a helper in spotting any regressions in hot-unplug handling in GPIOLIB.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.10-rc7, v6.10-rc6, v6.10-rc5 |
|
| #
7828b7bb |
| 20-Jun-2024 |
Wolfram Sang <[email protected]> |
gpio: add sloppy logic analyzer using polling
This is a sloppy logic analyzer using GPIOs. It comes with a script to isolate a CPU for polling. While this is definitely not a production level analyz
gpio: add sloppy logic analyzer using polling
This is a sloppy logic analyzer using GPIOs. It comes with a script to isolate a CPU for polling. While this is definitely not a production level analyzer, it can be a helpful first view when remote debugging. Read the documentation for details.
Signed-off-by: Wolfram Sang <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Link: https://lore.kernel.org/r/[email protected] [Bartosz: moved the Kconfig entry into a different category] Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.10-rc4, v6.10-rc3, v6.10-rc2, v6.10-rc1, v6.9, v6.9-rc7, v6.9-rc6 |
|
| #
ecc4b141 |
| 23-Apr-2024 |
Aapo Vienamo <[email protected]> |
gpio: Add Intel Granite Rapids-D vGPIO driver
This driver provides a basic GPIO driver for the Intel Granite Rapids-D virtual GPIOs. On SoCs with limited physical pins on the package, the physical p
gpio: Add Intel Granite Rapids-D vGPIO driver
This driver provides a basic GPIO driver for the Intel Granite Rapids-D virtual GPIOs. On SoCs with limited physical pins on the package, the physical pins controlled by this driver would be exposed on an external device such as a BMC or CPLD. The virtual GPIO registers are an interface to firmware, which communicates with the external device that implements the GPIO hardware functionality.
Signed-off-by: Aapo Vienamo <[email protected]> Reviewed-by: Mika Westerberg <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]>
show more ...
|
|
Revision tags: v6.9-rc5, v6.9-rc4, v6.9-rc3, v6.9-rc2, v6.9-rc1, v6.8, v6.8-rc7 |
|
| #
966942ae |
| 28-Feb-2024 |
Théo Lebrun <[email protected]> |
gpio: nomadik: extract GPIO platform driver from drivers/pinctrl/nomadik/
Previously, drivers/pinctrl/nomadik/pinctrl-nomadik.c registered two platform drivers: pinctrl & GPIO. Move the GPIO aspect
gpio: nomadik: extract GPIO platform driver from drivers/pinctrl/nomadik/
Previously, drivers/pinctrl/nomadik/pinctrl-nomadik.c registered two platform drivers: pinctrl & GPIO. Move the GPIO aspect to the drivers/gpio/ folder, as would be expected.
Both drivers are intertwined for a reason; pinctrl requires access to GPIO registers for pinmuxing, pull-disable, disabling interrupts while setting the muxing and wakeup control. Information sharing is done through a shared array containing GPIO chips and a few helper functions. That shared array is not touched from gpio-nomadik when CONFIG_PINCTRL_NOMADIK is not defined.
Make no change to the code that moved into gpio-nomadik; there should be no behavior change following. A few functions are shared and header comments are added. Checkpatch warnings are addressed. NUM_BANKS is renamed to NMK_MAX_BANKS.
It is supported to compile gpio-nomadik without pinctrl-nomadik. The opposite is not true.
Signed-off-by: Théo Lebrun <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Linus Walleij <[email protected]>
show more ...
|
|
Revision tags: v6.8-rc6 |
|
| #
f837fe1b |
| 20-Feb-2024 |
Stephen Boyd <[email protected]> |
gpio: Add ChromeOS EC GPIO driver
The ChromeOS embedded controller (EC) supports setting the state of GPIOs when the system is unlocked, and getting the state of GPIOs in all cases. The GPIOs are on
gpio: Add ChromeOS EC GPIO driver
The ChromeOS embedded controller (EC) supports setting the state of GPIOs when the system is unlocked, and getting the state of GPIOs in all cases. The GPIOs are on the EC itself, so the EC acts similar to a GPIO expander. Add a driver to get and set the GPIOs on the EC through the host command interface.
Signed-off-by: Stephen Boyd <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.8-rc5, v6.8-rc4, v6.8-rc3, v6.8-rc2, v6.8-rc1, v6.7, v6.7-rc8 |
|
| #
c4f8457d |
| 29-Dec-2023 |
Jim Liu <[email protected]> |
gpio: nuvoton: Add Nuvoton NPCM sgpio driver
Add Nuvoton BMC NPCM7xx/NPCM8xx sgpio driver support. Nuvoton NPCM SGPIO module is combine serial to parallel IC (HC595) and parallel to serial IC (HC165
gpio: nuvoton: Add Nuvoton NPCM sgpio driver
Add Nuvoton BMC NPCM7xx/NPCM8xx sgpio driver support. Nuvoton NPCM SGPIO module is combine serial to parallel IC (HC595) and parallel to serial IC (HC165), and use APB3 clock to control it. This interface has 4 pins (D_out , D_in, S_CLK, LDSH). BMC can use this driver to increase 64 GPI pins and 64 GPO pins to use.
Signed-off-by: Jim Liu <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
| #
eee636bf |
| 28-Dec-2023 |
Tzuyi Chang <[email protected]> |
gpio: rtd: Add support for Realtek DHC(Digital Home Center) RTD SoCs
This driver enables configuration of GPIO direction, GPIO values, GPIO debounce settings and handles GPIO interrupts.
Signed-off
gpio: rtd: Add support for Realtek DHC(Digital Home Center) RTD SoCs
This driver enables configuration of GPIO direction, GPIO values, GPIO debounce settings and handles GPIO interrupts.
Signed-off-by: Tzuyi Chang <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.7-rc7, v6.7-rc6, v6.7-rc5, v6.7-rc4, v6.7-rc3, v6.7-rc2, v6.7-rc1, v6.6, v6.6-rc7, v6.6-rc6, v6.6-rc5, v6.6-rc4, v6.6-rc3, v6.6-rc2, v6.6-rc1, v6.5, v6.5-rc7, v6.5-rc6, v6.5-rc5, v6.5-rc4 |
|
| #
659ad5f7 |
| 29-Jul-2023 |
Okan Sahin <[email protected]> |
gpio: ds4520: Add ADI DS4520 GPIO Expander Support
The DS4520 is a 9-bit nonvolatile (NV) I/O expander. It offers users a digitally programmable alternative to hardware jumpers and mechanical switch
gpio: ds4520: Add ADI DS4520 GPIO Expander Support
The DS4520 is a 9-bit nonvolatile (NV) I/O expander. It offers users a digitally programmable alternative to hardware jumpers and mechanical switches that are being used to control digital logic node.
Signed-off-by: Okan Sahin <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.5-rc3, v6.5-rc2, v6.5-rc1, v6.4, v6.4-rc7, v6.4-rc6, v6.4-rc5, v6.4-rc4, v6.4-rc3, v6.4-rc2, v6.4-rc1, v6.3, v6.3-rc7, v6.3-rc6, v6.3-rc5, v6.3-rc4, v6.3-rc3 |
|
| #
cd33f216 |
| 15-Mar-2023 |
Asmaa Mnebhi <[email protected]> |
gpio: mlxbf3: Add gpio driver support
Add support for the BlueField-3 SoC GPIO driver. This driver configures and handles GPIO interrupts. It also enables a user to manipulate certain GPIO pins via
gpio: mlxbf3: Add gpio driver support
Add support for the BlueField-3 SoC GPIO driver. This driver configures and handles GPIO interrupts. It also enables a user to manipulate certain GPIO pins via libgpiod tools or other kernel drivers. The usables pins are defined via the "gpio-reserved-ranges" property.
Signed-off-by: Asmaa Mnebhi <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
| #
8efe1247 |
| 15-Jun-2023 |
Andy Shevchenko <[email protected]> |
gpio: delay: Remove duplicative functionality
Now that GPIO aggregator supports a delay line, drop the duplicative functionality, i.e. the entire gpio-delay driver.
Reviewed-by: Geert Uytterhoeven
gpio: delay: Remove duplicative functionality
Now that GPIO aggregator supports a delay line, drop the duplicative functionality, i.e. the entire gpio-delay driver.
Reviewed-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Tested-by: Alexander Stein <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
| #
57e30e00 |
| 07-Jun-2023 |
Jerome Neanne <[email protected]> |
gpio: tps65219: add GPIO support for TPS65219 PMIC
Add support for TPS65219 PMICs GPIO interface.
3 GPIO pins: - GPIO0 only is IO but input mode reserved for MULTI_DEVICE_ENABLE usage. - GPIO1 and
gpio: tps65219: add GPIO support for TPS65219 PMIC
Add support for TPS65219 PMICs GPIO interface.
3 GPIO pins: - GPIO0 only is IO but input mode reserved for MULTI_DEVICE_ENABLE usage. - GPIO1 and GPIO2 are Output only and referred as GPO1 and GPO2 in spec.
GPIO0 is statically configured as input or output prior to Linux boot. it is used for MULTI_DEVICE_ENABLE function. This setting is statically configured by NVM. GPIO0 can't be used as a generic GPIO (specification Table 8-34). It's either a GPO when MULTI_DEVICE_EN=0 or a GPI when MULTI_DEVICE_EN=1.
Datasheet describes specific usage for non standard GPIO.
Datasheet: https://www.ti.com/lit/ds/symlink/tps65219.pdf Co-developed-by: Jonathan Cormier <[email protected]> Signed-off-by: Jonathan Cormier <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Jerome Neanne <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
| #
cf5dec80 |
| 06-Apr-2023 |
Alexander Stein <[email protected]> |
gpio: Add gpio delay driver
This driver implements a GPIO enable/disable delay. It supports a list of GPIO outputs, which ramp-up/ramp-down delay can be specified at consumer location. The main purp
gpio: Add gpio delay driver
This driver implements a GPIO enable/disable delay. It supports a list of GPIO outputs, which ramp-up/ramp-down delay can be specified at consumer location. The main purpose is to address external, passive delays upon line voltage changes.
Signed-off-by: Alexander Stein <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.3-rc2, v6.3-rc1 |
|
| #
c5a4b6fd |
| 25-Feb-2023 |
Ye Xiang <[email protected]> |
gpio: Add support for Intel LJCA USB GPIO driver
This patch implements the GPIO function of Intel USB-I2C/GPIO/SPI adapter device named "La Jolla Cove Adapter" (LJCA). It communicate with LJCA GPIO
gpio: Add support for Intel LJCA USB GPIO driver
This patch implements the GPIO function of Intel USB-I2C/GPIO/SPI adapter device named "La Jolla Cove Adapter" (LJCA). It communicate with LJCA GPIO module with specific protocol through interfaces exported by LJCA USB driver.
Signed-off-by: Ye Xiang <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
show more ...
|
| #
03810031 |
| 13-Mar-2023 |
Emanuele Ghidoli <[email protected]> |
gpio: fxl6408: add I2C GPIO expander driver
Add minimal driver for Fairchild FXL6408 8-bit I2C-controlled GPIO expander using the generic regmap based GPIO driver (GPIO_REGMAP).
The driver implemen
gpio: fxl6408: add I2C GPIO expander driver
Add minimal driver for Fairchild FXL6408 8-bit I2C-controlled GPIO expander using the generic regmap based GPIO driver (GPIO_REGMAP).
The driver implements setting the GPIO direction, reading inputs and writing outputs.
In addition to that the FXL6408 has the following functionalities: - allows to monitor input ports for data transitions with an interrupt pin - all inputs can be configured with pull-up or pull-down resistors
Datasheet: https://www.onsemi.com/download/data-sheet/pdf/fxl6408-d.pdf Signed-off-by: Emanuele Ghidoli <[email protected]> Co-developed-by: Francesco Dolcini <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> [Bartosz: order includes alphabetically] Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.2 |
|
| #
9409d8cf |
| 16-Feb-2023 |
Pandith N <[email protected]> |
gpio: elkhartlake: Introduce Intel Elkhart Lake PSE GPIO
This driver adds support for Intel Elkhart Lake PSE GPIO controller, using Intel Tangier as a library driver.
Signed-off-by: Pandith N <pand
gpio: elkhartlake: Introduce Intel Elkhart Lake PSE GPIO
This driver adds support for Intel Elkhart Lake PSE GPIO controller, using Intel Tangier as a library driver.
Signed-off-by: Pandith N <[email protected]> Co-developed-by: Raag Jadav <[email protected]> Signed-off-by: Raag Jadav <[email protected]> Co-developed-by: Andy Shevchenko <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]>
show more ...
|
| #
d2c19e89 |
| 16-Feb-2023 |
Pandith N <[email protected]> |
gpio: tangier: Introduce Intel Tangier GPIO driver
Intel Elkhart Lake and Merrifield platforms have same GPIO IP. Intel Tangier implements the common GPIO functionalities for both Elkhart Lake and M
gpio: tangier: Introduce Intel Tangier GPIO driver
Intel Elkhart Lake and Merrifield platforms have same GPIO IP. Intel Tangier implements the common GPIO functionalities for both Elkhart Lake and Merrifield platforms.
Signed-off-by: Pandith N <[email protected]> Co-developed-by: Raag Jadav <[email protected]> Signed-off-by: Raag Jadav <[email protected]> Co-developed-by: Andy Shevchenko <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]>
show more ...
|
| #
7944d3b7 |
| 02-Mar-2023 |
Yinbo Zhu <[email protected]> |
gpio: loongson: add gpio driver support
The Loongson platforms GPIO controller contains 60 GPIO pins in total, 4 of which are dedicated GPIO pins, and the remaining 56 are reused with other function
gpio: loongson: add gpio driver support
The Loongson platforms GPIO controller contains 60 GPIO pins in total, 4 of which are dedicated GPIO pins, and the remaining 56 are reused with other functions. Each GPIO can set input/output and has the interrupt capability.
This driver added support for Loongson GPIO controller and support to use DTS or ACPI to descibe GPIO device resources.
Signed-off-by: Jianmin Lv <[email protected]> Signed-off-by: Hongchen Zhang <[email protected]> Signed-off-by: Liu Peibao <[email protected]> Signed-off-by: Juxin Gao <[email protected]> Signed-off-by: Yinbo Zhu <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.2-rc8, v6.2-rc7, v6.2-rc6, v6.2-rc5, v6.2-rc4, v6.2-rc3, v6.2-rc2, v6.2-rc1, v6.1, v6.1-rc8, v6.1-rc7, v6.1-rc6, v6.1-rc5, v6.1-rc4, v6.1-rc3, v6.1-rc2, v6.1-rc1 |
|
| #
2e99b1b0 |
| 06-Oct-2022 |
Arnd Bergmann <[email protected]> |
mfd: remove ucb1400 support
The ucb1400 MFD driver and its gpio and touchscreen child drivers were only used on a few PXA machines that were unused for a while and are now removed.
Removing these l
mfd: remove ucb1400 support
The ucb1400 MFD driver and its gpio and touchscreen child drivers were only used on a few PXA machines that were unused for a while and are now removed.
Removing these leaves the AC97 support as ALSA specific, no other drivers are now connected through this interface.
Cc: Linus Walleij <[email protected]> Cc: Bartosz Golaszewski <[email protected]> Cc: Dmitry Torokhov <[email protected]> Cc: Lee Jones <[email protected]> Cc: Jaroslav Kysela <[email protected]> Cc: Takashi Iwai <[email protected]> Cc: Marek Vasut <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Acked-by: Robert Jarzmik <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
show more ...
|
|
Revision tags: v6.0 |
|
| #
046cd3c6 |
| 30-Sep-2022 |
Arnd Bergmann <[email protected]> |
gpio: remove iop driver
The iop32x platform was removed, and its gpio driver is now orphaned.
Cc: Lennert Buytenhek <[email protected]> Acked-by: Linus Walleij <[email protected]> Acked
gpio: remove iop driver
The iop32x platform was removed, and its gpio driver is now orphaned.
Cc: Lennert Buytenhek <[email protected]> Acked-by: Linus Walleij <[email protected]> Acked-by: Bartosz Golaszewski <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
show more ...
|
| #
e7f9ff5d |
| 11-Nov-2022 |
Dmitry Torokhov <[email protected]> |
gpiolib: add support for software nodes
Now that static device properties understand notion of child nodes and references, let's teach gpiolib to handle them:
- GPIOs are represented as a reference
gpiolib: add support for software nodes
Now that static device properties understand notion of child nodes and references, let's teach gpiolib to handle them:
- GPIOs are represented as a references to software nodes representing gpiochip - references must have 2 arguments - GPIO number within the chip and GPIO flags (GPIO_ACTIVE_LOW/GPIO_ACTIVE_HIGH, etc) - a new PROPERTY_ENTRY_GPIO() macro is supplied to ensure the above - name of the software node representing gpiochip must match label of the gpiochip, as we use it to locate gpiochip structure at runtime
The following illustrates use of software nodes to describe a "System" button that is currently specified via use of gpio_keys_platform_data in arch/mips/alchemy/board-mtx1.c. It follows bindings specified in Documentation/devicetree/bindings/input/gpio-keys.yaml.
static const struct software_node mxt1_gpiochip2_node = { .name = "alchemy-gpio2", };
static const struct property_entry mtx1_gpio_button_props[] = { PROPERTY_ENTRY_U32("linux,code", BTN_0), PROPERTY_ENTRY_STRING("label", "System button"), PROPERTY_ENTRY_GPIO("gpios", &mxt1_gpiochip2_node, 7, GPIO_ACTIVE_LOW), { } };
Similarly, arch/arm/mach-tegra/board-paz00.c can be converted to:
static const struct software_node tegra_gpiochip_node = { .name = "tegra-gpio", };
static struct property_entry wifi_rfkill_prop[] __initdata = { PROPERTY_ENTRY_STRING("name", "wifi_rfkill"), PROPERTY_ENTRY_STRING("type", "wlan"), PROPERTY_ENTRY_GPIO("reset-gpios", &tegra_gpiochip_node, 25, GPIO_ACTIVE_HIGH); PROPERTY_ENTRY_GPIO("shutdown-gpios", &tegra_gpiochip_node, 85, GPIO_ACTIVE_HIGH); { }, };
static struct platform_device wifi_rfkill_device = { .name = "rfkill_gpio", .id = -1, };
...
software_node_register(&tegra_gpiochip_node); device_create_managed_software_node(&wifi_rfkill_device.dev, wifi_rfkill_prop, NULL);
Acked-by: Linus Walleij <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|