|
@@ -321,15 +321,14 @@ static int davinci_mdio_probe(struct platform_device *pdev)
|
|
|
struct phy_device *phy;
|
|
|
int ret, addr;
|
|
|
|
|
|
- data = kzalloc(sizeof(*data), GFP_KERNEL);
|
|
|
+ data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
|
|
|
if (!data)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
- data->bus = mdiobus_alloc();
|
|
|
+ data->bus = devm_mdiobus_alloc(dev);
|
|
|
if (!data->bus) {
|
|
|
dev_err(dev, "failed to alloc mii bus\n");
|
|
|
- ret = -ENOMEM;
|
|
|
- goto bail_out;
|
|
|
+ return -ENOMEM;
|
|
|
}
|
|
|
|
|
|
if (dev->of_node) {
|
|
@@ -354,7 +353,7 @@ static int davinci_mdio_probe(struct platform_device *pdev)
|
|
|
|
|
|
pm_runtime_enable(&pdev->dev);
|
|
|
pm_runtime_get_sync(&pdev->dev);
|
|
|
- data->clk = clk_get(&pdev->dev, "fck");
|
|
|
+ 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);
|
|
@@ -406,16 +405,9 @@ static int davinci_mdio_probe(struct platform_device *pdev)
|
|
|
return 0;
|
|
|
|
|
|
bail_out:
|
|
|
- if (data->bus)
|
|
|
- mdiobus_free(data->bus);
|
|
|
-
|
|
|
- if (data->clk)
|
|
|
- clk_put(data->clk);
|
|
|
pm_runtime_put_sync(&pdev->dev);
|
|
|
pm_runtime_disable(&pdev->dev);
|
|
|
|
|
|
- kfree(data);
|
|
|
-
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -423,18 +415,12 @@ static int davinci_mdio_remove(struct platform_device *pdev)
|
|
|
{
|
|
|
struct davinci_mdio_data *data = platform_get_drvdata(pdev);
|
|
|
|
|
|
- if (data->bus) {
|
|
|
+ if (data->bus)
|
|
|
mdiobus_unregister(data->bus);
|
|
|
- mdiobus_free(data->bus);
|
|
|
- }
|
|
|
|
|
|
- if (data->clk)
|
|
|
- clk_put(data->clk);
|
|
|
pm_runtime_put_sync(&pdev->dev);
|
|
|
pm_runtime_disable(&pdev->dev);
|
|
|
|
|
|
- kfree(data);
|
|
|
-
|
|
|
return 0;
|
|
|
}
|
|
|
|