cpufreq: create another field .flags in cpufreq_frequency_table
authorViresh Kumar <viresh.kumar@linaro.org>
Fri, 28 Mar 2014 13:41:47 +0000 (19:11 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 7 Apr 2014 12:43:50 +0000 (14:43 +0200)
Currently cpufreq frequency table has two fields: frequency and driver_data.
driver_data is only for drivers' internal use and cpufreq core shouldn't use
it at all. But with the introduction of BOOST frequencies, this assumption
was broken and we started using it as a flag instead.

There are two problems due to this:
- It is against the description of this field, as driver's data is used by
  the core now.
- if drivers fill it with -3 for any frequency, then those frequencies are
  never considered by cpufreq core as it is exactly same as value of
  CPUFREQ_BOOST_FREQ, i.e. ~2.

The best way to get this fixed is by creating another field flags which
will be used for such flags. This patch does that. Along with that various
drivers need modifications due to the change of struct cpufreq_frequency_table.

Reviewed-by: Gautham R Shenoy <ego@linux.vnet.ibm.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
23 files changed:
arch/mips/loongson/lemote-2f/clock.c
drivers/cpufreq/cris-artpec3-cpufreq.c
drivers/cpufreq/cris-etraxfs-cpufreq.c
drivers/cpufreq/elanfreq.c
drivers/cpufreq/exynos4210-cpufreq.c
drivers/cpufreq/exynos4x12-cpufreq.c
drivers/cpufreq/exynos5250-cpufreq.c
drivers/cpufreq/freq_table.c
drivers/cpufreq/kirkwood-cpufreq.c
drivers/cpufreq/maple-cpufreq.c
drivers/cpufreq/p4-clockmod.c
drivers/cpufreq/pasemi-cpufreq.c
drivers/cpufreq/pmac32-cpufreq.c
drivers/cpufreq/pmac64-cpufreq.c
drivers/cpufreq/powernow-k6.c
drivers/cpufreq/ppc_cbe_cpufreq.c
drivers/cpufreq/s3c2416-cpufreq.c
drivers/cpufreq/s3c64xx-cpufreq.c
drivers/cpufreq/s5pv210-cpufreq.c
drivers/cpufreq/sc520_freq.c
drivers/cpufreq/speedstep-ich.c
drivers/cpufreq/speedstep-smi.c
include/linux/cpufreq.h

index aed32b88576cbe1fbd11f4256a5f8b875bf3f809..e1f427f4f5f3fed4985bb370054421d7d2f91cdc 100644 (file)
@@ -28,16 +28,16 @@ enum {
 };
 
 struct cpufreq_frequency_table loongson2_clockmod_table[] = {
-       {DC_RESV, CPUFREQ_ENTRY_INVALID},
-       {DC_ZERO, CPUFREQ_ENTRY_INVALID},
-       {DC_25PT, 0},
-       {DC_37PT, 0},
-       {DC_50PT, 0},
-       {DC_62PT, 0},
-       {DC_75PT, 0},
-       {DC_87PT, 0},
-       {DC_DISABLE, 0},
-       {DC_RESV, CPUFREQ_TABLE_END},
+       {0, DC_RESV, CPUFREQ_ENTRY_INVALID},
+       {0, DC_ZERO, CPUFREQ_ENTRY_INVALID},
+       {0, DC_25PT, 0},
+       {0, DC_37PT, 0},
+       {0, DC_50PT, 0},
+       {0, DC_62PT, 0},
+       {0, DC_75PT, 0},
+       {0, DC_87PT, 0},
+       {0, DC_DISABLE, 0},
+       {0, DC_RESV, CPUFREQ_TABLE_END},
 };
 EXPORT_SYMBOL_GPL(loongson2_clockmod_table);
 
index d4573032cbbc6e5cdf522951a1ee4e3d86c2c47e..601b88c490cfe2f20a9bbce4f2a1ab65fb4cd9c8 100644 (file)
@@ -15,9 +15,9 @@ static struct notifier_block cris_sdram_freq_notifier_block = {
 };
 
 static struct cpufreq_frequency_table cris_freq_table[] = {
-       {0x01,  6000},
-       {0x02,  200000},
-       {0,     CPUFREQ_TABLE_END},
+       {0, 0x01, 6000},
+       {0, 0x02, 200000},
+       {0, 0, CPUFREQ_TABLE_END},
 };
 
 static unsigned int cris_freq_get_cpu_frequency(unsigned int cpu)
index 13c3361437f7be274fec5b49be8f8aba1c43dd55..22b2cdde74d9b170e175f8352ed7b920cb24170c 100644 (file)
@@ -15,9 +15,9 @@ static struct notifier_block cris_sdram_freq_notifier_block = {
 };
 
 static struct cpufreq_frequency_table cris_freq_table[] = {
-       {0x01, 6000},
-       {0x02, 200000},
-       {0, CPUFREQ_TABLE_END},
+       {0, 0x01, 6000},
+       {0, 0x02, 200000},
+       {0, 0, CPUFREQ_TABLE_END},
 };
 
 static unsigned int cris_freq_get_cpu_frequency(unsigned int cpu)
index c987e94708f5015b7c48ce62795d0f93c0ed8c49..7f5d2a68c3532880b37646ff0761bb73911e00e5 100644 (file)
@@ -56,15 +56,15 @@ static struct s_elan_multiplier elan_multiplier[] = {
 };
 
 static struct cpufreq_frequency_table elanfreq_table[] = {
-       {0,     1000},
-       {1,     2000},
-       {2,     4000},
-       {3,     8000},
-       {4,     16000},
-       {5,     33000},
-       {6,     66000},
-       {7,     99000},
-       {0,     CPUFREQ_TABLE_END},
+       {0, 0,  1000},
+       {0, 1,  2000},
+       {0, 2,  4000},
+       {0, 3,  8000},
+       {0, 4,  16000},
+       {0, 5,  33000},
+       {0, 6,  66000},
+       {0, 7,  99000},
+       {0, 0,  CPUFREQ_TABLE_END},
 };
 
 
index 40d84c43d8f46cf31ad8f68fd007bf5777df6575..6384e5b9a347dab5fefdcb5aa2ad40c0924f5230 100644 (file)
@@ -29,12 +29,12 @@ static unsigned int exynos4210_volt_table[] = {
 };
 
 static struct cpufreq_frequency_table exynos4210_freq_table[] = {
-       {L0, 1200 * 1000},
-       {L1, 1000 * 1000},
-       {L2,  800 * 1000},
-       {L3,  500 * 1000},
-       {L4,  200 * 1000},
-       {0, CPUFREQ_TABLE_END},
+       {0, L0, 1200 * 1000},
+       {0, L1, 1000 * 1000},
+       {0, L2,  800 * 1000},
+       {0, L3,  500 * 1000},
+       {0, L4,  200 * 1000},
+       {0, 0, CPUFREQ_TABLE_END},
 };
 
 static struct apll_freq apll_freq_4210[] = {
index 7c11ace3b3fc15638d08c2df6065e07ab83f36b8..466c76ad335bf54cb85038776e30f0c5d597f639 100644 (file)
@@ -30,21 +30,21 @@ static unsigned int exynos4x12_volt_table[] = {
 };
 
 static struct cpufreq_frequency_table exynos4x12_freq_table[] = {
-       {CPUFREQ_BOOST_FREQ, 1500 * 1000},
-       {L1, 1400 * 1000},
-       {L2, 1300 * 1000},
-       {L3, 1200 * 1000},
-       {L4, 1100 * 1000},
-       {L5, 1000 * 1000},
-       {L6,  900 * 1000},
-       {L7,  800 * 1000},
-       {L8,  700 * 1000},
-       {L9,  600 * 1000},
-       {L10, 500 * 1000},
-       {L11, 400 * 1000},
-       {L12, 300 * 1000},
-       {L13, 200 * 1000},
-       {0, CPUFREQ_TABLE_END},
+       {CPUFREQ_BOOST_FREQ, L0, 1500 * 1000},
+       {0, L1, 1400 * 1000},
+       {0, L2, 1300 * 1000},
+       {0, L3, 1200 * 1000},
+       {0, L4, 1100 * 1000},
+       {0, L5, 1000 * 1000},
+       {0, L6,  900 * 1000},
+       {0, L7,  800 * 1000},
+       {0, L8,  700 * 1000},
+       {0, L9,  600 * 1000},
+       {0, L10, 500 * 1000},
+       {0, L11, 400 * 1000},
+       {0, L12, 300 * 1000},
+       {0, L13, 200 * 1000},
+       {0, 0, CPUFREQ_TABLE_END},
 };
 
 static struct apll_freq *apll_freq_4x12;
index 5f90b82a40825d9b9f1724809a64fea3b693e408..363a0b3fe1b109a7d746c15626155cabf2a03089 100644 (file)
@@ -34,23 +34,23 @@ static unsigned int exynos5250_volt_table[] = {
 };
 
 static struct cpufreq_frequency_table exynos5250_freq_table[] = {
-       {L0, 1700 * 1000},
-       {L1, 1600 * 1000},
-       {L2, 1500 * 1000},
-       {L3, 1400 * 1000},
-       {L4, 1300 * 1000},
-       {L5, 1200 * 1000},
-       {L6, 1100 * 1000},
-       {L7, 1000 * 1000},
-       {L8,  900 * 1000},
-       {L9,  800 * 1000},
-       {L10, 700 * 1000},
-       {L11, 600 * 1000},
-       {L12, 500 * 1000},
-       {L13, 400 * 1000},
-       {L14, 300 * 1000},
-       {L15, 200 * 1000},
-       {0, CPUFREQ_TABLE_END},
+       {0, L0, 1700 * 1000},
+       {0, L1, 1600 * 1000},
+       {0, L2, 1500 * 1000},
+       {0, L3, 1400 * 1000},
+       {0, L4, 1300 * 1000},
+       {0, L5, 1200 * 1000},
+       {0, L6, 1100 * 1000},
+       {0, L7, 1000 * 1000},
+       {0, L8,  900 * 1000},
+       {0, L9,  800 * 1000},
+       {0, L10, 700 * 1000},
+       {0, L11, 600 * 1000},
+       {0, L12, 500 * 1000},
+       {0, L13, 400 * 1000},
+       {0, L14, 300 * 1000},
+       {0, L15, 200 * 1000},
+       {0, 0, CPUFREQ_TABLE_END},
 };
 
 static struct apll_freq apll_freq_5250[] = {
index 53ff3c209606f544d312803450028a1c490a35d7..08e7bbcf6d7362d633311132e8b9fe21433360a0 100644 (file)
@@ -33,7 +33,7 @@ int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy,
                        continue;
                }
                if (!cpufreq_boost_enabled()
-                   && table[i].driver_data == CPUFREQ_BOOST_FREQ)
+                   && (table[i].flags & CPUFREQ_BOOST_FREQ))
                        continue;
 
                pr_debug("table entry %u: %u kHz\n", i, freq);
@@ -229,7 +229,7 @@ static ssize_t show_available_freqs(struct cpufreq_policy *policy, char *buf,
                 * show_boost = false and driver_data != BOOST freq
                 * display NON BOOST freqs
                 */
-               if (show_boost ^ (table[i].driver_data == CPUFREQ_BOOST_FREQ))
+               if (show_boost ^ (table[i].flags & CPUFREQ_BOOST_FREQ))
                        continue;
 
                count += sprintf(&buf[count], "%d ", table[i].frequency);
index 3d114bc5a97ad56999b03d2f03d9c701a8c72f6b..37a480680cd07bb49b3aa439c6be95f158907fca 100644 (file)
@@ -43,9 +43,9 @@ static struct priv
  * table.
  */
 static struct cpufreq_frequency_table kirkwood_freq_table[] = {
-       {STATE_CPU_FREQ,        0}, /* CPU uses cpuclk */
-       {STATE_DDR_FREQ,        0}, /* CPU uses ddrclk */
-       {0,                     CPUFREQ_TABLE_END},
+       {0, STATE_CPU_FREQ,     0}, /* CPU uses cpuclk */
+       {0, STATE_DDR_FREQ,     0}, /* CPU uses ddrclk */
+       {0, 0,                  CPUFREQ_TABLE_END},
 };
 
 static unsigned int kirkwood_cpufreq_get_cpu_frequency(unsigned int cpu)
index c4dfa42a75acc6663de5b0c4aabd7db3705de954..cc3408fc073f982110b446684cf8ed5dceb44bff 100644 (file)
@@ -59,9 +59,9 @@
 #define CPUFREQ_LOW                   1
 
 static struct cpufreq_frequency_table maple_cpu_freqs[] = {
-       {CPUFREQ_HIGH,          0},
-       {CPUFREQ_LOW,           0},
-       {0,                     CPUFREQ_TABLE_END},
+       {0, CPUFREQ_HIGH,               0},
+       {0, CPUFREQ_LOW,                0},
+       {0, 0,                          CPUFREQ_TABLE_END},
 };
 
 /* Power mode data is an array of the 32 bits PCR values to use for
index 74f593e70e191ffdd8c297377cf347a833a9dbce..529cfd92158fa6f7e0e9cfb79d88307c83c57ac3 100644 (file)
@@ -92,16 +92,16 @@ static int cpufreq_p4_setdc(unsigned int cpu, unsigned int newstate)
 
 
 static struct cpufreq_frequency_table p4clockmod_table[] = {
-       {DC_RESV, CPUFREQ_ENTRY_INVALID},
-       {DC_DFLT, 0},
-       {DC_25PT, 0},
-       {DC_38PT, 0},
-       {DC_50PT, 0},
-       {DC_64PT, 0},
-       {DC_75PT, 0},
-       {DC_88PT, 0},
-       {DC_DISABLE, 0},
-       {DC_RESV, CPUFREQ_TABLE_END},
+       {0, DC_RESV, CPUFREQ_ENTRY_INVALID},
+       {0, DC_DFLT, 0},
+       {0, DC_25PT, 0},
+       {0, DC_38PT, 0},
+       {0, DC_50PT, 0},
+       {0, DC_64PT, 0},
+       {0, DC_75PT, 0},
+       {0, DC_88PT, 0},
+       {0, DC_DISABLE, 0},
+       {0, DC_RESV, CPUFREQ_TABLE_END},
 };
 
 
index 6a2b7d3e85a7bf408c926037a0949e4d0cf0143c..84c84b5f0f3a426d70738730b8715defc18bec20 100644 (file)
@@ -60,12 +60,12 @@ static int current_astate;
 
 /* We support 5(A0-A4) power states excluding turbo(A5-A6) modes */
 static struct cpufreq_frequency_table pas_freqs[] = {
-       {0,     0},
-       {1,     0},
-       {2,     0},
-       {3,     0},
-       {4,     0},
-       {0,     CPUFREQ_TABLE_END},
+       {0, 0,  0},
+       {0, 1,  0},
+       {0, 2,  0},
+       {0, 3,  0},
+       {0, 4,  0},
+       {0, 0,  CPUFREQ_TABLE_END},
 };
 
 /*
index cf55d202f332be36322d7e645ed596b2f2669d16..7615180d7ee3c497e915d72f18af11e9b3f09c5c 100644 (file)
@@ -81,9 +81,9 @@ static int is_pmu_based;
 #define CPUFREQ_LOW                   1
 
 static struct cpufreq_frequency_table pmac_cpu_freqs[] = {
-       {CPUFREQ_HIGH,          0},
-       {CPUFREQ_LOW,           0},
-       {0,                     CPUFREQ_TABLE_END},
+       {0, CPUFREQ_HIGH,       0},
+       {0, CPUFREQ_LOW,        0},
+       {0, 0,                  CPUFREQ_TABLE_END},
 };
 
 static inline void local_delay(unsigned long ms)
index 6a338f8c386096eb22929c7228a7c38723229a5b..8bc422977b5b88120ad93c08ac27cbea22cc80ec 100644 (file)
@@ -65,9 +65,9 @@
 #define CPUFREQ_LOW                   1
 
 static struct cpufreq_frequency_table g5_cpu_freqs[] = {
-       {CPUFREQ_HIGH,          0},
-       {CPUFREQ_LOW,           0},
-       {0,                     CPUFREQ_TABLE_END},
+       {0, CPUFREQ_HIGH,       0},
+       {0, CPUFREQ_LOW,        0},
+       {0, 0,                  CPUFREQ_TABLE_END},
 };
 
 /* Power mode data is an array of the 32 bits PCR values to use for
index 62c6f2e5afced391ee7260e6ab6065c73954fa58..49f120e1bc7be0ecb879f184424d1dc56ee63981 100644 (file)
@@ -37,15 +37,15 @@ MODULE_PARM_DESC(bus_frequency, "Bus frequency in kHz");
 
 /* Clock ratio multiplied by 10 - see table 27 in AMD#23446 */
 static struct cpufreq_frequency_table clock_ratio[] = {
-       {60,  /* 110 -> 6.0x */ 0},
-       {55,  /* 011 -> 5.5x */ 0},
-       {50,  /* 001 -> 5.0x */ 0},
-       {45,  /* 000 -> 4.5x */ 0},
-       {40,  /* 010 -> 4.0x */ 0},
-       {35,  /* 111 -> 3.5x */ 0},
-       {30,  /* 101 -> 3.0x */ 0},
-       {20,  /* 100 -> 2.0x */ 0},
-       {0, CPUFREQ_TABLE_END}
+       {0, 60,  /* 110 -> 6.0x */ 0},
+       {0, 55,  /* 011 -> 5.5x */ 0},
+       {0, 50,  /* 001 -> 5.0x */ 0},
+       {0, 45,  /* 000 -> 4.5x */ 0},
+       {0, 40,  /* 010 -> 4.0x */ 0},
+       {0, 35,  /* 111 -> 3.5x */ 0},
+       {0, 30,  /* 101 -> 3.0x */ 0},
+       {0, 20,  /* 100 -> 2.0x */ 0},
+       {0, 0, CPUFREQ_TABLE_END}
 };
 
 static const u8 index_to_register[8] = { 6, 3, 1, 0, 2, 7, 5, 4 };
index af7b1cabd1e76f643ae652de1b05e4b57107429c..5be8a48dba74fdca1d3d8b33ac02c93229b792c6 100644 (file)
 
 /* the CBE supports an 8 step frequency scaling */
 static struct cpufreq_frequency_table cbe_freqs[] = {
-       {1,     0},
-       {2,     0},
-       {3,     0},
-       {4,     0},
-       {5,     0},
-       {6,     0},
-       {8,     0},
-       {10,    0},
-       {0,     CPUFREQ_TABLE_END},
+       {0, 1,  0},
+       {0, 2,  0},
+       {0, 3,  0},
+       {0, 4,  0},
+       {0, 5,  0},
+       {0, 6,  0},
+       {0, 8,  0},
+       {0, 10, 0},
+       {0, 0,  CPUFREQ_TABLE_END},
 };
 
 /*
index 826b8be2309942a2b43548806516aa43bca183aa..4626f90559b55167869b86aa6c0349cb45d29d46 100644 (file)
@@ -72,19 +72,19 @@ static struct s3c2416_dvfs s3c2416_dvfs_table[] = {
 #endif
 
 static struct cpufreq_frequency_table s3c2416_freq_table[] = {
-       { SOURCE_HCLK, FREQ_DVS },
-       { SOURCE_ARMDIV, 133333 },
-       { SOURCE_ARMDIV, 266666 },
-       { SOURCE_ARMDIV, 400000 },
-       { 0, CPUFREQ_TABLE_END },
+       { 0, SOURCE_HCLK, FREQ_DVS },
+       { 0, SOURCE_ARMDIV, 133333 },
+       { 0, SOURCE_ARMDIV, 266666 },
+       { 0, SOURCE_ARMDIV, 400000 },
+       { 0, 0, CPUFREQ_TABLE_END },
 };
 
 static struct cpufreq_frequency_table s3c2450_freq_table[] = {
-       { SOURCE_HCLK, FREQ_DVS },
-       { SOURCE_ARMDIV, 133500 },
-       { SOURCE_ARMDIV, 267000 },
-       { SOURCE_ARMDIV, 534000 },
-       { 0, CPUFREQ_TABLE_END },
+       { 0, SOURCE_HCLK, FREQ_DVS },
+       { 0, SOURCE_ARMDIV, 133500 },
+       { 0, SOURCE_ARMDIV, 267000 },
+       { 0, SOURCE_ARMDIV, 534000 },
+       { 0, 0, CPUFREQ_TABLE_END },
 };
 
 static unsigned int s3c2416_cpufreq_get_speed(unsigned int cpu)
index c4226de079ab4704a04455f349bc9a2286162173..ff7d3ecb85f0f3c45430423942dc79a03f8837a6 100644 (file)
@@ -37,19 +37,19 @@ static struct s3c64xx_dvfs s3c64xx_dvfs_table[] = {
 };
 
 static struct cpufreq_frequency_table s3c64xx_freq_table[] = {
-       { 0,  66000 },
-       { 0, 100000 },
-       { 0, 133000 },
-       { 1, 200000 },
-       { 1, 222000 },
-       { 1, 266000 },
-       { 2, 333000 },
-       { 2, 400000 },
-       { 2, 532000 },
-       { 2, 533000 },
-       { 3, 667000 },
-       { 4, 800000 },
-       { 0, CPUFREQ_TABLE_END },
+       { 0, 0,  66000 },
+       { 0, 0, 100000 },
+       { 0, 0, 133000 },
+       { 0, 1, 200000 },
+       { 0, 1, 222000 },
+       { 0, 1, 266000 },
+       { 0, 2, 333000 },
+       { 0, 2, 400000 },
+       { 0, 2, 532000 },
+       { 0, 2, 533000 },
+       { 0, 3, 667000 },
+       { 0, 4, 800000 },
+       { 0, 0, CPUFREQ_TABLE_END },
 };
 #endif
 
index 72421534fff57753a5fec3b9660c4842578acd69..ab2c1a40d43752591283162a177b4a61ae0a9487 100644 (file)
@@ -64,12 +64,12 @@ enum s5pv210_dmc_port {
 };
 
 static struct cpufreq_frequency_table s5pv210_freq_table[] = {
-       {L0, 1000*1000},
-       {L1, 800*1000},
-       {L2, 400*1000},
-       {L3, 200*1000},
-       {L4, 100*1000},
-       {0, CPUFREQ_TABLE_END},
+       {0, L0, 1000*1000},
+       {0, L1, 800*1000},
+       {0, L2, 400*1000},
+       {0, L3, 200*1000},
+       {0, L4, 100*1000},
+       {0, 0, CPUFREQ_TABLE_END},
 };
 
 static struct regulator *arm_regulator;
index 69371bf0886d11a17a86bb169dd624777f4b6048..ac84e48180148b9a383b81fe43e328e7a56cd8cb 100644 (file)
@@ -33,9 +33,9 @@ static __u8 __iomem *cpuctl;
 #define PFX "sc520_freq: "
 
 static struct cpufreq_frequency_table sc520_freq_table[] = {
-       {0x01,  100000},
-       {0x02,  133000},
-       {0,     CPUFREQ_TABLE_END},
+       {0, 0x01,       100000},
+       {0, 0x02,       133000},
+       {0, 0,  CPUFREQ_TABLE_END},
 };
 
 static unsigned int sc520_freq_get_cpu_frequency(unsigned int cpu)
index 394ac159312a03ffbd359db7c9e30efda9c044eb..1a07b5904ed55c1504c65e3a7f49061b78c9ea62 100644 (file)
@@ -49,9 +49,9 @@ static u32 pmbase;
  * are in kHz for the time being.
  */
 static struct cpufreq_frequency_table speedstep_freqs[] = {
-       {SPEEDSTEP_HIGH,        0},
-       {SPEEDSTEP_LOW,         0},
-       {0,                     CPUFREQ_TABLE_END},
+       {0, SPEEDSTEP_HIGH,     0},
+       {0, SPEEDSTEP_LOW,      0},
+       {0, 0,                  CPUFREQ_TABLE_END},
 };
 
 
index db5d274dc13ad4e800c0bd51547c92b6619668ed..8635eec96da5c3c7f210467a497b20b53eb52c32 100644 (file)
@@ -42,9 +42,9 @@ static enum speedstep_processor speedstep_processor;
  * are in kHz for the time being.
  */
 static struct cpufreq_frequency_table speedstep_freqs[] = {
-       {SPEEDSTEP_HIGH,        0},
-       {SPEEDSTEP_LOW,         0},
-       {0,                     CPUFREQ_TABLE_END},
+       {0, SPEEDSTEP_HIGH,     0},
+       {0, SPEEDSTEP_LOW,      0},
+       {0, 0,                  CPUFREQ_TABLE_END},
 };
 
 #define GET_SPEEDSTEP_OWNER 0
index c48e595f623e682cea2b8a8e5d83cd30f5275ad0..5ae5100c1f2457ec9573870f2b90875031255a02 100644 (file)
@@ -455,11 +455,14 @@ extern struct cpufreq_governor cpufreq_gov_conservative;
  *                     FREQUENCY TABLE HELPERS                       *
  *********************************************************************/
 
-#define CPUFREQ_ENTRY_INVALID ~0
-#define CPUFREQ_TABLE_END     ~1
-#define CPUFREQ_BOOST_FREQ    ~2
+/* Special Values of .frequency field */
+#define CPUFREQ_ENTRY_INVALID  ~0
+#define CPUFREQ_TABLE_END      ~1
+/* Special Values of .flags field */
+#define CPUFREQ_BOOST_FREQ     (1 << 0)
 
 struct cpufreq_frequency_table {
+       unsigned int    flags;
        unsigned int    driver_data; /* driver specific data, not used by core */
        unsigned int    frequency; /* kHz - doesn't need to be in ascending
                                    * order */