Skip to content

Commit c67aafd

Browse files
xdarklightkhilman
authored andcommitted
soc: amlogic: meson-ee-pwrc: propagate errors from pm_genpd_init()
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: eef3c2b ("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>
1 parent 0766d65 commit c67aafd

1 file changed

Lines changed: 14 additions & 6 deletions

File tree

drivers/soc/amlogic/meson-ee-pwrc.c

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,8 @@ static int meson_ee_pwrc_init_domain(struct platform_device *pdev,
323323
struct meson_ee_pwrc *pwrc,
324324
struct meson_ee_pwrc_domain *dom)
325325
{
326+
int ret;
327+
326328
dom->pwrc = pwrc;
327329
dom->num_rstc = dom->desc.reset_names_count;
328330
dom->num_clks = dom->desc.clk_names_count;
@@ -368,15 +370,21 @@ static int meson_ee_pwrc_init_domain(struct platform_device *pdev,
368370
* prepare/enable counters won't be in sync.
369371
*/
370372
if (dom->num_clks && dom->desc.get_power && !dom->desc.get_power(dom)) {
371-
int ret = clk_bulk_prepare_enable(dom->num_clks, dom->clks);
373+
ret = clk_bulk_prepare_enable(dom->num_clks, dom->clks);
372374
if (ret)
373375
return ret;
374376

375-
pm_genpd_init(&dom->base, &pm_domain_always_on_gov, false);
376-
} else
377-
pm_genpd_init(&dom->base, NULL,
378-
(dom->desc.get_power ?
379-
dom->desc.get_power(dom) : true));
377+
ret = pm_genpd_init(&dom->base, &pm_domain_always_on_gov,
378+
false);
379+
if (ret)
380+
return ret;
381+
} else {
382+
ret = pm_genpd_init(&dom->base, NULL,
383+
(dom->desc.get_power ?
384+
dom->desc.get_power(dom) : true));
385+
if (ret)
386+
return ret;
387+
}
380388

381389
return 0;
382390
}

0 commit comments

Comments
 (0)