OSDN Git Service

serial: sirf: move from clk_get to devm_clk_get
authorQipan Li <Qipan.Li@csr.com>
Mon, 20 Apr 2015 08:10:23 +0000 (08:10 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 6 May 2015 20:27:00 +0000 (22:27 +0200)
Signed-off-by: Qipan Li <Qipan.Li@csr.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sirfsoc_uart.c

index 8081cdb..247faed 100644 (file)
@@ -1378,7 +1378,7 @@ usp_no_flow_control:
        }
        port->irq = res->start;
 
-       sirfport->clk = clk_get(&pdev->dev, NULL);
+       sirfport->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(sirfport->clk)) {
                ret = PTR_ERR(sirfport->clk);
                goto err;
@@ -1392,7 +1392,7 @@ usp_no_flow_control:
        ret = uart_add_one_port(&sirfsoc_uart_drv, port);
        if (ret != 0) {
                dev_err(&pdev->dev, "Cannot add UART port(%d).\n", pdev->id);
-               goto port_err;
+               goto err;
        }
 
        sirfport->rx_dma_chan = dma_request_slave_channel(port->dev, "rx");
@@ -1421,8 +1421,6 @@ alloc_coherent_err:
                                sirfport->rx_dma_items[j].xmit.buf,
                                sirfport->rx_dma_items[j].dma_addr);
        dma_release_channel(sirfport->rx_dma_chan);
-port_err:
-       clk_put(sirfport->clk);
 err:
        return ret;
 }
@@ -1431,7 +1429,6 @@ static int sirfsoc_uart_remove(struct platform_device *pdev)
 {
        struct sirfsoc_uart_port *sirfport = platform_get_drvdata(pdev);
        struct uart_port *port = &sirfport->port;
-       clk_put(sirfport->clk);
        uart_remove_one_port(&sirfsoc_uart_drv, port);
        if (sirfport->rx_dma_chan) {
                int i;