summaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/mxs-auart.c
diff options
context:
space:
mode:
authorFabio Estevam2014-11-27 20:08:31 +0100
committerGreg Kroah-Hartman2015-01-09 23:12:27 +0100
commit46778bcad73d0546c6fac24110dba5110902141f (patch)
treeb9c478238d7551a4b78a2be62d37f1234c62790a /drivers/tty/serial/mxs-auart.c
parentserial: mxs-auart: Remove unneeded goto label (diff)
downloadkernel-qcow2-linux-46778bcad73d0546c6fac24110dba5110902141f.tar.gz
kernel-qcow2-linux-46778bcad73d0546c6fac24110dba5110902141f.tar.xz
kernel-qcow2-linux-46778bcad73d0546c6fac24110dba5110902141f.zip
serial: mxs-auart: Use devm_kzalloc()
By using devm_kzalloc() we can have a shorter and cleaner code. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/mxs-auart.c')
-rw-r--r--drivers/tty/serial/mxs-auart.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/tty/serial/mxs-auart.c b/drivers/tty/serial/mxs-auart.c
index a9e7fa68b75e..0b5f0ead6b73 100644
--- a/drivers/tty/serial/mxs-auart.c
+++ b/drivers/tty/serial/mxs-auart.c
@@ -1231,7 +1231,7 @@ static int mxs_auart_probe(struct platform_device *pdev)
int ret = 0;
struct resource *r;
- s = kzalloc(sizeof(struct mxs_auart_port), GFP_KERNEL);
+ s = devm_kzalloc(&pdev->dev, sizeof(*s), GFP_KERNEL);
if (!s)
return -ENOMEM;
@@ -1239,7 +1239,7 @@ static int mxs_auart_probe(struct platform_device *pdev)
if (ret > 0)
s->port.line = pdev->id < 0 ? 0 : pdev->id;
else if (ret < 0)
- goto out_free;
+ return ret;
if (of_id) {
pdev->id_entry = of_id->data;
@@ -1247,10 +1247,8 @@ static int mxs_auart_probe(struct platform_device *pdev)
}
s->clk = clk_get(&pdev->dev, NULL);
- if (IS_ERR(s->clk)) {
- ret = PTR_ERR(s->clk);
- goto out_free;
- }
+ if (IS_ERR(s->clk))
+ return PTR_ERR(s->clk);
r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!r) {
@@ -1310,8 +1308,6 @@ out_free_irq:
free_irq(s->irq, s);
out_free_clk:
clk_put(s->clk);
-out_free:
- kfree(s);
return ret;
}
@@ -1326,7 +1322,6 @@ static int mxs_auart_remove(struct platform_device *pdev)
mxs_auart_free_gpio_irq(s);
clk_put(s->clk);
free_irq(s->irq, s);
- kfree(s);
return 0;
}