"Bedia, Vaibhav" <vaibhav.bedia@xxxxxx> 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 <rk@xxxxxx> >> Signed-off-by: Vaibhav Bedia <vaibhav.bedia@xxxxxx> >> --- >> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html