diff options
author | Haojian Zhuang <haojian.zhuang@marvell.com> | 2011-10-17 20:37:52 +0800 |
---|---|---|
committer | Haojian Zhuang <hzhuang1@hexinfolabs.org> | 2011-11-15 19:08:27 +0800 |
commit | 157d2644cb0c1e71a18baaffca56d2b1d0ebf10f (patch) | |
tree | e33d224362ce8ac0706725f02ecd8b89c3645934 /arch/arm/mach-pxa/devices.c | |
parent | 9bf448c66d4b4cb03813b39195d408701ecf1fab (diff) | |
download | op-kernel-dev-157d2644cb0c1e71a18baaffca56d2b1d0ebf10f.zip op-kernel-dev-157d2644cb0c1e71a18baaffca56d2b1d0ebf10f.tar.gz |
ARM: pxa: change gpio to platform device
Remove most gpio macros and change gpio driver to platform driver.
Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Diffstat (limited to 'arch/arm/mach-pxa/devices.c')
-rw-r--r-- | arch/arm/mach-pxa/devices.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index 2e04254..5bc1312 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c @@ -1051,6 +1051,36 @@ struct platform_device pxa3xx_device_ssp4 = { }; #endif /* CONFIG_PXA3xx || CONFIG_PXA95x */ +struct resource pxa_resource_gpio[] = { + { + .start = 0x40e00000, + .end = 0x40e0ffff, + .flags = IORESOURCE_MEM, + }, { + .start = IRQ_GPIO0, + .end = IRQ_GPIO0, + .name = "gpio0", + .flags = IORESOURCE_IRQ, + }, { + .start = IRQ_GPIO1, + .end = IRQ_GPIO1, + .name = "gpio1", + .flags = IORESOURCE_IRQ, + }, { + .start = IRQ_GPIO_2_x, + .end = IRQ_GPIO_2_x, + .name = "gpio_mux", + .flags = IORESOURCE_IRQ, + }, +}; + +struct platform_device pxa_device_gpio = { + .name = "pxa-gpio", + .id = -1, + .num_resources = ARRAY_SIZE(pxa_resource_gpio), + .resource = pxa_resource_gpio, +}; + /* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1. * See comment in arch/arm/mach-pxa/ssp.c::ssp_probe() */ void __init pxa2xx_set_spi_info(unsigned id, struct pxa2xx_spi_master *info) |