static const struct of_device_id mpc5xxx_can_table[];
 static int mpc5xxx_can_probe(struct platform_device *ofdev)
 {
-       const struct of_device_id *match;
        const struct mpc5xxx_can_data *data;
        struct device_node *np = ofdev->dev.of_node;
        struct net_device *dev;
        int irq, mscan_clksrc = 0;
        int err = -ENOMEM;
 
-       match = of_match_device(mpc5xxx_can_table, &ofdev->dev);
-       if (!match)
+       data = of_device_get_match_data(&ofdev->dev);
+       if (!data)
                return -EINVAL;
-       data = match->data;
 
        base = of_iomap(np, 0);
        if (!base) {