[PATCH v3 4/6] mmc: pwrseq_simple: Add optional reference clock support

Javier Martinez Canillas javier.martinez at collabora.co.uk
Fri Jan 30 05:03:33 PST 2015


Hello Ulf,

On 01/30/2015 12:17 PM, Ulf Hansson wrote:
>>  };
>> @@ -39,6 +42,11 @@ static void mmc_pwrseq_simple_pre_power_on(struct mmc_host *host)
>>         struct mmc_pwrseq_simple *pwrseq = container_of(host->pwrseq,
>>                                         struct mmc_pwrseq_simple, pwrseq);
>>
>> +       if (!IS_ERR(pwrseq->ext_clk)) {
> 
> This should be:
> 
> if (!IS_ERR(pwrseq->ext_clk) && !pwrseq->clk_enabled) {
> 
>

Oh, I thought that it was not possible to enter mmc_pwrseq_pre_power_on()
twice without a prior call to mmc_pwrseq_power_off() but I guess I didn't
read the MMC core code carefully...
 
>> +               clk_prepare_enable(pwrseq->ext_clk);
>> +               pwrseq->clk_enabled = true;
>> +       }
>> +
>>         mmc_pwrseq_simple_set_gpios_value(pwrseq, 1);
>>  }
>>
>> @@ -50,6 +58,19 @@ static void mmc_pwrseq_simple_post_power_on(struct mmc_host *host)
>>         mmc_pwrseq_simple_set_gpios_value(pwrseq, 0);
>>  }
>>
>> +static void mmc_pwrseq_simple_power_off(struct mmc_host *host)
>> +{
>> +       struct mmc_pwrseq_simple *pwrseq = container_of(host->pwrseq,
>> +                                       struct mmc_pwrseq_simple, pwrseq);
>> +
>> +       mmc_pwrseq_simple_set_gpios_value(pwrseq, 1);
>> +
>> +       if (pwrseq->clk_enabled) {
> 
> I changed this as well, but that was just to make code clearer.
> 
> if (!IS_ERR(pwrseq->ext_clk) && pwrseq->clk_enabled) {
> 
>

Yeah, if IS_ERR(pwrseq->ext_clk) then clk_enabled will always be false but I
agree that the change makes the code to be more consistent.

>>
> 
> As I stated in the response to he coverletter for the patchset, this
> patch is applied for next with above changes.
> 
> Thanks!
>

Thanks a lot for your help and for fixing these things!

> Kind regards
> Uffe
>

Best regards,
Javier




More information about the linux-arm-kernel mailing list