struct davinci_spi *dspi)
 {
        struct device_node *node = pdev->dev.of_node;
-       struct davinci_spi_of_data *spi_data;
+       const struct davinci_spi_of_data *spi_data;
        struct davinci_spi_platform_data *pdata;
        unsigned int num_cs, intr_line = 0;
-       const struct of_device_id *match;
 
        pdata = &dspi->pdata;
 
-       match = of_match_device(davinci_spi_of_match, &pdev->dev);
-       if (!match)
-               return -ENODEV;
-
-       spi_data = (struct davinci_spi_of_data *)match->data;
+       spi_data = device_get_match_data(&pdev->dev);
 
        pdata->version = spi_data->version;
        pdata->prescaler_limit = spi_data->prescaler_limit;