drivers: net: davinci_mdio: do pm runtime initialization later in probe
authorGrygorii Strashko <grygorii.strashko@ti.com>
Fri, 24 Jun 2016 18:23:46 +0000 (21:23 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 28 Jun 2016 12:57:18 +0000 (08:57 -0400)
Do PM runtime initialization later in probe - this allows to simplify
error handling a bit.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/davinci_mdio.c

index 4e7c9b9b042a3724ee9b8dda0b19e2f441caf836..2e19dd14734a341dcc6a6698e5ef5af74a1bd7e9 100644 (file)
@@ -356,14 +356,10 @@ static int davinci_mdio_probe(struct platform_device *pdev)
        data->bus->parent       = dev;
        data->bus->priv         = data;
 
-       pm_runtime_enable(&pdev->dev);
-       pm_runtime_get_sync(&pdev->dev);
        data->clk = devm_clk_get(dev, "fck");
        if (IS_ERR(data->clk)) {
                dev_err(dev, "failed to get device clock\n");
-               ret = PTR_ERR(data->clk);
-               data->clk = NULL;
-               goto bail_out;
+               return PTR_ERR(data->clk);
        }
 
        dev_set_drvdata(dev, data);
@@ -372,10 +368,11 @@ static int davinci_mdio_probe(struct platform_device *pdev)
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        data->regs = devm_ioremap_resource(dev, res);
-       if (IS_ERR(data->regs)) {
-               ret = PTR_ERR(data->regs);
-               goto bail_out;
-       }
+       if (IS_ERR(data->regs))
+               return PTR_ERR(data->regs);
+
+       pm_runtime_enable(&pdev->dev);
+       pm_runtime_get_sync(&pdev->dev);
 
        /* register the mii bus
         * Create PHYs from DT only in case if PHY child nodes are explicitly