gpio: Use device_get_match_data()
[linux-2.6-microblaze.git] / drivers / gpio / gpio-davinci.c
index 8db5717..bb499e3 100644 (file)
 #include <linux/irqdomain.h>
 #include <linux/module.h>
 #include <linux/of.h>
-#include <linux/of_device.h>
 #include <linux/pinctrl/consumer.h>
 #include <linux/platform_device.h>
 #include <linux/platform_data/gpio-davinci.h>
+#include <linux/property.h>
 #include <linux/irqchip/chained_irq.h>
 #include <linux/spinlock.h>
 #include <linux/pm_runtime.h>
@@ -486,7 +486,6 @@ static int davinci_gpio_irq_setup(struct platform_device *pdev)
        struct davinci_gpio_platform_data *pdata = dev->platform_data;
        struct davinci_gpio_regs __iomem *g;
        struct irq_domain       *irq_domain = NULL;
-       const struct of_device_id *match;
        struct irq_chip *irq_chip;
        struct davinci_gpio_irq_data *irqdata;
        gpio_get_irq_chip_cb_t gpio_get_irq_chip;
@@ -495,10 +494,8 @@ static int davinci_gpio_irq_setup(struct platform_device *pdev)
         * Use davinci_gpio_get_irq_chip by default to handle non DT cases
         */
        gpio_get_irq_chip = davinci_gpio_get_irq_chip;
-       match = of_match_device(of_match_ptr(davinci_gpio_ids),
-                               dev);
-       if (match)
-               gpio_get_irq_chip = (gpio_get_irq_chip_cb_t)match->data;
+       if (dev->of_node)
+               gpio_get_irq_chip = (gpio_get_irq_chip_cb_t)device_get_match_data(dev);
 
        ngpio = pdata->ngpio;