#include <linux/regulator/fixed.h>
 #include <linux/leds.h>
 #include <linux/leds_pwm.h>
+#include <linux/platform_data/omap4-keypad.h>
 
 #include <mach/hardware.h>
 #include <asm/hardware/gic.h>
 
 #include <linux/err.h>
 #include <linux/slab.h>
 #include <linux/of.h>
+#include <linux/platform_data/omap4-keypad.h>
 
 #include <mach/hardware.h>
 #include <mach/irqs.h>
 
 #ifndef ARCH_ARM_PLAT_OMAP4_KEYPAD_H
 #define ARCH_ARM_PLAT_OMAP4_KEYPAD_H
 
-#include <linux/input/matrix_keypad.h>
-
-struct omap4_keypad_platform_data {
-       const struct matrix_keymap_data *keymap_data;
-
-       u8 rows;
-       u8 cols;
-};
-
 extern int omap4_keyboard_init(struct omap4_keypad_platform_data *,
                                struct omap_board_data *);
 #endif
 
 
 config KEYBOARD_OMAP4
        tristate "TI OMAP4 keypad support"
-       depends on ARCH_OMAP4
        help
          Say Y here if you want to use the OMAP4 keypad.
 
 
 #include <linux/slab.h>
 #include <linux/pm_runtime.h>
 
-#include <plat/omap4-keypad.h>
+#include <linux/platform_data/omap4-keypad.h>
 
 /* OMAP4 registers */
 #define OMAP4_KBD_REVISION             0x00
 
--- /dev/null
+#ifndef __LINUX_INPUT_OMAP4_KEYPAD_H
+#define __LINUX_INPUT_OMAP4_KEYPAD_H
+
+#include <linux/input/matrix_keypad.h>
+
+struct omap4_keypad_platform_data {
+       const struct matrix_keymap_data *keymap_data;
+
+       u8 rows;
+       u8 cols;
+};
+
+#endif /* __LINUX_INPUT_OMAP4_KEYPAD_H */