i2c: Use device_get_match_data()
[linux-2.6-block.git] / drivers / i2c / busses / i2c-omap.c
index 58fd6fa3edf1449c30fe713adca8273e054e52fd..42165ef57946ce1aefa76436ca7e31dff2482be1 100644 (file)
 #include <linux/clk.h>
 #include <linux/io.h>
 #include <linux/of.h>
-#include <linux/of_device.h>
 #include <linux/slab.h>
 #include <linux/platform_data/i2c-omap.h>
 #include <linux/pm_runtime.h>
 #include <linux/pinctrl/consumer.h>
+#include <linux/property.h>
 
 /* I2C controller revisions */
 #define OMAP_I2C_OMAP1_REV_2           0x20
@@ -1358,7 +1358,6 @@ omap_i2c_probe(struct platform_device *pdev)
        const struct omap_i2c_bus_platform_data *pdata =
                dev_get_platdata(&pdev->dev);
        struct device_node      *node = pdev->dev.of_node;
-       const struct of_device_id *match;
        int irq;
        int r;
        u32 rev;
@@ -1376,11 +1375,10 @@ omap_i2c_probe(struct platform_device *pdev)
        if (IS_ERR(omap->base))
                return PTR_ERR(omap->base);
 
-       match = of_match_device(of_match_ptr(omap_i2c_of_match), &pdev->dev);
-       if (match) {
+       if (pdev->dev.of_node) {
                u32 freq = I2C_MAX_STANDARD_MODE_FREQ;
 
-               pdata = match->data;
+               pdata = device_get_match_data(&pdev->dev);
                omap->flags = pdata->flags;
 
                of_property_read_u32(node, "clock-frequency", &freq);