]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit - drivers/gpio/gpio-sodaville.c
gpio: Add a driver for Sodaville GPIO controller
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Mon, 27 Jun 2011 07:26:23 +0000 (09:26 +0200)
committerGrant Likely <grant.likely@secretlab.ca>
Fri, 3 Feb 2012 23:13:25 +0000 (16:13 -0700)
commitb43ab901d671e3e3cad425ea5e9a3c74e266dcdd
tree9527497057e939c478ff8ac5760f71cafff3b996
parent608589b15f02e59e8c40df7ef861064f1b6fa504
gpio: Add a driver for Sodaville GPIO controller

Sodaville has GPIO controller behind the PCI bus. To my suprissed it is
not the same as on PXA.

The interrupt & gpio chip can be referenced from the device tree like
from any other driver. Unfortunately the driver which uses the gpio
interrupt has to use irq_of_parse_and_map() instead of
platform_get_irq(). The problem is that the platform device (which is
created from the device tree) is most likely created before the
interrupt chip is registered and therefore irq_of_parse_and_map() fails.

In theory the driver works as module. In reality most of the irq
functions are not exported to modules and it is possible that _this_
module is unloaded while the provided irqs are still in use.

Signed-off-by: Hans J. Koch <hjk@linutronix.de>
[torbenh@linutronix.de: make it work after the irq namespace cleanup,
                add some device tree entries.]
Signed-off-by: Torben Hohn <torbenh@linutronix.de>
[bigeasy@linutronix.de: convert to generic irq & gpio chip]
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
[grant.likely@secretlab.ca: depend on x86 to avoid irq_domain breakage]
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Documentation/devicetree/bindings/gpio/sodaville.txt [new file with mode: 0644]
arch/x86/platform/ce4100/falconfalls.dts
drivers/gpio/Kconfig
drivers/gpio/Makefile
drivers/gpio/gpio-sodaville.c [new file with mode: 0644]