]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
serial: imx: Use devm_ioremap_resource()
authorAlexander Shiyan <shc_work@mail.ru>
Sat, 22 Feb 2014 12:01:33 +0000 (16:01 +0400)
committerNitin Garg <nitin.garg@freescale.com>
Fri, 16 Jan 2015 03:16:36 +0000 (21:16 -0600)
Use devm_ioremap_resource() in order to make the code simpler and
it gives proper codes on errors.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Huang Shijie <b32955@freescale.com>
drivers/tty/serial/imx.c

index dff0f0a472ea3591fa5209f1329c04c7f233e217..d1859724bf2a36a0b8be3b59027409d27b8bd3ce 100644 (file)
@@ -1468,36 +1468,6 @@ static const char *imx_type(struct uart_port *port)
        return sport->port.type == PORT_IMX ? "IMX" : NULL;
 }
 
-/*
- * Release the memory region(s) being used by 'port'.
- */
-static void imx_release_port(struct uart_port *port)
-{
-       struct platform_device *pdev = to_platform_device(port->dev);
-       struct resource *mmres;
-
-       mmres = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       release_mem_region(mmres->start, resource_size(mmres));
-}
-
-/*
- * Request the memory region(s) being used by 'port'.
- */
-static int imx_request_port(struct uart_port *port)
-{
-       struct platform_device *pdev = to_platform_device(port->dev);
-       struct resource *mmres;
-       void *ret;
-
-       mmres = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!mmres)
-               return -ENODEV;
-
-       ret = request_mem_region(mmres->start, resource_size(mmres), "imx-uart");
-
-       return  ret ? 0 : -EBUSY;
-}
-
 /*
  * Configure/autoconfigure the port.
  */
@@ -1505,8 +1475,7 @@ static void imx_config_port(struct uart_port *port, int flags)
 {
        struct imx_port *sport = (struct imx_port *)port;
 
-       if (flags & UART_CONFIG_TYPE &&
-           imx_request_port(&sport->port) == 0)
+       if (flags & UART_CONFIG_TYPE)
                sport->port.type = PORT_IMX;
 }
 
@@ -1616,8 +1585,6 @@ static struct uart_ops imx_pops = {
        .flush_buffer   = imx_flush_buffer,
        .set_termios    = imx_set_termios,
        .type           = imx_type,
-       .release_port   = imx_release_port,
-       .request_port   = imx_request_port,
        .config_port    = imx_config_port,
        .verify_port    = imx_verify_port,
 #if defined(CONFIG_CONSOLE_POLL)
@@ -1950,12 +1917,9 @@ static int serial_imx_probe(struct platform_device *pdev)
                return ret;
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res)
-               return -ENODEV;
-
-       base = devm_ioremap(&pdev->dev, res->start, PAGE_SIZE);
-       if (!base)
-               return -ENOMEM;
+       base = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(base))
+               return PTR_ERR(base);
 
        sport->port.dev = &pdev->dev;
        sport->port.mapbase = res->start;