#include <linux/io.h>
 #include <linux/of.h>
 #include <linux/input.h>
+#include <linux/input/matrix_keypad.h>
 #include <linux/slab.h>
 #include <linux/pm_runtime.h>
 
-#include <linux/platform_data/omap4-keypad.h>
-
 /* OMAP4 registers */
 #define OMAP4_KBD_REVISION             0x00
 #define OMAP4_KBD_SYSCONFIG            0x10
        pm_runtime_put_sync(input->dev.parent);
 }
 
-#ifdef CONFIG_OF
 static int omap4_keypad_parse_dt(struct device *dev,
                                 struct omap4_keypad *keypad_data)
 {
 
        return 0;
 }
-#else
-static inline int omap4_keypad_parse_dt(struct device *dev,
-                                       struct omap4_keypad *keypad_data)
-{
-       return -ENOSYS;
-}
-#endif
 
 static int omap4_keypad_probe(struct platform_device *pdev)
 {
-       const struct omap4_keypad_platform_data *pdata =
-                               dev_get_platdata(&pdev->dev);
-       const struct matrix_keymap_data *keymap_data =
-                               pdata ? pdata->keymap_data : NULL;
        struct omap4_keypad *keypad_data;
        struct input_dev *input_dev;
        struct resource *res;
 
        keypad_data->irq = irq;
 
-       if (pdata) {
-               keypad_data->rows = pdata->rows;
-               keypad_data->cols = pdata->cols;
-       } else {
-               error = omap4_keypad_parse_dt(&pdev->dev, keypad_data);
-               if (error)
-                       return error;
-       }
+       error = omap4_keypad_parse_dt(&pdev->dev, keypad_data);
+       if (error)
+               return error;
 
        res = request_mem_region(res->start, resource_size(res), pdev->name);
        if (!res) {
                goto err_free_input;
        }
 
-       error = matrix_keypad_build_keymap(keymap_data, NULL,
+       error = matrix_keypad_build_keymap(NULL, NULL,
                                           keypad_data->rows, keypad_data->cols,
                                           keypad_data->keymap, input_dev);
        if (error) {
        return 0;
 }
 
-#ifdef CONFIG_OF
 static const struct of_device_id omap_keypad_dt_match[] = {
        { .compatible = "ti,omap4-keypad" },
        {},
 };
 MODULE_DEVICE_TABLE(of, omap_keypad_dt_match);
-#endif
 
 #ifdef CONFIG_PM_SLEEP
 static int omap4_keypad_suspend(struct device *dev)
                .name   = "omap4-keypad",
                .owner  = THIS_MODULE,
                .pm     = &omap4_keypad_pm_ops,
-               .of_match_table = of_match_ptr(omap_keypad_dt_match),
+               .of_match_table = omap_keypad_dt_match,
        },
 };
 module_platform_driver(omap4_keypad_driver);