1
0
Fork 0

serial: milbeaut_usio: Fix error handling in probe and remove

devm_clk_get() is used so there is no reason to explicitly call
clk_put() in probe or remove functions. Also remove duplicate assign
for port->membase.

Fixes: ba44dc0430 ("serial: Add Milbeaut serial control")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Tested-by: Sugaya Taichi <sugaya.taichi@socionext.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
hifive-unleashed-5.2
Wei Yongjun 2019-04-25 15:10:44 +00:00 committed by Greg Kroah-Hartman
parent 8ef795653d
commit 74cdf8cec7
1 changed files with 1 additions and 8 deletions

View File

@ -525,8 +525,6 @@ static int mlb_usio_probe(struct platform_device *pdev)
ret = -ENODEV;
goto failed;
}
port->mapbase = res->start;
port->membase = ioremap(res->start, (res->end - res->start + 1));
port->membase = devm_ioremap(&pdev->dev, res->start,
resource_size(res));
@ -548,16 +546,12 @@ static int mlb_usio_probe(struct platform_device *pdev)
ret = uart_add_one_port(&mlb_usio_uart_driver, port);
if (ret) {
dev_err(&pdev->dev, "Adding port failed: %d\n", ret);
goto failed1;
goto failed;
}
return 0;
failed1:
iounmap(port->membase);
failed:
clk_disable_unprepare(clk);
clk_put(clk);
return ret;
}
@ -569,7 +563,6 @@ static int mlb_usio_remove(struct platform_device *pdev)
uart_remove_one_port(&mlb_usio_uart_driver, port);
clk_disable_unprepare(clk);
clk_put(clk);
return 0;
}