diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2016-09-03 23:01:43 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2020-10-12 21:55:24 +0100 |
commit | c48c142be69a3891cbd9bcc9c3ab5816f8152723 (patch) | |
tree | e549c149d08c88f0f62caea027fa48fa5d2677c9 /arch/arm/mach-pxa/colibri-pxa320.c | |
parent | 64ba939dd2beab5c66a5c16db9e5dfabb11a2a15 (diff) |
ARM: pxa/colibri: switch pcmcia to gpiod APIs
Switch the Colibri family of devices to use the gpiod APIs rather than
listing the GPIOs and interrupts in the board specific PCMCIA driver.
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/colibri-pxa320.c')
-rw-r--r-- | arch/arm/mach-pxa/colibri-pxa320.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/colibri-pxa320.c b/arch/arm/mach-pxa/colibri-pxa320.c index 35dd3adb7712..1109e10f7022 100644 --- a/arch/arm/mach-pxa/colibri-pxa320.c +++ b/arch/arm/mach-pxa/colibri-pxa320.c @@ -13,6 +13,7 @@ #include <linux/platform_device.h> #include <linux/gpio/machine.h> #include <linux/gpio.h> +#include <linux/gpio/machine.h> #include <linux/interrupt.h> #include <asm/mach-types.h> @@ -91,8 +92,29 @@ static mfp_cfg_t colibri_pxa320_evalboard_pin_config[] __initdata = { GPIO79_GPIO, /* PBVD2 */ GPIO54_GPIO, /* POE */ }; + +static struct gpiod_lookup_table colibri_pxa320_pcmcia_gpio_table = { + .dev_id = "pxa2xx-pcmcia", + .table = { + GPIO_LOOKUP("GPIO", 29, "ready", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIO", 53, "bvd1", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIO", 57, "ppen", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIO", 77, "reset", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIO", 79, "bvd2", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIO", 81, "detect", GPIO_ACTIVE_HIGH), + { }, + }, +}; + +static void colibri_pxa320_init_pcmcia(void) +{ + gpiod_add_lookup_table(&colibri_pxa320_pcmcia_gpio_table); +} #else static mfp_cfg_t colibri_pxa320_evalboard_pin_config[] __initdata = {}; +static void colibri_pxa320_init_pcmcia(void) +{ +} #endif #if defined(CONFIG_AX88796) @@ -245,6 +267,7 @@ void __init colibri_pxa320_init(void) colibri_pxa3xx_init_lcd(mfp_to_gpio(GPIO49_GPIO)); colibri_pxa320_init_ac97(); colibri_pxa320_init_udc(); + colibri_pxa320_init_pcmcia(); /* Evalboard init */ pxa3xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa320_evalboard_pin_config)); |