Messages in this thread | | | From | Eric Anholt <> | Subject | Re: [PATCH 2/2] soc: bcm: bcm2835-pm: Fix error paths of initialization. | Date | Wed, 20 Feb 2019 10:18:54 -0800 |
| |
Florian Fainelli <f.fainelli@gmail.com> writes:
> On 2/13/19 2:33 PM, Stefan Wahren wrote: >> >>> Eric Anholt <eric@anholt.net> hat am 13. Februar 2019 um 19:28 geschrieben: >>> >>> >>> Stefan Wahren <stefan.wahren@i2se.com> writes: >>> >>>> Hi Eric, >>>> >>>> Am 13.02.19 um 01:33 schrieb Eric Anholt: >>>>> The clock driver may probe after ours and so we need to pass the >>>>> -EPROBE_DEFER out. Fix the other error path while we're here. >>>>> >>>>> Signed-off-by: Eric Anholt <eric@anholt.net> >>>>> Fixes: 670c672608a1 ("soc: bcm: bcm2835-pm: Add support for power domains under a new binding.") >>>>> --- >>>>> drivers/soc/bcm/bcm2835-power.c | 30 +++++++++++++++++++++++++----- >>>>> 1 file changed, 25 insertions(+), 5 deletions(-) >>>>> >>>>> diff --git a/drivers/soc/bcm/bcm2835-power.c b/drivers/soc/bcm/bcm2835-power.c >>>>> index 4a1b99b773c0..11f9469423f7 100644 >>>>> --- a/drivers/soc/bcm/bcm2835-power.c >>>>> +++ b/drivers/soc/bcm/bcm2835-power.c >>>>> @@ -485,7 +485,7 @@ static int bcm2835_power_pd_power_off(struct generic_pm_domain *domain) >>>>> } >>>>> } >>>>> >>>>> -static void >>>>> +static int >>>>> bcm2835_init_power_domain(struct bcm2835_power *power, >>>>> int pd_xlate_index, const char *name) >>>>> { >>>>> @@ -493,6 +493,12 @@ bcm2835_init_power_domain(struct bcm2835_power *power, >>>>> struct bcm2835_power_domain *dom = &power->domains[pd_xlate_index]; >>>>> >>>>> dom->clk = devm_clk_get(dev->parent, name); >>>>> + if (IS_ERR(dom->clk)) { >>>>> + int ret = PTR_ERR(dom->clk); >>>>> + >>>>> + if (ret == -EPROBE_DEFER) >>>>> + return ret; >>>> is it safe to proceed in the other error cases? >>>> Even it would be more consistent with clk_prepare_enable() to print an >>>> error here. >>> >>> Yes, not all domains have a clk, so we want to ignore the other error. >> >> But shouldn't we set dom->clk to NULL instead of keeping the error >> pointer? AFAIK clk_prepare_enable is aware of NULL instead of error >> pointer. > > If the clock is really optional, then yes, this should be the way to go.
Sigh, error pointers. Fixed, sending a v2. [unhandled content-type:application/pgp-signature] | |