diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-11-11 11:35:33 +0100 |
---|---|---|
committer | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-11-17 10:01:39 +0100 |
commit | ab9cee4b2167f8bf01d85b537df5b9cbe342c780 (patch) | |
tree | db37c9d9263e1a2aea6c3c6b08b904c0163e905e /arch/arm/plat-mxc | |
parent | d485c7e71675abdd6133128e596b41284c2ee7b5 (diff) |
ARM: mx25: dynamically allocate imx-keypad devices
The mxc-keypad device seems to be the result of an early and partial
merge of the keypad driver. It's unused and there is no corresponding
driver available, so just remove it.
Cc: Alberto Panizzo <maramaopercheseimorto@gmail.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'arch/arm/plat-mxc')
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-imx-keypad.c | 14 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/devices-common.h | 1 |
2 files changed, 11 insertions, 4 deletions
diff --git a/arch/arm/plat-mxc/devices/platform-imx-keypad.c b/arch/arm/plat-mxc/devices/platform-imx-keypad.c index fdfee551a09..5995e819b37 100644 --- a/arch/arm/plat-mxc/devices/platform-imx-keypad.c +++ b/arch/arm/plat-mxc/devices/platform-imx-keypad.c @@ -9,20 +9,26 @@ #include <mach/hardware.h> #include <mach/devices-common.h> -#define imx_imx_keypad_data_entry_single(soc) \ +#define imx_imx_keypad_data_entry_single(soc, _size) \ { \ .iobase = soc ## _KPP_BASE_ADDR, \ + .iosize = _size, \ .irq = soc ## _INT_KPP, \ } #ifdef CONFIG_SOC_IMX21 const struct imx_imx_keypad_data imx21_imx_keypad_data __initconst = - imx_imx_keypad_data_entry_single(MX21); + imx_imx_keypad_data_entry_single(MX21, SZ_16); #endif /* ifdef CONFIG_SOC_IMX21 */ +#ifdef CONFIG_ARCH_MX25 +const struct imx_imx_keypad_data imx25_imx_keypad_data __initconst = + imx_imx_keypad_data_entry_single(MX25, SZ_16K); +#endif + #ifdef CONFIG_SOC_IMX27 const struct imx_imx_keypad_data imx27_imx_keypad_data __initconst = - imx_imx_keypad_data_entry_single(MX27); + imx_imx_keypad_data_entry_single(MX27, SZ_16); #endif /* ifdef CONFIG_SOC_IMX27 */ struct platform_device *__init imx_add_imx_keypad( @@ -32,7 +38,7 @@ struct platform_device *__init imx_add_imx_keypad( struct resource res[] = { { .start = data->iobase, - .end = data->iobase + SZ_16 - 1, + .end = data->iobase + data->iosize - 1, .flags = IORESOURCE_MEM, }, { .start = data->irq, diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h index 07223b2cf17..8482613e972 100644 --- a/arch/arm/plat-mxc/include/mach/devices-common.h +++ b/arch/arm/plat-mxc/include/mach/devices-common.h @@ -95,6 +95,7 @@ struct platform_device *__init imx_add_imx_i2c( #include <linux/input/matrix_keypad.h> struct imx_imx_keypad_data { resource_size_t iobase; + resource_size_t iosize; resource_size_t irq; }; struct platform_device *__init imx_add_imx_keypad( |