From 37efca7e9deacf3c11bda82df5b7594f098daa69 Mon Sep 17 00:00:00 2001 From: Kevin Hilman Date: Wed, 23 Mar 2011 17:00:21 -0700 Subject: [PATCH] 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 --- arch/arm/mach-omap2/voltage.c | 3 +++ arch/arm/mach-omap2/voltage.h | 2 ++ arch/arm/mach-omap2/voltagedomains3xxx_data.c | 2 ++ arch/arm/mach-omap2/voltagedomains44xx_data.c | 3 +++ 4 files changed, 10 insertions(+) diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c index 4f0361a23ff..48a2593878c 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 54402989626..25cfb5c8f06 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 42d0b112978..d7e1052d2cd 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 245fdf9cb4a..95e1ce5822c 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, }; -- 2.39.5