net: mdio: mscc-miim: add local dev variable to cleanup probe function
Create a local device *dev in order to not dereference the platform_device several times throughout the probe function. Signed-off-by: Colin Foster <colin.foster@in-advantage.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
34ba23b44c
commit
626a5aaa50
@ -272,6 +272,7 @@ static int mscc_miim_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct regmap *mii_regmap, *phy_regmap = NULL;
|
||||
struct device_node *np = pdev->dev.of_node;
|
||||
struct device *dev = &pdev->dev;
|
||||
void __iomem *regs, *phy_regs;
|
||||
struct mscc_miim_dev *miim;
|
||||
struct resource *res;
|
||||
@ -280,57 +281,55 @@ static int mscc_miim_probe(struct platform_device *pdev)
|
||||
|
||||
regs = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
|
||||
if (IS_ERR(regs)) {
|
||||
dev_err(&pdev->dev, "Unable to map MIIM registers\n");
|
||||
dev_err(dev, "Unable to map MIIM registers\n");
|
||||
return PTR_ERR(regs);
|
||||
}
|
||||
|
||||
mii_regmap = devm_regmap_init_mmio(&pdev->dev, regs,
|
||||
&mscc_miim_regmap_config);
|
||||
mii_regmap = devm_regmap_init_mmio(dev, regs, &mscc_miim_regmap_config);
|
||||
|
||||
if (IS_ERR(mii_regmap)) {
|
||||
dev_err(&pdev->dev, "Unable to create MIIM regmap\n");
|
||||
dev_err(dev, "Unable to create MIIM regmap\n");
|
||||
return PTR_ERR(mii_regmap);
|
||||
}
|
||||
|
||||
/* This resource is optional */
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
|
||||
if (res) {
|
||||
phy_regs = devm_ioremap_resource(&pdev->dev, res);
|
||||
phy_regs = devm_ioremap_resource(dev, res);
|
||||
if (IS_ERR(phy_regs)) {
|
||||
dev_err(&pdev->dev, "Unable to map internal phy registers\n");
|
||||
dev_err(dev, "Unable to map internal phy registers\n");
|
||||
return PTR_ERR(phy_regs);
|
||||
}
|
||||
|
||||
phy_regmap = devm_regmap_init_mmio(&pdev->dev, phy_regs,
|
||||
phy_regmap = devm_regmap_init_mmio(dev, phy_regs,
|
||||
&mscc_miim_phy_regmap_config);
|
||||
if (IS_ERR(phy_regmap)) {
|
||||
dev_err(&pdev->dev, "Unable to create phy register regmap\n");
|
||||
dev_err(dev, "Unable to create phy register regmap\n");
|
||||
return PTR_ERR(phy_regmap);
|
||||
}
|
||||
}
|
||||
|
||||
ret = mscc_miim_setup(&pdev->dev, &bus, "mscc_miim", mii_regmap, 0);
|
||||
ret = mscc_miim_setup(dev, &bus, "mscc_miim", mii_regmap, 0);
|
||||
if (ret < 0) {
|
||||
dev_err(&pdev->dev, "Unable to setup the MDIO bus\n");
|
||||
dev_err(dev, "Unable to setup the MDIO bus\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
miim = bus->priv;
|
||||
miim->phy_regs = phy_regmap;
|
||||
|
||||
miim->info = device_get_match_data(&pdev->dev);
|
||||
miim->info = device_get_match_data(dev);
|
||||
if (!miim->info)
|
||||
return -EINVAL;
|
||||
|
||||
miim->clk = devm_clk_get_optional(&pdev->dev, NULL);
|
||||
miim->clk = devm_clk_get_optional(dev, NULL);
|
||||
if (IS_ERR(miim->clk))
|
||||
return PTR_ERR(miim->clk);
|
||||
|
||||
of_property_read_u32(np, "clock-frequency", &miim->bus_freq);
|
||||
|
||||
if (miim->bus_freq && !miim->clk) {
|
||||
dev_err(&pdev->dev,
|
||||
"cannot use clock-frequency without a clock\n");
|
||||
dev_err(dev, "cannot use clock-frequency without a clock\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@ -344,7 +343,7 @@ static int mscc_miim_probe(struct platform_device *pdev)
|
||||
|
||||
ret = of_mdiobus_register(bus, np);
|
||||
if (ret < 0) {
|
||||
dev_err(&pdev->dev, "Cannot register MDIO bus (%d)\n", ret);
|
||||
dev_err(dev, "Cannot register MDIO bus (%d)\n", ret);
|
||||
goto out_disable_clk;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user