mirror of
https://github.com/torvalds/linux.git
synced 2024-11-30 16:11:38 +00:00
serial: imx: Use devm_ioremap_resource()
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>
This commit is contained in:
parent
a9c3f68f3c
commit
da82f99724
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user