lkml.org 
[lkml]   [2020]   [Jan]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 004/222] soc: amlogic: meson-ee-pwrc: propagate errors from pm_genpd_init()
    Date
    From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

    commit c67aafd60d7e323fe74bf45fab60148f84cf9b95 upstream.

    pm_genpd_init() can return an error. Propagate the error code to prevent
    the driver from indicating that it successfully probed while there were
    errors during pm_genpd_init().

    Fixes: eef3c2ba0a42a6 ("soc: amlogic: Add support for Everything-Else power domains controller")
    Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/soc/amlogic/meson-ee-pwrc.c | 20 ++++++++++++++------
    1 file changed, 14 insertions(+), 6 deletions(-)

    --- a/drivers/soc/amlogic/meson-ee-pwrc.c
    +++ b/drivers/soc/amlogic/meson-ee-pwrc.c
    @@ -323,6 +323,8 @@ static int meson_ee_pwrc_init_domain(str
    struct meson_ee_pwrc *pwrc,
    struct meson_ee_pwrc_domain *dom)
    {
    + int ret;
    +
    dom->pwrc = pwrc;
    dom->num_rstc = dom->desc.reset_names_count;
    dom->num_clks = dom->desc.clk_names_count;
    @@ -368,15 +370,21 @@ static int meson_ee_pwrc_init_domain(str
    * prepare/enable counters won't be in sync.
    */
    if (dom->num_clks && dom->desc.get_power && !dom->desc.get_power(dom)) {
    - int ret = clk_bulk_prepare_enable(dom->num_clks, dom->clks);
    + ret = clk_bulk_prepare_enable(dom->num_clks, dom->clks);
    if (ret)
    return ret;

    - pm_genpd_init(&dom->base, &pm_domain_always_on_gov, false);
    - } else
    - pm_genpd_init(&dom->base, NULL,
    - (dom->desc.get_power ?
    - dom->desc.get_power(dom) : true));
    + ret = pm_genpd_init(&dom->base, &pm_domain_always_on_gov,
    + false);
    + if (ret)
    + return ret;
    + } else {
    + ret = pm_genpd_init(&dom->base, NULL,
    + (dom->desc.get_power ?
    + dom->desc.get_power(dom) : true));
    + if (ret)
    + return ret;
    + }

    return 0;
    }

    \
     
     \ /
      Last update: 2020-01-22 14:19    [W:4.019 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site