lkml.org 
[lkml]   [2019]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 2/2] soc: bcm: bcm2835-pm: Fix error paths of initialization.
Date
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.
And we shouldn't print for defers, generally.
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2019-02-13 19:30    [W:0.058 / U:7.856 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site