summaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-mxc/devices/platform-imx-keypad.c
diff options
context:
space:
mode:
authorUwe Kleine-König2010-11-11 11:35:33 +0100
committerUwe Kleine-König2010-11-17 10:01:39 +0100
commitab9cee4b2167f8bf01d85b537df5b9cbe342c780 (patch)
treedb37c9d9263e1a2aea6c3c6b08b904c0163e905e /arch/arm/plat-mxc/devices/platform-imx-keypad.c
parentARM: mx25: move registration of gpios to plat-mxc/gpio.c (diff)
downloadkernel-qcow2-linux-ab9cee4b2167f8bf01d85b537df5b9cbe342c780.tar.gz
kernel-qcow2-linux-ab9cee4b2167f8bf01d85b537df5b9cbe342c780.tar.xz
kernel-qcow2-linux-ab9cee4b2167f8bf01d85b537df5b9cbe342c780.zip
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/devices/platform-imx-keypad.c')
-rw-r--r--arch/arm/plat-mxc/devices/platform-imx-keypad.c14
1 files changed, 10 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 fdfee551a095..5995e819b373 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,