Rather than using of_match_node() to get the matching of_device_id
to then retrieve the match data, use device_get_match_data() instead
to avoid firmware specific functions, and free the driver from having
firmware specific code.
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        if (err < 0)
                return err;
 
-       sff = sfp->type = &sfp_data;
+       sff = device_get_match_data(sfp->dev);
+       if (!sff)
+               sff = &sfp_data;
 
-       if (pdev->dev.of_node) {
-               const struct of_device_id *id;
-
-               id = of_match_node(sfp_of_match, pdev->dev.of_node);
-               if (WARN_ON(!id))
-                       return -EINVAL;
-
-               sff = sfp->type = id->data;
-       } else if (!has_acpi_companion(&pdev->dev)) {
-               return -EINVAL;
-       }
+       sfp->type = sff;
 
        err = sfp_i2c_get(sfp);
        if (err)