1 From f157945cd134e2cfa47ed9bb1f599632d112d94e Mon Sep 17 00:00:00 2001
2 From: Gabor Juhos <juhosg@openwrt.org>
3 Date: Mon, 29 Jul 2013 19:39:20 +0200
4 Subject: [PATCH] tty: ar933x_uart: convert to use devm_* functions
6 Use devm_* functions in order to simplify cleanup
9 Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
11 drivers/tty/serial/ar933x_uart.c | 26 ++++++++------------------
12 1 file changed, 8 insertions(+), 18 deletions(-)
14 --- a/drivers/tty/serial/ar933x_uart.c
15 +++ b/drivers/tty/serial/ar933x_uart.c
16 @@ -652,19 +652,18 @@ static int ar933x_uart_probe(struct plat
20 - up = kzalloc(sizeof(struct ar933x_uart_port), GFP_KERNEL);
21 + up = devm_kzalloc(&pdev->dev, sizeof(struct ar933x_uart_port),
27 - port->mapbase = mem_res->start;
29 - port->membase = ioremap(mem_res->start, AR933X_UART_REGS_SIZE);
30 - if (!port->membase) {
34 + port->membase = devm_ioremap_resource(&pdev->dev, mem_res);
35 + if (IS_ERR(port->membase))
36 + return PTR_ERR(port->membase);
38 + port->mapbase = mem_res->start;
40 port->irq = irq_res->start;
41 port->dev = &pdev->dev;
42 @@ -686,16 +685,10 @@ static int ar933x_uart_probe(struct plat
44 ret = uart_add_one_port(&ar933x_uart_driver, &up->port);
49 platform_set_drvdata(pdev, up);
53 - iounmap(up->port.membase);
59 static int ar933x_uart_remove(struct platform_device *pdev)
60 @@ -705,11 +698,8 @@ static int ar933x_uart_remove(struct pla
61 up = platform_get_drvdata(pdev);
62 platform_set_drvdata(pdev, NULL);
66 uart_remove_one_port(&ar933x_uart_driver, &up->port);
67 - iounmap(up->port.membase);