--- drivers/tty/serial/xilinx_uartps.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c index 74089f5..92aff38 100644 --- a/drivers/tty/serial/xilinx_uartps.c +++ b/drivers/tty/serial/xilinx_uartps.c @@ -953,15 +953,14 @@ static int cdns_uart_verify_port(struct uart_port *port, */ static int cdns_uart_request_port(struct uart_port *port) { - if (!request_mem_region(port->mapbase, CDNS_UART_REGISTER_SPACE, - CDNS_UART_NAME)) { + if (!uart_memres_request(port, CDNS_UART_NAME)) { return -ENOMEM; } - port->membase = ioremap(port->mapbase, CDNS_UART_REGISTER_SPACE); + port->membase = uart_memres_ioremap(port); if (!port->membase) { dev_err(port->dev, "Unable to map registers\n"); - release_mem_region(port->mapbase, CDNS_UART_REGISTER_SPACE); + uart_memres_release(port); return -ENOMEM; } return 0; @@ -976,7 +975,7 @@ static int cdns_uart_request_port(struct uart_port *port) */ static void cdns_uart_release_port(struct uart_port *port) { - release_mem_region(port->mapbase, CDNS_UART_REGISTER_SPACE); + uart_memres_release(port); iounmap(port->membase); port->membase = NULL; } @@ -1626,7 +1625,7 @@ static int cdns_uart_probe(struct platform_device *pdev) * This function also registers this device with the tty layer * and triggers invocation of the config_port() entry point. */ - port->mapbase = res->start; + uart_memres_set(*res); port->irq = irq; port->dev = &pdev->dev; port->uartclk = clk_get_rate(cdns_uart_data->uartclk); @@ -1707,7 +1706,7 @@ static int cdns_uart_remove(struct platform_device *pdev) &cdns_uart_data->clk_rate_change_nb); #endif rc = uart_remove_one_port(cdns_uart_data->cdns_uart_driver, port); - port->mapbase = 0; + uart_memres_clear(port); mutex_lock(&bitmap_lock); if (cdns_uart_data->id < MAX_UART_INSTANCES) clear_bit(cdns_uart_data->id, bitmap); -- 1.9.1