lkml.org 
[lkml]   [2022]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH V4 2/5] tty: serial: meson: Request the register
    Date
    This simplifies resetting the UART controller during probe and
    will make it easier to integrate the common clock code which
    will require the registers at probe time as well.

    Signed-off-by: Yu Tu <yu.tu@amlogic.com>
    ---
    drivers/tty/serial/meson_uart.c | 24 ++++++------------------
    1 file changed, 6 insertions(+), 18 deletions(-)

    diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
    index 45e00d928253..7570958d010c 100644
    --- a/drivers/tty/serial/meson_uart.c
    +++ b/drivers/tty/serial/meson_uart.c
    @@ -395,24 +395,11 @@ static int meson_uart_verify_port(struct uart_port *port,

    static void meson_uart_release_port(struct uart_port *port)
    {
    - devm_iounmap(port->dev, port->membase);
    - port->membase = NULL;
    - devm_release_mem_region(port->dev, port->mapbase, port->mapsize);
    + /* nothing to do */
    }

    static int meson_uart_request_port(struct uart_port *port)
    {
    - if (!devm_request_mem_region(port->dev, port->mapbase, port->mapsize,
    - dev_name(port->dev))) {
    - dev_err(port->dev, "Memory region busy\n");
    - return -EBUSY;
    - }
    -
    - port->membase = devm_ioremap(port->dev, port->mapbase,
    - port->mapsize);
    - if (!port->membase)
    - return -ENOMEM;
    -
    return 0;
    }

    @@ -733,6 +720,10 @@ static int meson_uart_probe(struct platform_device *pdev)
    if (!port)
    return -ENOMEM;

    + port->membase = devm_ioremap_resource(&pdev->dev, res_mem);
    + if (IS_ERR(port->membase))
    + return PTR_ERR(port->membase);
    +
    ret = meson_uart_probe_clocks(pdev, port);
    if (ret)
    return ret;
    @@ -754,10 +745,7 @@ static int meson_uart_probe(struct platform_device *pdev)
    platform_set_drvdata(pdev, port);

    /* reset port before registering (and possibly registering console) */
    - if (meson_uart_request_port(port) >= 0) {
    - meson_uart_reset(port);
    - meson_uart_release_port(port);
    - }
    + meson_uart_reset(port);

    ret = uart_add_one_port(&meson_uart_driver, port);
    if (ret)
    --
    2.33.1
    \
     
     \ /
      Last update: 2022-01-10 09:59    [W:3.342 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site