bus: omap_l3_noc.c: use devm functions
PATCH 1/1 bus: omap_l3_noc.c: use devm functions
This uses devm function to ease mem alloc
Signed-off-by abdoulaye berthe <[email protected]>
--- drivers/bus/omap_l3_noc.c | 73 +++++++++++------------------------------------ 1 file changed, 17 insertions(+), 56 deletions(-)
drivers/bus/omap_l3_noc.c +17 -56
@@ -133,53 +133,28 @@ static int omap4_l3_probe(struct platform_device *pdev)static struct omap4_l3 *l3;struct resource *res;int ret; +struct device *dev = &pdev->dev; - l3 =kzalloc (sizeof (*l3),GFP_KERNEL ); + l3 =devm_kzalloc (dev,sizeof (struct omap4_l3 ),GFP_KERNEL );if (!l3)return -ENOMEM ;platform_set_drvdata (pdev, l3); - res =platform_get_resource (pdev,IORESOURCE_MEM ,0 ); -if (!res) { -dev_err (&pdev->dev,"couldn't find resource 0\n" ); - ret = -ENODEV ; - goto err0; - } - l3->l3_base[0 ] =ioremap (res->start,resource_size (res)); -if (!l3->l3_base[0 ]) { -dev_err (&pdev->dev,"ioremap failed\n" ); - ret = -ENOMEM ; - goto err0; - } + res =platform_get_resource (pdev,IORESOURCE_MEM ,0 ); + l3->l3_base[0 ] =devm_ioremap (dev, res->start,resource_size (res)); +if (IS_ERR (l3->l3_base[0 ])) +return PTR_ERR (l3->l3_base[0 ]); res =platform_get_resource (pdev,IORESOURCE_MEM ,1 ); -if (!res) { -dev_err (&pdev->dev,"couldn't find resource 1\n" ); - ret = -ENODEV ; - goto err1; - } - - l3->l3_base[1 ] =ioremap (res->start,resource_size (res)); -if (!l3->l3_base[1 ]) { -dev_err (&pdev->dev,"ioremap failed\n" ); - ret = -ENOMEM ; - goto err1; - } + l3->l3_base[1 ] =devm_ioremap (dev, res->start,resource_size (res)); +if (IS_ERR (l3->l3_base[1 ])) +return PTR_ERR (l3->l3_base[1 ]); res =platform_get_resource (pdev,IORESOURCE_MEM ,2 ); -if (!res) { -dev_err (&pdev->dev,"couldn't find resource 2\n" ); - ret = -ENODEV ; - goto err2; - } - - l3->l3_base[2 ] =ioremap (res->start,resource_size (res)); -if (!l3->l3_base[2 ]) { -dev_err (&pdev->dev,"ioremap failed\n" ); - ret = -ENOMEM ; - goto err2; - } + l3->l3_base[2 ] =devm_ioremap (dev, res->start,resource_size (res)); +if (IS_ERR (l3->l3_base[2 ])) +return PTR_ERR (l3->l3_base[2 ]);/* * Setup interrupt Handlers
@@ -191,7 +166,8 @@ static int omap4_l3_probe(struct platform_device *pdev)if (ret) {pr_crit ("L3: request_irq failed to register for 0x%x\n" , l3->debug_irq); - goto err3; +free_irq (l3->debug_irq, l3); +return ret; } l3->app_irq =platform_get_irq (pdev,1 );
@@ -201,22 +177,11 @@ static int omap4_l3_probe(struct platform_device *pdev)if (ret) {pr_crit ("L3: request_irq failed to register for 0x%x\n" , l3->app_irq); - goto err4; +free_irq (l3->app_irq, l3); +free_irq (l3->debug_irq, l3); +return ret; } -return 0 ; - -err4: -free_irq (l3->debug_irq, l3); -err3: -iounmap (l3->l3_base[2 ]); -err2: -iounmap (l3->l3_base[1 ]); -err1: -iounmap (l3->l3_base[0 ]); -err0: -kfree (l3); -return ret; }static int omap4_l3_remove (struct platform_device *pdev)
@@ -225,10 +190,6 @@ static int omap4_l3_remove(struct platform_device *pdev)free_irq (l3->app_irq, l3);free_irq (l3->debug_irq, l3); -iounmap (l3->l3_base[0 ]); -iounmap (l3->l3_base[1 ]); -iounmap (l3->l3_base[2 ]); -kfree (l3);return 0 ; }
Signature · 1 line
1.8.3.2
PATCH 1/1 bus: omap_l3_noc.c: use devm functions
This uses devm function to ease mem alloc
Signed-off-by abdoulaye berthe <[email protected]>
--- drivers/bus/omap_l3_noc.c | 85 +++++++++++++---------------------------------- 1 file changed, 23 insertions(+), 62 deletions(-)
drivers/bus/omap_l3_noc.c +23 -62
@@ -133,90 +133,55 @@ static int omap4_l3_probe(struct platform_device *pdev)static struct omap4_l3 *l3;struct resource *res;int ret; +struct device *dev = &pdev->dev; - l3 =kzalloc (sizeof (*l3),GFP_KERNEL ); + l3 =devm_kzalloc (dev,sizeof (struct omap4_l3 ),GFP_KERNEL );if (!l3)return -ENOMEM ;platform_set_drvdata (pdev, l3); - res =platform_get_resource (pdev,IORESOURCE_MEM ,0 ); -if (!res) { -dev_err (&pdev->dev,"couldn't find resource 0\n" ); - ret = -ENODEV ; - goto err0; - } - l3->l3_base[0 ] =ioremap (res->start,resource_size (res)); -if (!l3->l3_base[0 ]) { -dev_err (&pdev->dev,"ioremap failed\n" ); - ret = -ENOMEM ; - goto err0; - } + res =platform_get_resource (pdev,IORESOURCE_MEM ,0 ); + l3->l3_base[0 ] =devm_ioremap (dev, res->start,resource_size (res)); +if (IS_ERR (l3->l3_base[0 ])) +return PTR_ERR (l3->l3_base[0 ]); res =platform_get_resource (pdev,IORESOURCE_MEM ,1 ); -if (!res) { -dev_err (&pdev->dev,"couldn't find resource 1\n" ); - ret = -ENODEV ; - goto err1; - } - - l3->l3_base[1 ] =ioremap (res->start,resource_size (res)); -if (!l3->l3_base[1 ]) { -dev_err (&pdev->dev,"ioremap failed\n" ); - ret = -ENOMEM ; - goto err1; - } + l3->l3_base[1 ] =devm_ioremap (dev, res->start,resource_size (res)); +if (IS_ERR (l3->l3_base[1 ])) +return PTR_ERR (l3->l3_base[1 ]); res =platform_get_resource (pdev,IORESOURCE_MEM ,2 ); -if (!res) { -dev_err (&pdev->dev,"couldn't find resource 2\n" ); - ret = -ENODEV ; - goto err2; - } - - l3->l3_base[2 ] =ioremap (res->start,resource_size (res)); -if (!l3->l3_base[2 ]) { -dev_err (&pdev->dev,"ioremap failed\n" ); - ret = -ENOMEM ; - goto err2; - } + l3->l3_base[2 ] =devm_ioremap (dev, res->start,resource_size (res)); +if (IS_ERR (l3->l3_base[2 ])) +return PTR_ERR (l3->l3_base[2 ]);/* * Setup interrupt Handlers */ l3->debug_irq =platform_get_irq (pdev,0 ); ret =request_irq (l3->debug_irq, - l3_interrupt_handler, -IRQF_DISABLED ,"l3-dbg-irq" , l3); + l3_interrupt_handler, +IRQF_DISABLED ,"l3-dbg-irq" , l3);if (ret) {pr_crit ("L3: request_irq failed to register for 0x%x\n" , - l3->debug_irq); - goto err3; + l3->debug_irq); +free_irq (l3->debug_irq, l3); +return ret; } l3->app_irq =platform_get_irq (pdev,1 ); ret =request_irq (l3->app_irq, - l3_interrupt_handler, -IRQF_DISABLED ,"l3-app-irq" , l3); + l3_interrupt_handler, +IRQF_DISABLED ,"l3-app-irq" , l3);if (ret) {pr_crit ("L3: request_irq failed to register for 0x%x\n" , - l3->app_irq); - goto err4; + l3->app_irq); +free_irq (l3->app_irq, l3); +free_irq (l3->debug_irq, l3); +return ret; } -return 0 ; - -err4: -free_irq (l3->debug_irq, l3); -err3: -iounmap (l3->l3_base[2 ]); -err2: -iounmap (l3->l3_base[1 ]); -err1: -iounmap (l3->l3_base[0 ]); -err0: -kfree (l3); -return ret; }static int omap4_l3_remove (struct platform_device *pdev)
@@ -225,10 +190,6 @@ static int omap4_l3_remove(struct platform_device *pdev)free_irq (l3->app_irq, l3);free_irq (l3->debug_irq, l3); -iounmap (l3->l3_base[0 ]); -iounmap (l3->l3_base[1 ]); -iounmap (l3->l3_base[2 ]); -kfree (l3);return 0 ; }
Signature · 1 line
1.8.3.2