mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 22:14:03 +02:00
pmdomain: bcm: bcm2835: handle genpd provider registration errors
bcm2835_power_probe() initializes all power domains and then registers
the onecell genpd provider, but ignores of_genpd_add_provider_onecell()
failures. Probe can therefore return success even though no provider was
published.
Check the provider registration return value and jump to the existing
cleanup path on failure.
Fixes: 670c672608 ("soc: bcm: bcm2835-pm: Add support for power domains under a new binding.")
Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: Ulf Hansson <ulfh@kernel.org>
This commit is contained in:
parent
c011b7c925
commit
a1d9d3b958
|
|
@ -677,7 +677,12 @@ static int bcm2835_power_probe(struct platform_device *pdev)
|
|||
if (ret)
|
||||
goto fail;
|
||||
|
||||
of_genpd_add_provider_onecell(dev->parent->of_node, &power->pd_xlate);
|
||||
ret = of_genpd_add_provider_onecell(dev->parent->of_node,
|
||||
&power->pd_xlate);
|
||||
if (ret) {
|
||||
dev_err_probe(dev, ret, "failed to add genpd provider\n");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
dev_info(dev, "Broadcom BCM2835 power domains driver");
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user