linux/drivers/gpio
Alexandre Courbot 1a989d0f1d gpiolib: link all gpio_chips using a list
Add a list member to gpio_chip that allows all chips to be parsed
quickly. The current method requires parsing the entire GPIO integer
space, which is painfully slow. Using a list makes many chip operations
that involve lookup or parsing faster, and also simplifies the code. It
is also necessary to eventually get rid of the global gpio_desc[] array.

The list of gpio_chips is always ordered by base GPIO number to ensure
chips traversal is done in the right order.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2013-02-09 09:20:12 +00:00
..
devres.c gpio: export devm_gpio_request_one 2012-07-05 14:49:13 +02:00
gpio-74x164.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-ab8500.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-adnp.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-adp5520.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-adp5588.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-amd8111.c gpio: add a driver for GPIO pins found on AMD-8111 south bridge chips 2012-07-12 13:40:13 +02:00
gpio-arizona.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-bt8xx.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-10-07 17:49:05 +09:00
gpio-clps711x.c GPIO: clps711x: use platform_device_unregister in gpio_clps711x_init() 2012-10-27 18:17:30 +02:00
gpio-cs5535.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-da9052.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
gpio-da9055.c Drivers: misc: remove __dev* attributes. 2013-01-03 15:57:16 -08:00
gpio-davinci.c gpio: davinci: preparation for switch to common clock framework 2012-09-01 01:12:01 +02:00
gpio-em.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
gpio-ep93xx.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-ge.c powerpc/85xx: Board support for GE IMP3A 2012-03-16 11:15:48 -05:00
gpio-generic.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-ich.c gpio/ich: Add missing spinlock init 2012-12-19 22:13:08 +00:00
gpio-it8761e.c gpio: reorganize drivers 2011-06-06 10:10:11 -06:00
gpio-janz-ttl.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-ks8695.c ARM: 7036/1: mach-ks8695: break out GPIO driver specifics 2011-08-22 09:12:54 +01:00
gpio-langwell.c gpio/langwell: cleanup driver 2013-02-05 13:33:30 +00:00
gpio-lpc32xx.c gpio: remove use of __devinitdata 2012-11-28 11:39:59 -08:00
gpio-lynxpoint.c gpio/lynxpoint: add chipset gpio driver. 2013-02-05 13:33:29 +00:00
gpio-max730x.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
gpio-max732x.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-max7300.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-max7301.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-mc9s08dz60.c gpio: mc9s08dz60: Use devm_kzalloc API 2012-09-01 01:02:27 +02:00
gpio-mc33880.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-mcp23s08.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
gpio-ml-ioh.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08: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-mpc8xxx.c gpio: mpc8xxx: don't set IRQ_TYPE_NONE when creating irq mapping 2013-02-04 21:41:46 +01:00
gpio-mpc5200.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-msic.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-msm-v1.c gpio_msm: Move Qualcomm v6 MSM driver into drivers 2011-08-01 04:58:00 -07:00
gpio-msm-v2.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-mvebu.c gpio: mvebu: Don't free chip label memory 2013-01-17 12:27:08 +01:00
gpio-mxc.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-mxs.c gpio: mxs: Add IRQ_TYPE_EDGE_BOTH support 2013-01-29 12:02:05 +01:00
gpio-omap.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
gpio-pca953x.c gpio: pca953x: use managed resources 2013-01-28 11:17:04 +01:00
gpio-pcf857x.c gpio: pcf857x: use client->irq for gpio_to_irq() 2012-12-07 09:16:12 +01:00
gpio-pch.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
gpio-pl061.c gpio: pl061: set initcall level to module init 2013-01-22 10:43:15 +01:00
gpio-pxa.c gpio: pxa: set initcall level to module init 2013-01-25 10:51:12 +01:00
gpio-rc5t583.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-rdc321x.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-sa1100.c ARM: 7342/2: sa1100: prepare for sparse irq conversion 2012-03-25 23:57:20 +01:00
gpio-samsung.c gpio: samsung: skip gpio lib registration for EXYNOS5440 2013-01-17 11:53:54 +01:00
gpio-sch.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-sodaville.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-spear-spics.c gpio: SPEAr: add spi chipselect control driver 2012-11-18 00:01:27 +01:00
gpio-sta2x11.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-stmpe.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
gpio-stp-xway.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-sx150x.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-tc3589x.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
gpio-tegra.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
gpio-timberdale.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-tnetv107x.c ARM: 7039/1: mach-davinci: move DaVinci TNET GPIO driver to GPIO subsystem 2011-08-22 09:12:55 +01:00
gpio-tps6586x.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
gpio-tps65910.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-tps65912.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-ts5500.c Drivers: misc: remove __dev* attributes. 2013-01-03 15:57:16 -08:00
gpio-twl4030.c gpio: twl4030: Cache the direction and output states in private data 2013-01-17 11:48:12 +01:00
gpio-twl6040.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-ucb1400.c gpio: Convert GPIO drivers to module_platform_driver 2012-01-02 00:26:06 -07:00
gpio-viperboard.c Drivers: misc: remove __dev* attributes. 2013-01-03 15:57:16 -08:00
gpio-vr41xx.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-vt8500.c gpio: vt8500: Export dedicated GPIO before multifunction pins. 2013-01-10 11:45:35 +01:00
gpio-vx855.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-wm831x.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-wm8350.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-wm8994.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-xilinx.c gpio: remove use of __devinitdata 2012-11-28 11:39:59 -08:00
gpiolib-acpi.c gpiolib-acpi: Fix error checks in interrupt requesting 2013-02-04 21:41:47 +01:00
gpiolib-of.c gpiolib: let gpiochip_add_pin_range() specify offset 2012-11-21 08:55:03 +01:00
gpiolib.c gpiolib: link all gpio_chips using a list 2013-02-09 09:20:12 +00:00
Kconfig Merge branch 'linusw/devel' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git into gpio/next 2013-02-05 13:37:46 +00:00
Makefile Merge branch 'linusw/devel' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git into gpio/next 2013-02-05 13:37:46 +00:00