diff options
author | Kevin Hilman <khilman@ti.com> | 2011-07-14 11:12:32 -0700 |
---|---|---|
committer | Kevin Hilman <khilman@ti.com> | 2011-09-15 12:09:08 -0700 |
commit | 0f01565a353e06f1f1d7757b212c51e61c6fea58 (patch) | |
tree | 30f17047bdca3e1c2bc59a7351d9099fa3114f31 /arch/arm | |
parent | 667216d6a435a27f5aed64aa30de583ddccc58c8 (diff) | |
download | op-kernel-dev-0f01565a353e06f1f1d7757b212c51e61c6fea58.zip op-kernel-dev-0f01565a353e06f1f1d7757b212c51e61c6fea58.tar.gz |
OMAP3+: VP: move voltage scale function pointer into struct voltagedomain
Function pointer used for actual voltage scaling (e.g. VP force update
or VC bypass) is moved from omap_vdd_info into struct voltagedomain,
resulting in renames s/vdd->volt_scale/voltdm->scale/
No functional changes.
Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/voltage.c | 24 | ||||
-rw-r--r-- | arch/arm/mach-omap2/voltage.h | 8 |
2 files changed, 11 insertions, 21 deletions
diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c index 4a15668..32f0873 100644 --- a/arch/arm/mach-omap2/voltage.c +++ b/arch/arm/mach-omap2/voltage.c @@ -45,10 +45,8 @@ static LIST_HEAD(voltdm_list); static int __init _config_common_vdd_data(struct voltagedomain *voltdm) { - struct omap_vdd_info *vdd = voltdm->vdd; - /* Generic voltage parameters */ - vdd->volt_scale = omap_vp_forceupdate_scale; + voltdm->scale = omap_vp_forceupdate_scale; return 0; } @@ -107,22 +105,18 @@ unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm) int omap_voltage_scale_vdd(struct voltagedomain *voltdm, unsigned long target_volt) { - struct omap_vdd_info *vdd; - if (!voltdm || IS_ERR(voltdm)) { pr_warning("%s: VDD specified does not exist!\n", __func__); return -EINVAL; } - vdd = voltdm->vdd; - - if (!vdd->volt_scale) { + if (!voltdm->scale) { pr_err("%s: No voltage scale API registered for vdd_%s\n", __func__, voltdm->name); return -ENODATA; } - return vdd->volt_scale(voltdm, target_volt); + return voltdm->scale(voltdm, target_volt); } /** @@ -258,23 +252,19 @@ int omap_voltage_register_pmic(struct voltagedomain *voltdm, * defined in voltage.h */ void omap_change_voltscale_method(struct voltagedomain *voltdm, - int voltscale_method) + int voltscale_method) { - struct omap_vdd_info *vdd; - if (!voltdm || IS_ERR(voltdm)) { pr_warning("%s: VDD specified does not exist!\n", __func__); return; } - vdd = voltdm->vdd; - switch (voltscale_method) { case VOLTSCALE_VPFORCEUPDATE: - vdd->volt_scale = omap_vp_forceupdate_scale; + voltdm->scale = omap_vp_forceupdate_scale; return; case VOLTSCALE_VCBYPASS: - vdd->volt_scale = omap_vc_bypass_scale; + voltdm->scale = omap_vc_bypass_scale; return; default: pr_warning("%s: Trying to change the method of voltage scaling" @@ -315,7 +305,7 @@ int __init omap_voltage_late_init(void) clk_put(sys_ck); if (voltdm->vc) { - voltdm->vdd->volt_scale = omap_vc_bypass_scale; + voltdm->scale = omap_vc_bypass_scale; omap_vc_init_channel(voltdm); } diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h index d14e0f4..dcc7ea6 100644 --- a/arch/arm/mach-omap2/voltage.h +++ b/arch/arm/mach-omap2/voltage.h @@ -61,6 +61,7 @@ struct omap_vfsm_instance { * @read: read-modify-write a VC/VP register * @sys_clk: system clock name/frequency, used for various timing calculations * @vdd: to be removed + * @scale: function used to scale the voltage of the voltagedomain */ struct voltagedomain { char *name; @@ -82,6 +83,9 @@ struct voltagedomain { u32 rate; } sys_clk; + int (*scale) (struct voltagedomain *voltdm, + unsigned long target_volt); + struct omap_vdd_info *vdd; }; @@ -145,14 +149,10 @@ struct omap_voltdm_pmic { * @volt_data : voltage table having the distinct voltages supported * by the domain and other associated per voltage data. * @curr_volt : current voltage for this vdd. - * @volt_scale : API to scale the voltage of the vdd. */ struct omap_vdd_info { struct omap_volt_data *volt_data; u32 curr_volt; - - int (*volt_scale) (struct voltagedomain *voltdm, - unsigned long target_volt); }; int omap_voltage_scale_vdd(struct voltagedomain *voltdm, |