"Bedia, Vaibhav" <[email protected]> writes:

> Hi,
>
> On Thu, Nov 17, 2011 at 21:58:23, Bedia, Vaibhav wrote:
>> TI processors in TI81x and AM33x family work with PMICs like
>> TPS65910/1 which are not part of the TWL series. These processors
>> also do not have a voltage controller/processor module.
>> 
>> In order to invoke the normal regulator calls from the voltage
>> layer the following changes are done to struct voltagedomain
>>      - Add a flag use_regulator for the SoC voltagedomain
>>        code to indicate its intention of using a PMIC which
>>        is not controlled by VC/VP
>>      - Add a regulator_init callback which the platform code
>>        can utilise for any custom init sequence before making
>>        use of the regulator. Platform code is also expected
>>        to set the voltdm->scale function in the init callback
>> 
>> Signed-off-by: Ravikumar Kattekola <[email protected]>
>> Signed-off-by: Vaibhav Bedia <[email protected]>
>> ---
>>  arch/arm/mach-omap2/voltage.c |    5 +++++
>>  arch/arm/mach-omap2/voltage.h |    4 ++++
>>  2 files changed, 9 insertions(+), 0 deletions(-)
>> 
>> diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
>> index 1f8fdf7..ca4ef9e 100644
>> --- a/arch/arm/mach-omap2/voltage.c
>> +++ b/arch/arm/mach-omap2/voltage.c
>> @@ -280,6 +280,11 @@ int __init omap_voltage_late_init(void)
>>                      voltdm->scale = omap_vp_forceupdate_scale;
>>                      omap_vp_init(voltdm);
>>              }
>> +
>> +            if (voltdm->use_regulator) {
>> +                    if(voltdm->regulator_init)
>> +                            voltdm->regulator_init(voltdm);
>> +            }
>>      }
>>  
>>      return 0;
>> diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
>> index 16a1b09..21c810f 100644
>> --- a/arch/arm/mach-omap2/voltage.h
>> +++ b/arch/arm/mach-omap2/voltage.h
>> @@ -88,6 +88,10 @@ struct voltagedomain {
>>  
>>      u32 nominal_volt;
>>      struct omap_volt_data *volt_data;
>> +
>> +    bool use_regulator;
>> +    struct regulator *regulator;
>> +    int (*regulator_init) (struct voltagedomain *voltdm);
>>  };
>>  
>
> Any comments on this approach? 

Sorry, I didn't see this patch before, and I don't see it in the
linux-omap archives either.  Not sure what happened there...

> This enables us to make use of generic regulators calls from the
> voltage layer. 

>From this patch, I don't see how the regulator API is being used from
the voltage layer, so I don't fully understand what you're trying to
achieve.

IOW, why should the voltagedomain code be calling the regulator API?

The voltage domain code was designed with the opposite goal: namely,
that a regulator driver would be calling the voltage domain layer, not
vice versa.

> Since TI81xx and AM33xx do not have VC/VP we need something like this
> for implementing DVFS.

This patch (and changelog) does not make that very clear, since it only
adds an init-time hook.

Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to