summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/voltage.h
diff options
context:
space:
mode:
authorKevin Hilman <khilman@ti.com>2011-03-28 10:40:15 -0700
committerKevin Hilman <khilman@ti.com>2011-09-15 12:02:08 -0700
commit4bcc475ebd06a04e1531254c27c6cf508ef8ebf9 (patch)
treecbb34d6e8ad79e2cf6b75167d9cee4a7ef2885c2 /arch/arm/mach-omap2/voltage.h
parent4bb73adec43bbf63d39e1c2021de0aab0c60ea34 (diff)
downloadlinux-4bcc475ebd06a04e1531254c27c6cf508ef8ebf9.tar.bz2
OMAP3+: voltage: convert to PRM register access functions
Convert VC/VP register access to use PRM VC/VP accessor functions. In the process, move the read/write function pointers from vdd_info into struct voltagedomain. No functional changes. Additional cleanup: - remove prm_mod field from VC/VP data structures, the PRM register access functions know which PRM module to use. Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/voltage.h')
-rw-r--r--arch/arm/mach-omap2/voltage.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
index 04e06266dbd7..6a19cf39118b 100644
--- a/arch/arm/mach-omap2/voltage.h
+++ b/arch/arm/mach-omap2/voltage.h
@@ -59,6 +59,9 @@ struct omap_vfsm_instance_data {
* @node: list_head linking all voltage domains
* @pwrdm_list: list_head linking all powerdomains in this voltagedomain
* @vc: pointer to VC channel associated with this voltagedomain
+ * @read: read a VC/VP register
+ * @write: write a VC/VP register
+ * @read: read-modify-write a VC/VP register
* @vdd: to be removed
*/
struct voltagedomain {
@@ -68,6 +71,11 @@ struct voltagedomain {
struct list_head pwrdm_list;
struct omap_vc_channel *vc;
+ /* VC/VP register access functions: SoC specific */
+ u32 (*read) (u8 offset);
+ void (*write) (u32 val, u8 offset);
+ u32 (*rmw)(u32 mask, u32 bits, u8 offset);
+
struct omap_vdd_info *vdd;
};
@@ -146,8 +154,6 @@ struct omap_vdd_info {
u32 curr_volt;
bool vp_enabled;
- u32 (*read_reg) (u16 mod, u8 offset);
- void (*write_reg) (u32 val, u16 mod, u8 offset);
int (*volt_scale) (struct voltagedomain *voltdm,
unsigned long target_volt);
};