summaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-mxc
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-11-11 11:35:33 +0100
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-11-17 10:01:39 +0100
commitab9cee4b2167f8bf01d85b537df5b9cbe342c780 (patch)
treedb37c9d9263e1a2aea6c3c6b08b904c0163e905e /arch/arm/plat-mxc
parentd485c7e71675abdd6133128e596b41284c2ee7b5 (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.c14
-rw-r--r--arch/arm/plat-mxc/include/mach/devices-common.h1
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(