lkml.org 
[lkml]   [2018]   [Feb]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 03/12] bus: ti-sysc: Handle stdout-path for debug console
    Date
    If we have stdout-path specified for earlycon, we must prevent
    the debug console from idling until runtime PM kicks in.

    Signed-off-by: Tony Lindgren <tony@atomide.com>
    ---
    drivers/bus/ti-sysc.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
    1 file changed, 46 insertions(+)

    diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
    --- a/drivers/bus/ti-sysc.c
    +++ b/drivers/bus/ti-sysc.c
    @@ -206,6 +206,50 @@ static int sysc_parse_and_check_child_range(struct sysc *ddata)
    return 0;
    }

    +static struct device_node *stdout_path;
    +
    +static void sysc_init_stdout_path(struct sysc *ddata)
    +{
    + struct device_node *np = NULL;
    + const char *uart;
    +
    + if (IS_ERR(stdout_path))
    + return;
    +
    + if (stdout_path)
    + return;
    +
    + np = of_find_node_by_path("/chosen");
    + if (!np)
    + goto err;
    +
    + uart = of_get_property(np, "stdout-path", NULL);
    + if (!uart)
    + goto err;
    +
    + np = of_find_node_by_path(uart);
    + if (!np)
    + goto err;
    +
    + stdout_path = np;
    +
    + return;
    +
    +err:
    + stdout_path = ERR_PTR(-ENODEV);
    +}
    +
    +static void sysc_check_quirk_stdout(struct sysc *ddata,
    + struct device_node *np)
    +{
    + sysc_init_stdout_path(ddata);
    + if (np != stdout_path)
    + return;
    +
    + ddata->cfg.quirks |= SYSC_QUIRK_NO_IDLE_ON_INIT |
    + SYSC_QUIRK_NO_RESET_ON_INIT;
    +}
    +
    /**
    * sysc_check_one_child - check child configuration
    * @ddata: device driver data
    @@ -224,6 +268,8 @@ static int sysc_check_one_child(struct sysc *ddata,
    if (name)
    dev_warn(ddata->dev, "really a child ti,hwmods property?");

    + sysc_check_quirk_stdout(ddata, np);
    +
    return 0;
    }

    --
    2.16.2
    \
     
     \ /
      Last update: 2018-02-23 22:05    [W:6.857 / U:1.932 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site