2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 07:04:00 +08:00
linux-next/drivers/gpio
Rafael J. Wysocki f028d5242d ACPI / GPIO: Driver GPIO mappings for ACPI GPIOs
Provide a way for device drivers using GPIOs described by ACPI
GpioIo resources in _CRS to tell the GPIO subsystem what names
(connection IDs) to associate with specific GPIO pins defined
in there.

To do that, a driver needs to define a mapping table as a
NULL-terminated array of struct acpi_gpio_mapping objects
that each contain a name, a pointer to an array of line data
(struct acpi_gpio_params) objects and the size of that array.

Each struct acpi_gpio_params object consists of three fields,
crs_entry_index, line_index, active_low, representing the index of
the target GpioIo()/GpioInt() resource in _CRS starting from zero,
the index of the target line in that resource starting from zero,
and the active-low flag for that line, respectively.

Next, the mapping table needs to be passed as the second
argument to acpi_dev_add_driver_gpios() that will register it with
the ACPI device object pointed to by its first argument.  That
should be done in the driver's .probe() routine.

On removal, the driver should unregister its GPIO mapping table
by calling acpi_dev_remove_driver_gpios() on the ACPI device
object where that table was previously registered.

Included are fixes from Mika Westerberg.

Acked-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2014-11-04 21:58:24 +01:00
..
devres.c gpio: Support for unified device properties interface 2014-11-04 21:58:23 +01:00
gpio-74x164.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-adnp.c gpio: adnp: switch to use irqchip helpers 2014-09-02 10:44:01 +02:00
gpio-adp5520.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-adp5588.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-amd8111.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-arizona.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-bcm-kona.c gpio, bcm-kona, LLVMLinux: Remove use of __initconst 2014-09-24 13:39:03 +02:00
gpio-bt8xx.c gpio: bt8xx: fix release of managed resources 2014-08-29 14:31:43 +02:00
gpio-clps711x.c Linux 3.14-rc6 2014-03-14 10:26:45 +01:00
gpio-crystalcove.c gpio: crystalcove: support virtual GPIO 2014-09-25 15:15:30 +02:00
gpio-cs5535.c gpio: use container_of to resolve cs5535_gpio_chip from gpio_chip 2014-09-23 17:51:39 +02:00
gpio-da9052.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-da9055.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-davinci.c gpio: davinci: remove unnecessary OOM messages 2014-05-09 10:54:39 +02:00
gpio-dwapb.c gpio: dwapb: fix pointer to integer cast 2014-09-24 13:30:24 +02:00
gpio-em.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-ep93xx.c gpio: ep93xx: Use devm_ioremap_resource() 2014-05-27 16:00:58 +02:00
gpio-f7188x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-ge.c gpio: ge: Convert to platform driver 2014-04-28 12:35:09 -07:00
gpio-generic.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-grgpio.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-ich.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-intel-mid.c gpio: intel-mid: switch to using gpiolib irqchip helpers 2014-06-19 09:31:16 +02:00
gpio-iop.c gpio: iop: fix devm_ioremap_resource() return value checking 2014-03-26 10:31:34 +01:00
gpio-it8761e.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-janz-ttl.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-kempld.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-ks8695.c gpio: ks8695: fix 'else should follow close brace '}'' 2014-10-02 16:07:00 +02:00
gpio-lp3943.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-lpc32xx.c gpio: lpc32xx: Make of_device_id array const 2014-06-19 09:31:16 +02:00
gpio-lynxpoint.c gpio-lynxpoint: enable input sensing in resume 2014-08-21 07:44:57 -05:00
gpio-max730x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-max732x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-max7300.c gpio: max7300: use devm_kzalloc() 2013-03-27 16:05:11 +01:00
gpio-max7301.c gpio: max7301: Reverting "Do not force SPI speed when using OF Platform" 2013-08-23 19:44:28 +02:00
gpio-mc9s08dz60.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-mc33880.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-mcp23s08.c gpio: mcp23s08 to support both device tree and platform data 2014-09-04 18:59:15 +02:00
gpio-ml-ioh.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-mm-lantiq.c GPIO: MIPS: lantiq: convert gpio-mm-lantiq to OF and of_mm_gpio 2012-05-21 14:31:53 +01:00
gpio-moxart.c gpio: moxart: remove unnecessary OOM messages 2014-05-09 10:54:56 +02:00
gpio-mpc8xxx.c powerpc/gpio: Fix the wrong GPIO input data on MPC8572/MPC8536 2013-12-03 13:10:48 +01:00
gpio-mpc5200.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-msic.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-msm-v1.c gpio_msm: Fix build error due to missing err.h 2013-07-31 00:34:31 +02:00
gpio-msm-v2.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-mvebu.c gpio: mvebu: Remove initcall-based driver initialization 2014-05-09 11:08:11 +02:00
gpio-mxc.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-mxs.c gpio: mxs: Allow for recursive enable_irq_wake() call 2014-03-27 10:11:59 +01:00
gpio-octeon.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-omap.c gpio: omap: Fix interrupt names 2014-09-23 17:51:40 +02:00
gpio-palmas.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-pca953x.c gpio: pca953x: Drop deprecated DT bindings 2014-08-28 14:19:40 +02:00
gpio-pcf857x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-pch.c gpio: pch: Build context save/restore only for PM 2014-10-02 16:07:00 +02:00
gpio-pl061.c gpio: pl061: use BIT() macro instead of shifting bits 2014-05-03 12:16:24 -07:00
gpio-pxa.c gpio-pxa: gpio0 and gpio1 support on dt 2014-07-07 12:54:28 +02:00
gpio-rc5t583.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-rcar.c This is the bulk of GPIO changes for the v3.17 development 2014-08-08 18:00:35 -07:00
gpio-rdc321x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-sa1100.c ARM: 7841/1: sa1100: remove complex GPIO interface 2013-10-29 11:01:02 +00:00
gpio-samsung.c gpio: samsung: Remove remaining check for CONFIG_S5P_GPIO_DRVSTR 2014-09-23 17:51:39 +02:00
gpio-sch311x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-sch.c gpio: sch: Consolidate core and resume banks 2014-11-04 21:58:22 +01:00
gpio-sodaville.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-spear-spics.c gpio: SPEAr: remove unnecessary OOM messages 2014-05-09 10:55:19 +02:00
gpio-sta2x11.c gpio/pinctrl: make gpio_chip members typed boolean 2013-12-04 14:42:46 +01:00
gpio-stmpe.c gpio: stmpe: add verbose debug code 2014-10-02 16:06:59 +02:00
gpio-stp-xway.c gpio: staticize xway_stp_init() 2014-09-30 09:11:15 +02:00
gpio-sx150x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-syscon.c gpio: syscon: reuse for keystone 2 socs 2014-09-16 14:42:16 -07:00
gpio-tb10x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-tc3589x.c gpio: handle also nested irqchips in the chained handler set-up 2014-09-26 14:39:08 +02:00
gpio-tegra.c gpio: tegra: Make of_device_id array const 2014-05-09 11:01:53 +02:00
gpio-timberdale.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-tps6586x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-tps65910.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-tps65912.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-ts5500.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-twl4030.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-twl6040.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-tz1090-pdc.c gpio-tz1090-pdc: add TZ1090 PDC gpio driver 2013-07-20 19:03:48 +02:00
gpio-tz1090.c gpio-tz1090: Replace commas with semi-colons 2014-03-07 11:57:00 +08:00
gpio-ucb1400.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-viperboard.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-vr41xx.c gpio: vr41xx: fix up errorpath on probe() 2014-07-09 12:22:54 +02:00
gpio-vx855.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-wm831x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-wm8350.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-wm8994.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-xgene.c gpio: xgene: Remove unneeded #ifdef CONFIG_OF guard 2014-09-24 11:03:01 +02:00
gpio-xilinx.c gpio: Fix ngpio in gpio-xilinx driver 2014-09-24 13:37:38 +02:00
gpio-xtensa.c gpio: xtensa: fix build when XCHAL_HAVE_CP is 0 2014-02-03 09:11:45 +01:00
gpio-zevio.c gpio: zevio: Make of_device_id array const 2014-05-09 11:04:08 +02:00
gpio-zynq.c gpio: remove remaining users of gpiochip_remove() retval 2014-09-23 17:51:17 +02:00
gpiolib-acpi.c ACPI / GPIO: Driver GPIO mappings for ACPI GPIOs 2014-11-04 21:58:24 +01:00
gpiolib-legacy.c gpio: remove gpio_ensure_requested() 2014-07-24 18:18:47 +02:00
gpiolib-of.c gpio: delete unneeded test before of_node_put 2014-08-17 09:12:35 -05:00
gpiolib-sysfs.c gpio: remove useless check in gpiolib_sysfs_init() 2014-07-24 16:03:45 +02:00
gpiolib.c gpio: Support for unified device properties interface 2014-11-04 21:58:23 +01:00
gpiolib.h gpio / ACPI: Add support for _DSD device properties 2014-11-04 21:58:22 +01:00
Kconfig gpio: kona: enable only on BCM_MOBILE or for compile testing 2014-09-25 09:52:17 +02:00
Makefile gpio: Add APM X-Gene SoC GPIO controller support 2014-08-28 14:19:47 +02:00