lkml.org 
[lkml]   [2014]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 2/4] net: davinci_mdio: use devm_* api
    Date
    Use devm_* API for memory allocation and to get device's clock
    to simplify driver's code.

    Cc: Florian Fainelli <f.fainelli@gmail.com>
    Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
    Acked-and-tested-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
    Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
    ---
    drivers/net/ethernet/ti/davinci_mdio.c | 24 +++++-------------------
    1 file changed, 5 insertions(+), 19 deletions(-)

    diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
    index 0cca9de..4b202a2 100644
    --- a/drivers/net/ethernet/ti/davinci_mdio.c
    +++ b/drivers/net/ethernet/ti/davinci_mdio.c
    @@ -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;
    }

    --
    1.7.9.5


    \
     
     \ /
      Last update: 2014-04-30 14:01    [W:3.834 / U:0.312 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site