#include <linux/spi/spi.h>
 #include <linux/gpio.h>
 #include <linux/of.h>
+#include <linux/of_device.h>
 #include <linux/of_gpio.h>
 
 #include <linux/platform_data/spi-s3c64xx.h>
 }
 #endif
 
-static const struct of_device_id s3c64xx_spi_dt_match[];
-
 static inline struct s3c64xx_spi_port_config *s3c64xx_spi_get_port_config(
                                                struct platform_device *pdev)
 {
 #ifdef CONFIG_OF
-       if (pdev->dev.of_node) {
-               const struct of_device_id *match;
-               match = of_match_node(s3c64xx_spi_dt_match, pdev->dev.of_node);
-               return (struct s3c64xx_spi_port_config *)match->data;
-       }
+       if (pdev->dev.of_node)
+               return (struct s3c64xx_spi_port_config *)of_device_get_match_data(&pdev->dev);
 #endif
        return (struct s3c64xx_spi_port_config *)
                         platform_get_device_id(pdev)->driver_data;