#include <linux/slab.h>
 #include <linux/err.h>
 #include <linux/module.h>
-#include <linux/of.h>
-#include <linux/of_device.h>
+#include <linux/mod_devicetable.h>
+#include <linux/property.h>
 
 #include <linux/iio/iio.h>
 #include <linux/iio/sysfs.h>
        return IRQ_HANDLED;
 }
 
-#ifdef CONFIG_OF
-
 #define MAX1363_COMPATIBLE(of_compatible, cfg) {               \
                        .compatible = of_compatible,            \
                        .data = &max1363_chip_info_tbl[cfg],    \
        { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, max1363_of_match);
-#endif
 
 static int max1363_probe(struct i2c_client *client,
                         const struct i2c_device_id *id)
        /* this is only used for device removal purposes */
        i2c_set_clientdata(client, indio_dev);
 
-       st->chip_info = of_device_get_match_data(&client->dev);
+       st->chip_info = device_get_match_data(&client->dev);
        if (!st->chip_info)
                st->chip_info = &max1363_chip_info_tbl[id->driver_data];
        st->client = client;
 static struct i2c_driver max1363_driver = {
        .driver = {
                .name = "max1363",
-               .of_match_table = of_match_ptr(max1363_of_match),
+               .of_match_table = max1363_of_match,
        },
        .probe = max1363_probe,
        .remove = max1363_remove,