diff options
author | Kevin Hilman <khilman@ti.com> | 2011-03-23 17:00:21 -0700 |
---|---|---|
committer | Kevin Hilman <khilman@ti.com> | 2011-09-15 11:39:09 -0700 |
commit | 37efca7e9deacf3c11bda82df5b7594f098daa69 (patch) | |
tree | c52a77d2bde0dec9a4ae1ca6e8a0f45b3993ae96 /arch/arm/mach-omap2 | |
parent | ace19ffa9a580c7b3d2a7cd4bb9fda6071394d25 (diff) | |
download | linux-stable-37efca7e9deacf3c11bda82df5b7594f098daa69.tar.gz linux-stable-37efca7e9deacf3c11bda82df5b7594f098daa69.tar.bz2 linux-stable-37efca7e9deacf3c11bda82df5b7594f098daa69.zip |
OMAP3+: voltage: add scalable flag to voltagedomain
Add a 'bool scalable' flag to the struct powerdomain and set it for
the scalable domains on OMAP3 and OMAP4.
Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/voltage.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap2/voltage.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/voltagedomains3xxx_data.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/voltagedomains44xx_data.c | 3 |
4 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c index 4f0361a23ff6..48a2593878c6 100644 --- a/arch/arm/mach-omap2/voltage.c +++ b/arch/arm/mach-omap2/voltage.c @@ -1054,6 +1054,9 @@ int __init omap_voltage_late_init(void) pr_err("%s: Unable to create voltage debugfs main dir\n", __func__); list_for_each_entry(voltdm, &voltdm_list, node) { + if (!voltdm->scalable) + continue; + if (voltdm->vdd) { if (omap_vdd_data_configure(voltdm)) continue; diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h index 544029896265..25cfb5c8f06b 100644 --- a/arch/arm/mach-omap2/voltage.h +++ b/arch/arm/mach-omap2/voltage.h @@ -53,11 +53,13 @@ struct omap_vfsm_instance_data { /** * struct voltagedomain - omap voltage domain global structure. * @name: Name of the voltage domain which can be used as a unique identifier. + * @scalable: Whether or not this voltage domain is scalable * @node: list_head linking all voltage domains * @vdd: to be removed */ struct voltagedomain { char *name; + bool scalable; struct list_head node; struct omap_vdd_info *vdd; }; diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c index 42d0b112978b..d7e1052d2cdb 100644 --- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c +++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c @@ -61,11 +61,13 @@ static struct omap_vdd_info omap3_vdd2_info = { static struct voltagedomain omap3_voltdm_mpu = { .name = "mpu_iva", + .scalable = true, .vdd = &omap3_vdd1_info, }; static struct voltagedomain omap3_voltdm_core = { .name = "core", + .scalable = true, .vdd = &omap3_vdd2_info, }; diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c index 245fdf9cb4a5..95e1ce5822ca 100644 --- a/arch/arm/mach-omap2/voltagedomains44xx_data.c +++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c @@ -70,16 +70,19 @@ static struct omap_vdd_info omap4_vdd_core_info = { static struct voltagedomain omap4_voltdm_mpu = { .name = "mpu", + .scalable = true, .vdd = &omap4_vdd_mpu_info, }; static struct voltagedomain omap4_voltdm_iva = { .name = "iva", + .scalable = true, .vdd = &omap4_vdd_iva_info, }; static struct voltagedomain omap4_voltdm_core = { .name = "core", + .scalable = true, .vdd = &omap4_vdd_core_info, }; |