lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 30 Apr 2014 15:23:34 +0300 From: Grygorii Strashko <grygorii.strashko@...com> To: Florian Fainelli <f.fainelli@...il.com>, <netdev@...r.kernel.org> CC: Randy Dunlap <rdunlap@...radead.org>, Jonathan Cameron <jic23@...nel.org>, "David S. Miller" <davem@...emloft.net>, <santosh.shilimkar@...com>, Sekhar Nori <nsekhar@...com>, <linux-doc@...r.kernel.org>, <linux-kernel@...r.kernel.org>, <davinci-linux-open-source@...ux.davincidsp.com>, <sergei.shtylyov@...entembedded.com>, <prabhakar.csengg@...il.com>, Grygorii Strashko <grygorii.strashko@...com> Subject: [PATCH v3 2/4] net: davinci_mdio: use devm_* api Use devm_* API for memory allocation and to get device's clock to simplify driver's code. Cc: Florian Fainelli <f.fainelli@...il.com> Cc: Sergei Shtylyov <sergei.shtylyov@...entembedded.com> Acked-and-tested-by: Lad, Prabhakar <prabhakar.csengg@...il.com> Signed-off-by: Grygorii Strashko <grygorii.strashko@...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 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists