net: sfp: use device_get_match_data()
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>
This commit is contained in:
parent
ff31a0c496
commit
b71dda8112
@ -2685,19 +2685,11 @@ static int sfp_probe(struct platform_device *pdev)
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user