summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/vc.h
diff options
context:
space:
mode:
authorKevin Hilman <khilman@ti.com>2011-03-21 22:08:55 +0100
committerKevin Hilman <khilman@ti.com>2011-09-15 20:39:10 +0200
commitccd5ca7787df8f1bd267b90f03a09c31c160ffe2 (patch)
tree593de0267c8554188d7d5425e83836ba7d84bb65 /arch/arm/mach-omap2/vc.h
parentOMAP2+: voltage: keep track of powerdomains in each voltagedomain (diff)
downloadlinux-ccd5ca7787df8f1bd267b90f03a09c31c160ffe2.tar.xz
linux-ccd5ca7787df8f1bd267b90f03a09c31c160ffe2.zip
OMAP2+: voltage: split voltage controller (VC) code into dedicated layer
As part of the voltage layer cleanup, split out VC specific code into a dedicated VC layer. This patch primarily just moves VC code from voltage.c into vc.c, and adds prototypes to vc.h. No functional changes. For readability, each function was given a local 'vc' pointer: struct omap_vc_instance_data *vc = voltdm->vdd->vc_data; and a global replace of s/vdd->vc_data/vc/ was done. Also vc_init was renamed to vc_init_channel to reflect that this is per-VC channel initializtion. Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/vc.h')
-rw-r--r--arch/arm/mach-omap2/vc.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h
index f7338af13d0b..d0bf34831c0b 100644
--- a/arch/arm/mach-omap2/vc.h
+++ b/arch/arm/mach-omap2/vc.h
@@ -19,6 +19,8 @@
#include <linux/kernel.h>
+struct voltagedomain;
+
/**
* struct omap_vc_common_data - per-VC register/bitfield data
* @cmd_on_mask: ON bitmask in PRM_VC_CMD_VAL* register
@@ -81,5 +83,15 @@ extern struct omap_vc_instance_data omap4_vc_mpu_data;
extern struct omap_vc_instance_data omap4_vc_iva_data;
extern struct omap_vc_instance_data omap4_vc_core_data;
+void omap_vc_init_channel(struct voltagedomain *voltdm);
+int omap_vc_pre_scale(struct voltagedomain *voltdm,
+ unsigned long target_volt,
+ u8 *target_vsel, u8 *current_vsel);
+void omap_vc_post_scale(struct voltagedomain *voltdm,
+ unsigned long target_volt,
+ u8 target_vsel, u8 current_vsel);
+int omap_vc_bypass_scale_voltage(struct voltagedomain *voltdm,
+ unsigned long target_volt);
+
#endif