aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpio
AgeCommit message (Collapse)AuthorFilesLines
2011-10-05gpio-ml-ioh: Delete unnecessary codeTomoya MORINAGA1-1/+0
This register restore processing is unnecessary in suspend processing. (The restore processing is already in resume processing) Signed-off-by: Tomoya MORINAGA <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2011-10-04Merge branch 'next/topic-gpio-samsung' into next-samsung-develKukjin Kim7-1253/+2689
2011-10-04gpio/samsung: correct pin configuration for S5PC100/S5PC110/EXYNOS4Marek Szyprowski1-15/+15
Commit 1b39d5f2cc introduced new common gpio driver for all Samsung GPIO SoCs. The new driver use wrong configuration setup for all gpio pins on S5PC100 and S5PV210 SoCs and external interrupt lines on Exynos4 SoCs. This patch fixes this issue. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Acked-by: Grant Likely <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2011-10-04gpio/samsung: fix GPIO interrupt registration for EXYNOS4 SoCsMarek Szyprowski1-1/+1
Commit 1b39d5f2cc introduced new common gpio driver for all Samsung GPIO SoCs. The new driver doesn't correctly register GPIO interrupts on Samsung Exynos4 SoCs. This is caused by a typo in define name. This patch fixes this issue. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2011-10-04gpio/samsung: fix broken configuration for EXYNOS4 GPIO banksMarek Szyprowski1-0/+2
Commit 1b39d5f2cc introduced new common gpio driver for all Samsung GPIO SoCs. The new driver doesn't work correctly on Samsung Exynos4 SoC. It fails to set configuration for all but external interrupt pins. This patch fixes this issue. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Acked-by: Grant Likely <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2011-10-01ARM: 7104/1: plat-pxa: break out GPIO driver specificsLinus Walleij1-0/+2
The <mach/gpio.h> file is included from upper directories and deal with generic GPIO and gpiolib stuff. Break out the platform and driver specific defines and functions into its own header file. Cc: Eric Miao <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-10-01ARM: 7103/1: plat-pxa: move PXA GPIO driver to GPIO subsystemLinus Walleij2-0/+337
As per example from the other ARM boards, push the PXA GPIO driver down to the GPIO subsystem so it can be consolidated. Acked-by: Eric Miao <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-10-01ARM: 7042/3: mach-ep93xx: break out GPIO driver specificsLinus Walleij1-0/+3
The <mach/gpio.h> file is included from upper directories and deal with generic GPIO and gpiolib stuff. Break out the platform and driver specific defines and functions into its own header file. Cc: Ryan Mallon <[email protected]> Acked-by: Hartley Sweeten <[email protected]> Acked-by: Grant Likely <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-09-27ARM: 7101/1: arm/tegra: Replace <mach/gpio.h> with <mach/gpio-tegra.h>Stephen Warren1-0/+1
This will eventually allow <mach/gpio.h> to be deleted. This mirrors LinusW's recent equivalent work on various other ARM platforms. Signed-off-by: Stephen Warren <[email protected]> Acked-by: Olof Johansson <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-09-23gpio: move mpc8xxx/512x gpio driver to drivers/gpioWolfram Sang3-0/+404
Move the driver to the place where it is expected to be nowadays. Also rename its CONFIG-name to match the rest and adapt the defconfigs. Finally, move selection of REQUIRE_GPIOLIB or WANTS_OPTIONAL_GPIOLIB to the platforms, because this option is per-platform and not per-driver. Signed-off-by: Wolfram Sang <[email protected]> Cc: Anatolij Gustschin <[email protected]> Cc: Grant Likely <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Acked-by: Grant Likely <[email protected]> Signed-off-by: Anatolij Gustschin <[email protected]>
2011-09-21gpio/mxc: add chained_irq_enter/exit() to mx3_gpio_irq_handler()Shawn Guo1-0/+6
The mx3_gpio_irq_handler() is also called on imx6q which has GIC as the primary interrupt controller. As GIC implements the fasteoi flow control, we need to add chained_irq_enter/exit() to mx3_gpio_irq_handler() for signaling EOI, otherwise system will hang whenever there is a gpio irq triggered. v2: use chained_irq_{enter,exit}() Signed-off-by: Shawn Guo <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2011-09-21gpio/samsung: gpio-samsung.c to support Samsung GPIOsKukjin Kim10-2350/+2687
This patch adds support for Samsung GPIOs with one gpio driver and removes old GPIO drivers which are drivers/gpio-s3c24xx.c, gpio-s3c64xx.c, gpio-s5p64x0.c, gpio-s5pc100.c, gpio-s5pv210.c, gpio-exynos4.c, gpio-plat-samsung.c, plat-samsung/gpio-config.c and gpio.c to support each Samsung SoCs before. Because the gpio-samsung.c can replace old Samsung GPIO drivers. Basically, the gpio-samsung.c has been made by their merging and removing duplicated definitions. Note: gpio-samsung.c includes some SoC dependent codes and it will be replaced next time. Cc: Ben Dooks <[email protected]> Acked-by: Grant Likely <[email protected]> [[email protected]: squash the removing and adding patches] [[email protected]: fixes bug during to register of gpio_chips] Signed-off-by: Kukjin Kim <[email protected]>
2011-09-21gpio/s5p64x0: move gpio driver into drivers/gpio/Kukjin Kim3-0/+515
Acked-by: Grant Likely <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2011-09-21gpio/s3c64xx: move gpio driver into drivers/gpio/Kukjin Kim3-0/+294
Cc: Ben Dooks <[email protected]> Acked-by: Grant Likely <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2011-09-21gpio/s3c24xx: move gpio driver into drivers/gpio/Kukjin Kim3-0/+288
Cc: Ben Dooks <[email protected]> Acked-by: Grant Likely <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2011-09-20gpio/nomadik: use genirq core to track enablementLinus Walleij1-9/+2
Currently the Nomadik GPIO driver tracks enabled/disabled interrupt status with a local variable, switch to using the interrupt core. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2011-09-20gpio/nomadik: disable clocks when unusedRabin Vincent1-7/+113
The GPIO clock is required for register access and interrupt detection. When interrupt detection is not required on any of the pin in a block, the block's clock can be disabled when the registers are not being accessed. Signed-off-by: Rabin Vincent <[email protected]> Reviewed-by: Rickard Andersson <[email protected]> Reviewed-by: Jonas Aberg <[email protected]> [Adjust for new IRQ chip core code, use only local functions] Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2011-09-14drivers/gpio/gpio-generic.c: fix build errorsRussell King1-10/+5
Building a kernel with hotplug disabled results in a link failure: `bgpio_remove' referenced in section `___ksymtab_gpl+bgpio_remove' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o This is because of bgpio_remove() is exported. It is illegal to export symbols which are discarded either at link time or as part of an init/exit section. Fix this by dropping the __devexit attributation from bgpio_remove(). Also drop the __devinit attributation from bgpio_init(). Signed-off-by: Russell King <[email protected]> Cc: Grant Likely <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-09-08ARM: 7083/1: rewrite U300 GPIO to use gpiolibLinus Walleij2-485/+713
This rewrites the U300 GPIO so as to use gpiolib and struct gpio_chip instead of just generic GPIO, hiding all the platform specifics and passing in GPIO chip variant as platform data at runtime instead of the compiletime kludges. As a result <mach/gpio.h> is now empty for U300 and using just defaults. Cc: Grant Likely <[email protected]> Cc: Debian kernel maintainers <[email protected]> Cc: Arnaud Patard <[email protected]> Reported-by: Ben Hutchings <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-09-05ARM: 7074/1: gpio: davinci: eliminate unused variable warningsAxel Lin1-3/+0
Since commit 5093aec872e5be7a55d8dd2b639e8a3818dc19db "arm: davinci: Cleanup irq chip code", the variable 'mask' and 'g' are not being used. This patch eliminate below unused variable warnings: CC drivers/gpio/gpio-davinci.o drivers/gpio/gpio-davinci.c: In function 'gpio_irq_type': drivers/gpio/gpio-davinci.c:234: warning: unused variable 'mask' drivers/gpio/gpio-davinci.c:233: warning: unused variable 'g' Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-24ARM: 7053/1: gpio/tegra: Implement gpio_chip.to_irqStephen Warren1-1/+5
Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-24ARM: 7052/1: gpio/tegra: Remove use of irq_to_gpioStephen Warren1-6/+10
irq_to_gpio is being removed. Replace the only use of that API by the ARM Tegra sub-architecture. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-23gpio/omap: check return value from irq_alloc_generic_chipTodd Poynor1-0/+5
Ensure return value of irq_alloc_generic_chip() is checked before continuing on to use it. Signed-off-by: Todd Poynor <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2011-08-23gpio/omap: replace MOD_REG_BIT macro with static inlineKevin Hilman1-25/+29
This macro is ugly and confusing, especially since it passes in most arguments, but uses an implied 'base' from the caller. Replace it with an equivalent static inline. Signed-off-by: Kevin Hilman <[email protected]>
2011-08-22ARM: 7049/1: mach-sa1100: move SA1100 GPIO driver to GPIO subsystemLinus Walleij2-1/+64
As per example from the other ARM boards, push the SA100 GPIO driver down to the GPIO subsystem so it can be consolidated. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-22ARM: 7045/1: mach-lpc32xx: break out GPIO driver specificsLinus Walleij1-0/+1
The <mach/gpio.h> file is included from upper directories and deal with generic GPIO and gpiolib stuff. Break out the platform and driver specific defines and functions into its own header file. Cc: Wolfram Sang <[email protected]> Cc: Barry Song <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-22ARM: 7044/1: mach-lpc32xx: move LPC32XX GPIO driver to GPIO subsystemLinus Walleij2-0/+446
As per example from the other ARM boards, push the LPC32XX GPIO driver down to the GPIO subsystem so it can be consolidated. Cc: Wolfram Sang <[email protected]> Cc: Barry Song <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-22ARM: 7041/1: gpio-ep93xx: hookup the to_irq callback in the driverLinus Walleij1-1/+18
Remove the ep93xx machine specific dependencies for gpio_to_irq() by hooking up the callback in the driver and using __gpio_to_irq. Signed-off-by: H Hartley Sweeten <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-22ARM: 7039/1: mach-davinci: move DaVinci TNET GPIO driver to GPIO subsystemLinus Walleij2-0/+206
As per example from the other ARM boards, push the DaVinci TNET GPIO driver down to the GPIO subsystem so it can be consolidated. Cc: Sekhar Nori <[email protected]> Cc: Kevin Hilman <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-22ARM: 7038/1: mach-davinci: move GPIO driver to GPIO subsystemLinus Walleij2-0/+459
As per example from the other ARM boards, push the DaVinci GPIO driver down to the GPIO subsystem so it can be consolidated. Cc: Sekhar Nori <[email protected]> Cc: Kevin Hilman <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-22ARM: 7036/1: mach-ks8695: break out GPIO driver specificsLinus Walleij1-0/+1
The <mach/gpio.h> file is included from upper directories and deal with generic GPIO and gpiolib stuff. Break out the platform and driver specific defines and functions into its own header file. Cc: zeal <[email protected]> Cc: Ben Dooks <[email protected]> Acked-by: Daniel Silverstone <[email protected]> Acked-by: Simtec Linux Team <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-22ARM: 7035/1: mach-ks8695: move GPIO driver to GPIO subsystemLinus Walleij2-0/+319
As per example from the other ARM boards, push the KS8695 GPIO driver down to the GPIO subsystem so it can be consolidated. Cc: zeal <[email protected]> Cc: Ben Dooks <[email protected]> Acked-by: Daniel Silverstone <[email protected]> Acked-by: Simtec Linux Team <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-22ARM: 7033/1: mach-u300: break out GPIO driver specificsLinus Walleij1-0/+1
The <mach/gpio.h> file is included from upper directories and deal with generic GPIO and gpiolib stuff. Break out the platform and driver specific defines and functions into its own header file. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-22ARM: 7032/1: plat-nomadik: break out GPIO driver specificsLinus Walleij1-0/+1
The <[plat|mach]/gpio.h> file is included from upper directories and deal with generic GPIO and gpiolib stuff. Break out the platform and driver specific defines and functions into its own header file. Cc: Srinidhi Kasagar <[email protected]> Cc: Alessandro Rubini <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-17gpio/mxs: move irq_to_gpio() into gpio-mxs driverShawn Guo1-0/+2
As irq_to_gpio() is only being used by gpio-mxs driver, it should be moved from mach/gpio.h into gpio-mxs.c. Signed-off-by: Shawn Guo <[email protected]> Signed-off-by: Sascha Hauer <[email protected]>
2011-08-17gpio/mxc: move irq_to_gpio() into gpio-mxc driverShawn Guo1-0/+2
As irq_to_gpio() is only being used by gpio-mxc driver, it should be moved from mach/gpio.h into gpio-mxc.c. Signed-off-by: Shawn Guo <[email protected]> Signed-off-by: Sascha Hauer <[email protected]>
2011-08-16gpio/mxc: add .to_irq for gpio chipShawn Guo1-0/+10
It adds .to_irq support for gpio chip, so that __gpio_to_irq in gpiolib becomes usable. Signed-off-by: Shawn Guo <[email protected]> Signed-off-by: Sascha Hauer <[email protected]>
2011-08-08ARM: gpio: nomadik: convert drivers to use asm/gpio.h rather than mach/gpio.hRussell King1-1/+1
Signed-off-by: Russell King <[email protected]>
2011-08-08ARM: gpio: omap: convert drivers to use asm/gpio.h rather than mach/gpio.hRussell King1-1/+1
Signed-off-by: Russell King <[email protected]>
2011-08-01Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds5-1/+1088
* 'gpio/next' of git://git.secretlab.ca/git/linux-2.6: gpio_msm: Move Qualcomm MSM v2 gpio driver into drivers gpio_msm: Move Qualcomm v6 MSM driver into drivers msm: gpio: Fold register defs into C file msm: gpiomux: Move public API to public header msm: gpio: Remove ifdefs on gpio chip registers msm: gpio: Remove chip-specific register definitions msm: Remove chip-ifdefs for GPIO io mappings msm: gpio: Remove unsupported devices gpio: ab8500: fix MODULE_ALIAS for ab8500 of/gpio: export of_gpio_simple_xlate
2011-08-01Merge branch 'msm-move-gpio' of ↵Grant Likely4-0/+1087
git://codeaurora.org/quic/kernel/davidb/linux-msm into gpio/next Conflicts: drivers/gpio/Kconfig drivers/gpio/Makefile
2011-08-01gpio_msm: Move Qualcomm MSM v2 gpio driver into driversDavid Brown3-0/+442
Migrate the driver for the v7-based MSM chips into drivers/gpio. The driver is unchanged, only moved. Change-Id: I810db5b50b71cdca4e869aa0d0310f7f48781a55 Signed-off-by: David Brown <[email protected]> Acked-by: Linus Walleij <[email protected]> Acked-by: Nicolas Pitre <[email protected]>
2011-08-01gpio_msm: Move Qualcomm v6 MSM driver into driversDavid Brown3-0/+645
Migrate the driver for the v6-based MSM chips into drivers/gpio. The driver is unchanged, only moved. Change-Id: I03ba597b95b4d62b42da112a8efac88d67aa40f9 Signed-off-by: David Brown <[email protected]> Acked-by: Linus Walleij <[email protected]> Acked-by: Nicolas Pitre <[email protected]>
2011-07-31tps65912: gpio: add gpio driverMargarita Olaya3-0/+163
TPS65912 has five GPIOs that can be configured for different purposes. Signed-off-by: Margarita Olaya Cabrera <[email protected]> Acked-by: Grant Likely <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2011-07-28gpio: ab8500: fix MODULE_ALIAS for ab8500Axel Lin1-1/+1
Since 43cc71eed1250755986da4c0f9898f9a635cb3bf (platform: prefix MODALIAS with "platform:"), the platform modalias is prefixed with "platform:". This patch changes the MODULE_ALIAS to "platform:ab8500-gpio". Signed-off-by: Axel Lin <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2011-07-25Merge branch 'for-linus' of ↵Linus Torvalds4-7/+6
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits) fs: Merge split strings treewide: fix potentially dangerous trailing ';' in #defined values/expressions uwb: Fix misspelling of neighbourhood in comment net, netfilter: Remove redundant goto in ebt_ulog_packet trivial: don't touch files that are removed in the staging tree lib/vsprintf: replace link to Draft by final RFC number doc: Kconfig: `to be' -> `be' doc: Kconfig: Typo: square -> squared doc: Konfig: Documentation/power/{pm => apm-acpi}.txt drivers/net: static should be at beginning of declaration drivers/media: static should be at beginning of declaration drivers/i2c: static should be at beginning of declaration XTENSA: static should be at beginning of declaration SH: static should be at beginning of declaration MIPS: static should be at beginning of declaration ARM: static should be at beginning of declaration rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check Update my e-mail address PCIe ASPM: forcedly -> forcibly gma500: push through device driver tree ... Fix up trivial conflicts: - arch/arm/mach-ep93xx/dma-m2p.c (deleted) - drivers/gpio/gpio-ep93xx.c (renamed and context nearby) - drivers/net/r8169.c (just context changes)
2011-07-22Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds50-802/+2820
* 'gpio/next' of git://git.secretlab.ca/git/linux-2.6: (61 commits) gpio/mxc/mxs: fix build error introduced by the irq_gc_ack() renaming mcp23s08: add i2c support mcp23s08: isolate spi specific parts mcp23s08: get rid of setup/teardown callbacks gpio/tegra: dt: add binding for gpio polarity mcp23s08: remove unused work queue gpio/da9052: remove a redundant assignment for gpio->da9052 gpio/mxc: add device tree probe support ARM: mxc: use ARCH_NR_GPIOS to define gpio number gpio/mxc: get rid of the uses of cpu_is_mx() gpio/mxc: add missing initialization of basic_mmio_gpio shadow variables gpio: Move mpc5200 gpio driver to drivers/gpio GPIO: DA9052 GPIO module v3 gpio/tegra: Use engineering names in DT compatible property of/gpio: Add new method for getting gpios under different property names gpio/dt: Refine GPIO device tree binding gpio/ml-ioh: fix off-by-one for displaying variable i in dev_err gpio/pca953x: Deprecate meaningless device-tree bindings gpio/pca953x: Remove dynamic platform data pointer gpio/pca953x: Fix IRQ support. ...
2011-07-19gpio/mxc/mxs: fix build error introduced by the irq_gc_ack() renamingShawn Guo2-4/+4
The following commit renames irq_gc_ack() to irq_gc_ack_set_bit(), and makes gpio-mxc and gpio-mxs fail to build. 659fb32d1b67476f4ade25e9ea0e2642a5b9c4b5 genirq: replace irq_gc_ack() with {set,clr}_bit variants (fwd) The patch fixed a couple of typo of comma to semicolon. Signed-off-by: Shawn Guo <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2011-07-15gpio: wm831x: add a missing break in wm831x_gpio_dbg_showAxel Lin1-0/+1
Signed-off-by: Axel Lin <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2011-07-15mcp23s08: add i2c supportPeter Korsgaard2-8/+191
Add i2c bindings for the mcp230xx devices. This is quite a lot simpler than the spi one as there's no funky sub addressing done (one struct i2c_client per struct gpio_chip). The mcp23s08_platform_data structure is reused for i2c, even though only a single mcp23s08_chip_info structure is needed. To use, simply fill out a platform_data structure and pass it in i2c_board_info, E.G.: static const struct mcp23s08_platform_data mcp23017_data = { .chip[0] = { .pullups = 0x00ff, }, .base = 240, }; static struct i2c_board_info __initdata i2c_devs[] = { { I2C_BOARD_INFO("mcp23017", 0x20), .platform_data = &smartview_mcp23017_data, }, ... }; Signed-off-by: Peter Korsgaard <[email protected]> Signed-off-by: Grant Likely <[email protected]>