提交 50701588 编写于 作者: V Viresh Kumar 提交者: Rafael J. Wysocki

cpufreq: rename index as driver_data in cpufreq_frequency_table

The "index" field of struct cpufreq_frequency_table was never an
index and isn't used at all by the cpufreq core.  It only is useful
for cpufreq drivers for their internal purposes.

Many people nowadays blindly set it in ascending order with the
assumption that the core will use it, which is a mistake.

Rename it to "driver_data" as that's what its purpose is. All of its
users are updated accordingly.

[rjw: Changelog]
Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
Acked-by: NSimon Horman <horms+renesas@verge.net.au>
Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
上级 2361be23
...@@ -186,7 +186,7 @@ As most cpufreq processors only allow for being set to a few specific ...@@ -186,7 +186,7 @@ As most cpufreq processors only allow for being set to a few specific
frequencies, a "frequency table" with some functions might assist in frequencies, a "frequency table" with some functions might assist in
some work of the processor driver. Such a "frequency table" consists some work of the processor driver. Such a "frequency table" consists
of an array of struct cpufreq_frequency_table entries, with any value in of an array of struct cpufreq_frequency_table entries, with any value in
"index" you want to use, and the corresponding frequency in "driver_data" you want to use, and the corresponding frequency in
"frequency". At the end of the table, you need to add a "frequency". At the end of the table, you need to add a
cpufreq_frequency_table entry with frequency set to CPUFREQ_TABLE_END. And cpufreq_frequency_table entry with frequency set to CPUFREQ_TABLE_END. And
if you want to skip one entry in the table, set the frequency to if you want to skip one entry in the table, set the frequency to
...@@ -214,10 +214,4 @@ int cpufreq_frequency_table_target(struct cpufreq_policy *policy, ...@@ -214,10 +214,4 @@ int cpufreq_frequency_table_target(struct cpufreq_policy *policy,
is the corresponding frequency table helper for the ->target is the corresponding frequency table helper for the ->target
stage. Just pass the values to this function, and the unsigned int stage. Just pass the values to this function, and the unsigned int
index returns the number of the frequency table entry which contains index returns the number of the frequency table entry which contains
the frequency the CPU shall be set to. PLEASE NOTE: This is not the the frequency the CPU shall be set to.
"index" which is in this cpufreq_table_entry.index, but instead
cpufreq_table[index]. So, the new frequency is
cpufreq_table[index].frequency, and the value you stored into the
frequency table "index" field is
cpufreq_table[index].index.
...@@ -1004,7 +1004,7 @@ static const struct da850_opp da850_opp_96 = { ...@@ -1004,7 +1004,7 @@ static const struct da850_opp da850_opp_96 = {
#define OPP(freq) \ #define OPP(freq) \
{ \ { \
.index = (unsigned int) &da850_opp_##freq, \ .driver_data = (unsigned int) &da850_opp_##freq, \
.frequency = freq * 1000, \ .frequency = freq * 1000, \
} }
...@@ -1016,7 +1016,7 @@ static struct cpufreq_frequency_table da850_freq_table[] = { ...@@ -1016,7 +1016,7 @@ static struct cpufreq_frequency_table da850_freq_table[] = {
OPP(200), OPP(200),
OPP(96), OPP(96),
{ {
.index = 0, .driver_data = 0,
.frequency = CPUFREQ_TABLE_END, .frequency = CPUFREQ_TABLE_END,
}, },
}; };
...@@ -1044,7 +1044,7 @@ static int da850_set_voltage(unsigned int index) ...@@ -1044,7 +1044,7 @@ static int da850_set_voltage(unsigned int index)
if (!cvdd) if (!cvdd)
return -ENODEV; return -ENODEV;
opp = (struct da850_opp *) cpufreq_info.freq_table[index].index; opp = (struct da850_opp *) cpufreq_info.freq_table[index].driver_data;
return regulator_set_voltage(cvdd, opp->cvdd_min, opp->cvdd_max); return regulator_set_voltage(cvdd, opp->cvdd_min, opp->cvdd_max);
} }
...@@ -1125,7 +1125,7 @@ static int da850_set_pll0rate(struct clk *clk, unsigned long index) ...@@ -1125,7 +1125,7 @@ static int da850_set_pll0rate(struct clk *clk, unsigned long index)
struct pll_data *pll = clk->pll_data; struct pll_data *pll = clk->pll_data;
int ret; int ret;
opp = (struct da850_opp *) cpufreq_info.freq_table[index].index; opp = (struct da850_opp *) cpufreq_info.freq_table[index].driver_data;
prediv = opp->prediv; prediv = opp->prediv;
mult = opp->mult; mult = opp->mult;
postdiv = opp->postdiv; postdiv = opp->postdiv;
......
...@@ -60,5 +60,5 @@ void s3c2410_cpufreq_setrefresh(struct s3c_cpufreq_config *cfg) ...@@ -60,5 +60,5 @@ void s3c2410_cpufreq_setrefresh(struct s3c_cpufreq_config *cfg)
*/ */
void s3c2410_set_fvco(struct s3c_cpufreq_config *cfg) void s3c2410_set_fvco(struct s3c_cpufreq_config *cfg)
{ {
__raw_writel(cfg->pll.index, S3C2410_MPLLCON); __raw_writel(cfg->pll.driver_data, S3C2410_MPLLCON);
} }
...@@ -70,7 +70,7 @@ static void s3c_cpufreq_getcur(struct s3c_cpufreq_config *cfg) ...@@ -70,7 +70,7 @@ static void s3c_cpufreq_getcur(struct s3c_cpufreq_config *cfg)
cfg->freq.pclk = pclk = clk_get_rate(clk_pclk); cfg->freq.pclk = pclk = clk_get_rate(clk_pclk);
cfg->freq.armclk = armclk = clk_get_rate(clk_arm); cfg->freq.armclk = armclk = clk_get_rate(clk_arm);
cfg->pll.index = __raw_readl(S3C2410_MPLLCON); cfg->pll.driver_data = __raw_readl(S3C2410_MPLLCON);
cfg->pll.frequency = fclk; cfg->pll.frequency = fclk;
cfg->freq.hclk_tns = 1000000000 / (cfg->freq.hclk / 10); cfg->freq.hclk_tns = 1000000000 / (cfg->freq.hclk / 10);
...@@ -431,7 +431,7 @@ static unsigned int suspend_freq; ...@@ -431,7 +431,7 @@ static unsigned int suspend_freq;
static int s3c_cpufreq_suspend(struct cpufreq_policy *policy) static int s3c_cpufreq_suspend(struct cpufreq_policy *policy)
{ {
suspend_pll.frequency = clk_get_rate(_clk_mpll); suspend_pll.frequency = clk_get_rate(_clk_mpll);
suspend_pll.index = __raw_readl(S3C2410_MPLLCON); suspend_pll.driver_data = __raw_readl(S3C2410_MPLLCON);
suspend_freq = s3c_cpufreq_get(0) * 1000; suspend_freq = s3c_cpufreq_get(0) * 1000;
return 0; return 0;
......
...@@ -33,36 +33,36 @@ ...@@ -33,36 +33,36 @@
#include <plat/cpu-freq-core.h> #include <plat/cpu-freq-core.h>
static struct cpufreq_frequency_table pll_vals_12MHz[] = { static struct cpufreq_frequency_table pll_vals_12MHz[] = {
{ .frequency = 34000000, .index = PLLVAL(82, 2, 3), }, { .frequency = 34000000, .driver_data = PLLVAL(82, 2, 3), },
{ .frequency = 45000000, .index = PLLVAL(82, 1, 3), }, { .frequency = 45000000, .driver_data = PLLVAL(82, 1, 3), },
{ .frequency = 51000000, .index = PLLVAL(161, 3, 3), }, { .frequency = 51000000, .driver_data = PLLVAL(161, 3, 3), },
{ .frequency = 48000000, .index = PLLVAL(120, 2, 3), }, { .frequency = 48000000, .driver_data = PLLVAL(120, 2, 3), },
{ .frequency = 56000000, .index = PLLVAL(142, 2, 3), }, { .frequency = 56000000, .driver_data = PLLVAL(142, 2, 3), },
{ .frequency = 68000000, .index = PLLVAL(82, 2, 2), }, { .frequency = 68000000, .driver_data = PLLVAL(82, 2, 2), },
{ .frequency = 79000000, .index = PLLVAL(71, 1, 2), }, { .frequency = 79000000, .driver_data = PLLVAL(71, 1, 2), },
{ .frequency = 85000000, .index = PLLVAL(105, 2, 2), }, { .frequency = 85000000, .driver_data = PLLVAL(105, 2, 2), },
{ .frequency = 90000000, .index = PLLVAL(112, 2, 2), }, { .frequency = 90000000, .driver_data = PLLVAL(112, 2, 2), },
{ .frequency = 101000000, .index = PLLVAL(127, 2, 2), }, { .frequency = 101000000, .driver_data = PLLVAL(127, 2, 2), },
{ .frequency = 113000000, .index = PLLVAL(105, 1, 2), }, { .frequency = 113000000, .driver_data = PLLVAL(105, 1, 2), },
{ .frequency = 118000000, .index = PLLVAL(150, 2, 2), }, { .frequency = 118000000, .driver_data = PLLVAL(150, 2, 2), },
{ .frequency = 124000000, .index = PLLVAL(116, 1, 2), }, { .frequency = 124000000, .driver_data = PLLVAL(116, 1, 2), },
{ .frequency = 135000000, .index = PLLVAL(82, 2, 1), }, { .frequency = 135000000, .driver_data = PLLVAL(82, 2, 1), },
{ .frequency = 147000000, .index = PLLVAL(90, 2, 1), }, { .frequency = 147000000, .driver_data = PLLVAL(90, 2, 1), },
{ .frequency = 152000000, .index = PLLVAL(68, 1, 1), }, { .frequency = 152000000, .driver_data = PLLVAL(68, 1, 1), },
{ .frequency = 158000000, .index = PLLVAL(71, 1, 1), }, { .frequency = 158000000, .driver_data = PLLVAL(71, 1, 1), },
{ .frequency = 170000000, .index = PLLVAL(77, 1, 1), }, { .frequency = 170000000, .driver_data = PLLVAL(77, 1, 1), },
{ .frequency = 180000000, .index = PLLVAL(82, 1, 1), }, { .frequency = 180000000, .driver_data = PLLVAL(82, 1, 1), },
{ .frequency = 186000000, .index = PLLVAL(85, 1, 1), }, { .frequency = 186000000, .driver_data = PLLVAL(85, 1, 1), },
{ .frequency = 192000000, .index = PLLVAL(88, 1, 1), }, { .frequency = 192000000, .driver_data = PLLVAL(88, 1, 1), },
{ .frequency = 203000000, .index = PLLVAL(161, 3, 1), }, { .frequency = 203000000, .driver_data = PLLVAL(161, 3, 1), },
/* 2410A extras */ /* 2410A extras */
{ .frequency = 210000000, .index = PLLVAL(132, 2, 1), }, { .frequency = 210000000, .driver_data = PLLVAL(132, 2, 1), },
{ .frequency = 226000000, .index = PLLVAL(105, 1, 1), }, { .frequency = 226000000, .driver_data = PLLVAL(105, 1, 1), },
{ .frequency = 266000000, .index = PLLVAL(125, 1, 1), }, { .frequency = 266000000, .driver_data = PLLVAL(125, 1, 1), },
{ .frequency = 268000000, .index = PLLVAL(126, 1, 1), }, { .frequency = 268000000, .driver_data = PLLVAL(126, 1, 1), },
{ .frequency = 270000000, .index = PLLVAL(127, 1, 1), }, { .frequency = 270000000, .driver_data = PLLVAL(127, 1, 1), },
}; };
static int s3c2410_plls_add(struct device *dev, struct subsys_interface *sif) static int s3c2410_plls_add(struct device *dev, struct subsys_interface *sif)
......
...@@ -21,33 +21,33 @@ ...@@ -21,33 +21,33 @@
#include <plat/cpu-freq-core.h> #include <plat/cpu-freq-core.h>
static struct cpufreq_frequency_table s3c2440_plls_12[] __initdata = { static struct cpufreq_frequency_table s3c2440_plls_12[] __initdata = {
{ .frequency = 75000000, .index = PLLVAL(0x75, 3, 3), }, /* FVco 600.000000 */ { .frequency = 75000000, .driver_data = PLLVAL(0x75, 3, 3), }, /* FVco 600.000000 */
{ .frequency = 80000000, .index = PLLVAL(0x98, 4, 3), }, /* FVco 640.000000 */ { .frequency = 80000000, .driver_data = PLLVAL(0x98, 4, 3), }, /* FVco 640.000000 */
{ .frequency = 90000000, .index = PLLVAL(0x70, 2, 3), }, /* FVco 720.000000 */ { .frequency = 90000000, .driver_data = PLLVAL(0x70, 2, 3), }, /* FVco 720.000000 */
{ .frequency = 100000000, .index = PLLVAL(0x5c, 1, 3), }, /* FVco 800.000000 */ { .frequency = 100000000, .driver_data = PLLVAL(0x5c, 1, 3), }, /* FVco 800.000000 */
{ .frequency = 110000000, .index = PLLVAL(0x66, 1, 3), }, /* FVco 880.000000 */ { .frequency = 110000000, .driver_data = PLLVAL(0x66, 1, 3), }, /* FVco 880.000000 */
{ .frequency = 120000000, .index = PLLVAL(0x70, 1, 3), }, /* FVco 960.000000 */ { .frequency = 120000000, .driver_data = PLLVAL(0x70, 1, 3), }, /* FVco 960.000000 */
{ .frequency = 150000000, .index = PLLVAL(0x75, 3, 2), }, /* FVco 600.000000 */ { .frequency = 150000000, .driver_data = PLLVAL(0x75, 3, 2), }, /* FVco 600.000000 */
{ .frequency = 160000000, .index = PLLVAL(0x98, 4, 2), }, /* FVco 640.000000 */ { .frequency = 160000000, .driver_data = PLLVAL(0x98, 4, 2), }, /* FVco 640.000000 */
{ .frequency = 170000000, .index = PLLVAL(0x4d, 1, 2), }, /* FVco 680.000000 */ { .frequency = 170000000, .driver_data = PLLVAL(0x4d, 1, 2), }, /* FVco 680.000000 */
{ .frequency = 180000000, .index = PLLVAL(0x70, 2, 2), }, /* FVco 720.000000 */ { .frequency = 180000000, .driver_data = PLLVAL(0x70, 2, 2), }, /* FVco 720.000000 */
{ .frequency = 190000000, .index = PLLVAL(0x57, 1, 2), }, /* FVco 760.000000 */ { .frequency = 190000000, .driver_data = PLLVAL(0x57, 1, 2), }, /* FVco 760.000000 */
{ .frequency = 200000000, .index = PLLVAL(0x5c, 1, 2), }, /* FVco 800.000000 */ { .frequency = 200000000, .driver_data = PLLVAL(0x5c, 1, 2), }, /* FVco 800.000000 */
{ .frequency = 210000000, .index = PLLVAL(0x84, 2, 2), }, /* FVco 840.000000 */ { .frequency = 210000000, .driver_data = PLLVAL(0x84, 2, 2), }, /* FVco 840.000000 */
{ .frequency = 220000000, .index = PLLVAL(0x66, 1, 2), }, /* FVco 880.000000 */ { .frequency = 220000000, .driver_data = PLLVAL(0x66, 1, 2), }, /* FVco 880.000000 */
{ .frequency = 230000000, .index = PLLVAL(0x6b, 1, 2), }, /* FVco 920.000000 */ { .frequency = 230000000, .driver_data = PLLVAL(0x6b, 1, 2), }, /* FVco 920.000000 */
{ .frequency = 240000000, .index = PLLVAL(0x70, 1, 2), }, /* FVco 960.000000 */ { .frequency = 240000000, .driver_data = PLLVAL(0x70, 1, 2), }, /* FVco 960.000000 */
{ .frequency = 300000000, .index = PLLVAL(0x75, 3, 1), }, /* FVco 600.000000 */ { .frequency = 300000000, .driver_data = PLLVAL(0x75, 3, 1), }, /* FVco 600.000000 */
{ .frequency = 310000000, .index = PLLVAL(0x93, 4, 1), }, /* FVco 620.000000 */ { .frequency = 310000000, .driver_data = PLLVAL(0x93, 4, 1), }, /* FVco 620.000000 */
{ .frequency = 320000000, .index = PLLVAL(0x98, 4, 1), }, /* FVco 640.000000 */ { .frequency = 320000000, .driver_data = PLLVAL(0x98, 4, 1), }, /* FVco 640.000000 */
{ .frequency = 330000000, .index = PLLVAL(0x66, 2, 1), }, /* FVco 660.000000 */ { .frequency = 330000000, .driver_data = PLLVAL(0x66, 2, 1), }, /* FVco 660.000000 */
{ .frequency = 340000000, .index = PLLVAL(0x4d, 1, 1), }, /* FVco 680.000000 */ { .frequency = 340000000, .driver_data = PLLVAL(0x4d, 1, 1), }, /* FVco 680.000000 */
{ .frequency = 350000000, .index = PLLVAL(0xa7, 4, 1), }, /* FVco 700.000000 */ { .frequency = 350000000, .driver_data = PLLVAL(0xa7, 4, 1), }, /* FVco 700.000000 */
{ .frequency = 360000000, .index = PLLVAL(0x70, 2, 1), }, /* FVco 720.000000 */ { .frequency = 360000000, .driver_data = PLLVAL(0x70, 2, 1), }, /* FVco 720.000000 */
{ .frequency = 370000000, .index = PLLVAL(0xb1, 4, 1), }, /* FVco 740.000000 */ { .frequency = 370000000, .driver_data = PLLVAL(0xb1, 4, 1), }, /* FVco 740.000000 */
{ .frequency = 380000000, .index = PLLVAL(0x57, 1, 1), }, /* FVco 760.000000 */ { .frequency = 380000000, .driver_data = PLLVAL(0x57, 1, 1), }, /* FVco 760.000000 */
{ .frequency = 390000000, .index = PLLVAL(0x7a, 2, 1), }, /* FVco 780.000000 */ { .frequency = 390000000, .driver_data = PLLVAL(0x7a, 2, 1), }, /* FVco 780.000000 */
{ .frequency = 400000000, .index = PLLVAL(0x5c, 1, 1), }, /* FVco 800.000000 */ { .frequency = 400000000, .driver_data = PLLVAL(0x5c, 1, 1), }, /* FVco 800.000000 */
}; };
static int s3c2440_plls12_add(struct device *dev, struct subsys_interface *sif) static int s3c2440_plls12_add(struct device *dev, struct subsys_interface *sif)
......
...@@ -21,61 +21,61 @@ ...@@ -21,61 +21,61 @@
#include <plat/cpu-freq-core.h> #include <plat/cpu-freq-core.h>
static struct cpufreq_frequency_table s3c2440_plls_169344[] __initdata = { static struct cpufreq_frequency_table s3c2440_plls_169344[] __initdata = {
{ .frequency = 78019200, .index = PLLVAL(121, 5, 3), }, /* FVco 624.153600 */ { .frequency = 78019200, .driver_data = PLLVAL(121, 5, 3), }, /* FVco 624.153600 */
{ .frequency = 84067200, .index = PLLVAL(131, 5, 3), }, /* FVco 672.537600 */ { .frequency = 84067200, .driver_data = PLLVAL(131, 5, 3), }, /* FVco 672.537600 */
{ .frequency = 90115200, .index = PLLVAL(141, 5, 3), }, /* FVco 720.921600 */ { .frequency = 90115200, .driver_data = PLLVAL(141, 5, 3), }, /* FVco 720.921600 */
{ .frequency = 96163200, .index = PLLVAL(151, 5, 3), }, /* FVco 769.305600 */ { .frequency = 96163200, .driver_data = PLLVAL(151, 5, 3), }, /* FVco 769.305600 */
{ .frequency = 102135600, .index = PLLVAL(185, 6, 3), }, /* FVco 817.084800 */ { .frequency = 102135600, .driver_data = PLLVAL(185, 6, 3), }, /* FVco 817.084800 */
{ .frequency = 108259200, .index = PLLVAL(171, 5, 3), }, /* FVco 866.073600 */ { .frequency = 108259200, .driver_data = PLLVAL(171, 5, 3), }, /* FVco 866.073600 */
{ .frequency = 114307200, .index = PLLVAL(127, 3, 3), }, /* FVco 914.457600 */ { .frequency = 114307200, .driver_data = PLLVAL(127, 3, 3), }, /* FVco 914.457600 */
{ .frequency = 120234240, .index = PLLVAL(134, 3, 3), }, /* FVco 961.873920 */ { .frequency = 120234240, .driver_data = PLLVAL(134, 3, 3), }, /* FVco 961.873920 */
{ .frequency = 126161280, .index = PLLVAL(141, 3, 3), }, /* FVco 1009.290240 */ { .frequency = 126161280, .driver_data = PLLVAL(141, 3, 3), }, /* FVco 1009.290240 */
{ .frequency = 132088320, .index = PLLVAL(148, 3, 3), }, /* FVco 1056.706560 */ { .frequency = 132088320, .driver_data = PLLVAL(148, 3, 3), }, /* FVco 1056.706560 */
{ .frequency = 138015360, .index = PLLVAL(155, 3, 3), }, /* FVco 1104.122880 */ { .frequency = 138015360, .driver_data = PLLVAL(155, 3, 3), }, /* FVco 1104.122880 */
{ .frequency = 144789120, .index = PLLVAL(163, 3, 3), }, /* FVco 1158.312960 */ { .frequency = 144789120, .driver_data = PLLVAL(163, 3, 3), }, /* FVco 1158.312960 */
{ .frequency = 150100363, .index = PLLVAL(187, 9, 2), }, /* FVco 600.401454 */ { .frequency = 150100363, .driver_data = PLLVAL(187, 9, 2), }, /* FVco 600.401454 */
{ .frequency = 156038400, .index = PLLVAL(121, 5, 2), }, /* FVco 624.153600 */ { .frequency = 156038400, .driver_data = PLLVAL(121, 5, 2), }, /* FVco 624.153600 */
{ .frequency = 162086400, .index = PLLVAL(126, 5, 2), }, /* FVco 648.345600 */ { .frequency = 162086400, .driver_data = PLLVAL(126, 5, 2), }, /* FVco 648.345600 */
{ .frequency = 168134400, .index = PLLVAL(131, 5, 2), }, /* FVco 672.537600 */ { .frequency = 168134400, .driver_data = PLLVAL(131, 5, 2), }, /* FVco 672.537600 */
{ .frequency = 174048000, .index = PLLVAL(177, 7, 2), }, /* FVco 696.192000 */ { .frequency = 174048000, .driver_data = PLLVAL(177, 7, 2), }, /* FVco 696.192000 */
{ .frequency = 180230400, .index = PLLVAL(141, 5, 2), }, /* FVco 720.921600 */ { .frequency = 180230400, .driver_data = PLLVAL(141, 5, 2), }, /* FVco 720.921600 */
{ .frequency = 186278400, .index = PLLVAL(124, 4, 2), }, /* FVco 745.113600 */ { .frequency = 186278400, .driver_data = PLLVAL(124, 4, 2), }, /* FVco 745.113600 */
{ .frequency = 192326400, .index = PLLVAL(151, 5, 2), }, /* FVco 769.305600 */ { .frequency = 192326400, .driver_data = PLLVAL(151, 5, 2), }, /* FVco 769.305600 */
{ .frequency = 198132480, .index = PLLVAL(109, 3, 2), }, /* FVco 792.529920 */ { .frequency = 198132480, .driver_data = PLLVAL(109, 3, 2), }, /* FVco 792.529920 */
{ .frequency = 204271200, .index = PLLVAL(185, 6, 2), }, /* FVco 817.084800 */ { .frequency = 204271200, .driver_data = PLLVAL(185, 6, 2), }, /* FVco 817.084800 */
{ .frequency = 210268800, .index = PLLVAL(141, 4, 2), }, /* FVco 841.075200 */ { .frequency = 210268800, .driver_data = PLLVAL(141, 4, 2), }, /* FVco 841.075200 */
{ .frequency = 216518400, .index = PLLVAL(171, 5, 2), }, /* FVco 866.073600 */ { .frequency = 216518400, .driver_data = PLLVAL(171, 5, 2), }, /* FVco 866.073600 */
{ .frequency = 222264000, .index = PLLVAL(97, 2, 2), }, /* FVco 889.056000 */ { .frequency = 222264000, .driver_data = PLLVAL(97, 2, 2), }, /* FVco 889.056000 */
{ .frequency = 228614400, .index = PLLVAL(127, 3, 2), }, /* FVco 914.457600 */ { .frequency = 228614400, .driver_data = PLLVAL(127, 3, 2), }, /* FVco 914.457600 */
{ .frequency = 234259200, .index = PLLVAL(158, 4, 2), }, /* FVco 937.036800 */ { .frequency = 234259200, .driver_data = PLLVAL(158, 4, 2), }, /* FVco 937.036800 */
{ .frequency = 240468480, .index = PLLVAL(134, 3, 2), }, /* FVco 961.873920 */ { .frequency = 240468480, .driver_data = PLLVAL(134, 3, 2), }, /* FVco 961.873920 */
{ .frequency = 246960000, .index = PLLVAL(167, 4, 2), }, /* FVco 987.840000 */ { .frequency = 246960000, .driver_data = PLLVAL(167, 4, 2), }, /* FVco 987.840000 */
{ .frequency = 252322560, .index = PLLVAL(141, 3, 2), }, /* FVco 1009.290240 */ { .frequency = 252322560, .driver_data = PLLVAL(141, 3, 2), }, /* FVco 1009.290240 */
{ .frequency = 258249600, .index = PLLVAL(114, 2, 2), }, /* FVco 1032.998400 */ { .frequency = 258249600, .driver_data = PLLVAL(114, 2, 2), }, /* FVco 1032.998400 */
{ .frequency = 264176640, .index = PLLVAL(148, 3, 2), }, /* FVco 1056.706560 */ { .frequency = 264176640, .driver_data = PLLVAL(148, 3, 2), }, /* FVco 1056.706560 */
{ .frequency = 270950400, .index = PLLVAL(120, 2, 2), }, /* FVco 1083.801600 */ { .frequency = 270950400, .driver_data = PLLVAL(120, 2, 2), }, /* FVco 1083.801600 */
{ .frequency = 276030720, .index = PLLVAL(155, 3, 2), }, /* FVco 1104.122880 */ { .frequency = 276030720, .driver_data = PLLVAL(155, 3, 2), }, /* FVco 1104.122880 */
{ .frequency = 282240000, .index = PLLVAL(92, 1, 2), }, /* FVco 1128.960000 */ { .frequency = 282240000, .driver_data = PLLVAL(92, 1, 2), }, /* FVco 1128.960000 */
{ .frequency = 289578240, .index = PLLVAL(163, 3, 2), }, /* FVco 1158.312960 */ { .frequency = 289578240, .driver_data = PLLVAL(163, 3, 2), }, /* FVco 1158.312960 */
{ .frequency = 294235200, .index = PLLVAL(131, 2, 2), }, /* FVco 1176.940800 */ { .frequency = 294235200, .driver_data = PLLVAL(131, 2, 2), }, /* FVco 1176.940800 */
{ .frequency = 300200727, .index = PLLVAL(187, 9, 1), }, /* FVco 600.401454 */ { .frequency = 300200727, .driver_data = PLLVAL(187, 9, 1), }, /* FVco 600.401454 */
{ .frequency = 306358690, .index = PLLVAL(191, 9, 1), }, /* FVco 612.717380 */ { .frequency = 306358690, .driver_data = PLLVAL(191, 9, 1), }, /* FVco 612.717380 */
{ .frequency = 312076800, .index = PLLVAL(121, 5, 1), }, /* FVco 624.153600 */ { .frequency = 312076800, .driver_data = PLLVAL(121, 5, 1), }, /* FVco 624.153600 */
{ .frequency = 318366720, .index = PLLVAL(86, 3, 1), }, /* FVco 636.733440 */ { .frequency = 318366720, .driver_data = PLLVAL(86, 3, 1), }, /* FVco 636.733440 */
{ .frequency = 324172800, .index = PLLVAL(126, 5, 1), }, /* FVco 648.345600 */ { .frequency = 324172800, .driver_data = PLLVAL(126, 5, 1), }, /* FVco 648.345600 */
{ .frequency = 330220800, .index = PLLVAL(109, 4, 1), }, /* FVco 660.441600 */ { .frequency = 330220800, .driver_data = PLLVAL(109, 4, 1), }, /* FVco 660.441600 */
{ .frequency = 336268800, .index = PLLVAL(131, 5, 1), }, /* FVco 672.537600 */ { .frequency = 336268800, .driver_data = PLLVAL(131, 5, 1), }, /* FVco 672.537600 */
{ .frequency = 342074880, .index = PLLVAL(93, 3, 1), }, /* FVco 684.149760 */ { .frequency = 342074880, .driver_data = PLLVAL(93, 3, 1), }, /* FVco 684.149760 */
{ .frequency = 348096000, .index = PLLVAL(177, 7, 1), }, /* FVco 696.192000 */ { .frequency = 348096000, .driver_data = PLLVAL(177, 7, 1), }, /* FVco 696.192000 */
{ .frequency = 355622400, .index = PLLVAL(118, 4, 1), }, /* FVco 711.244800 */ { .frequency = 355622400, .driver_data = PLLVAL(118, 4, 1), }, /* FVco 711.244800 */
{ .frequency = 360460800, .index = PLLVAL(141, 5, 1), }, /* FVco 720.921600 */ { .frequency = 360460800, .driver_data = PLLVAL(141, 5, 1), }, /* FVco 720.921600 */
{ .frequency = 366206400, .index = PLLVAL(165, 6, 1), }, /* FVco 732.412800 */ { .frequency = 366206400, .driver_data = PLLVAL(165, 6, 1), }, /* FVco 732.412800 */
{ .frequency = 372556800, .index = PLLVAL(124, 4, 1), }, /* FVco 745.113600 */ { .frequency = 372556800, .driver_data = PLLVAL(124, 4, 1), }, /* FVco 745.113600 */
{ .frequency = 378201600, .index = PLLVAL(126, 4, 1), }, /* FVco 756.403200 */ { .frequency = 378201600, .driver_data = PLLVAL(126, 4, 1), }, /* FVco 756.403200 */
{ .frequency = 384652800, .index = PLLVAL(151, 5, 1), }, /* FVco 769.305600 */ { .frequency = 384652800, .driver_data = PLLVAL(151, 5, 1), }, /* FVco 769.305600 */
{ .frequency = 391608000, .index = PLLVAL(177, 6, 1), }, /* FVco 783.216000 */ { .frequency = 391608000, .driver_data = PLLVAL(177, 6, 1), }, /* FVco 783.216000 */
{ .frequency = 396264960, .index = PLLVAL(109, 3, 1), }, /* FVco 792.529920 */ { .frequency = 396264960, .driver_data = PLLVAL(109, 3, 1), }, /* FVco 792.529920 */
{ .frequency = 402192000, .index = PLLVAL(87, 2, 1), }, /* FVco 804.384000 */ { .frequency = 402192000, .driver_data = PLLVAL(87, 2, 1), }, /* FVco 804.384000 */
}; };
static int s3c2440_plls169344_add(struct device *dev, static int s3c2440_plls169344_add(struct device *dev,
......
...@@ -142,15 +142,15 @@ static void pllc2_table_rebuild(struct clk *clk) ...@@ -142,15 +142,15 @@ static void pllc2_table_rebuild(struct clk *clk)
/* Initialise PLLC2 frequency table */ /* Initialise PLLC2 frequency table */
for (i = 0; i < ARRAY_SIZE(pllc2_freq_table) - 2; i++) { for (i = 0; i < ARRAY_SIZE(pllc2_freq_table) - 2; i++) {
pllc2_freq_table[i].frequency = clk->parent->rate * (i + 20) * 2; pllc2_freq_table[i].frequency = clk->parent->rate * (i + 20) * 2;
pllc2_freq_table[i].index = i; pllc2_freq_table[i].driver_data = i;
} }
/* This is a special entry - switching PLL off makes it a repeater */ /* This is a special entry - switching PLL off makes it a repeater */
pllc2_freq_table[i].frequency = clk->parent->rate; pllc2_freq_table[i].frequency = clk->parent->rate;
pllc2_freq_table[i].index = i; pllc2_freq_table[i].driver_data = i;
pllc2_freq_table[++i].frequency = CPUFREQ_TABLE_END; pllc2_freq_table[++i].frequency = CPUFREQ_TABLE_END;
pllc2_freq_table[i].index = i; pllc2_freq_table[i].driver_data = i;
} }
static unsigned long pllc2_recalc(struct clk *clk) static unsigned long pllc2_recalc(struct clk *clk)
......
...@@ -285,7 +285,7 @@ static inline int s3c_cpufreq_addfreq(struct cpufreq_frequency_table *table, ...@@ -285,7 +285,7 @@ static inline int s3c_cpufreq_addfreq(struct cpufreq_frequency_table *table,
s3c_freq_dbg("%s: { %d = %u kHz }\n", s3c_freq_dbg("%s: { %d = %u kHz }\n",
__func__, index, freq); __func__, index, freq);
table[index].index = index; table[index].driver_data = index;
table[index].frequency = freq; table[index].frequency = freq;
} }
......
...@@ -121,7 +121,8 @@ int clk_set_rate(struct clk *clk, unsigned long rate) ...@@ -121,7 +121,8 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
clk->rate = rate; clk->rate = rate;
regval = LOONGSON_CHIPCFG0; regval = LOONGSON_CHIPCFG0;
regval = (regval & ~0x7) | (loongson2_clockmod_table[i].index - 1); regval = (regval & ~0x7) |
(loongson2_clockmod_table[i].driver_data - 1);
LOONGSON_CHIPCFG0 = regval; LOONGSON_CHIPCFG0 = regval;
return ret; return ret;
......
...@@ -204,7 +204,8 @@ static int pas_cpufreq_cpu_init(struct cpufreq_policy *policy) ...@@ -204,7 +204,8 @@ static int pas_cpufreq_cpu_init(struct cpufreq_policy *policy)
/* initialize frequency table */ /* initialize frequency table */
for (i=0; pas_freqs[i].frequency!=CPUFREQ_TABLE_END; i++) { for (i=0; pas_freqs[i].frequency!=CPUFREQ_TABLE_END; i++) {
pas_freqs[i].frequency = get_astate_freq(pas_freqs[i].index) * 100000; pas_freqs[i].frequency =
get_astate_freq(pas_freqs[i].driver_data) * 100000;
pr_debug("%d: %d\n", i, pas_freqs[i].frequency); pr_debug("%d: %d\n", i, pas_freqs[i].frequency);
} }
...@@ -280,7 +281,7 @@ static int pas_cpufreq_target(struct cpufreq_policy *policy, ...@@ -280,7 +281,7 @@ static int pas_cpufreq_target(struct cpufreq_policy *policy,
pr_debug("setting frequency for cpu %d to %d kHz, 1/%d of max frequency\n", pr_debug("setting frequency for cpu %d to %d kHz, 1/%d of max frequency\n",
policy->cpu, policy->cpu,
pas_freqs[pas_astate_new].frequency, pas_freqs[pas_astate_new].frequency,
pas_freqs[pas_astate_new].index); pas_freqs[pas_astate_new].driver_data);
current_astate = pas_astate_new; current_astate = pas_astate_new;
......
...@@ -648,14 +648,14 @@ int opp_init_cpufreq_table(struct device *dev, ...@@ -648,14 +648,14 @@ int opp_init_cpufreq_table(struct device *dev,
list_for_each_entry(opp, &dev_opp->opp_list, node) { list_for_each_entry(opp, &dev_opp->opp_list, node) {
if (opp->available) { if (opp->available) {
freq_table[i].index = i; freq_table[i].driver_data = i;
freq_table[i].frequency = opp->rate / 1000; freq_table[i].frequency = opp->rate / 1000;
i++; i++;
} }
} }
mutex_unlock(&dev_opp_list_lock); mutex_unlock(&dev_opp_list_lock);
freq_table[i].index = i; freq_table[i].driver_data = i;
freq_table[i].frequency = CPUFREQ_TABLE_END; freq_table[i].frequency = CPUFREQ_TABLE_END;
*table = &freq_table[0]; *table = &freq_table[0];
......
...@@ -232,7 +232,7 @@ static unsigned extract_msr(u32 msr, struct acpi_cpufreq_data *data) ...@@ -232,7 +232,7 @@ static unsigned extract_msr(u32 msr, struct acpi_cpufreq_data *data)
perf = data->acpi_data; perf = data->acpi_data;
for (i = 0; data->freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { for (i = 0; data->freq_table[i].frequency != CPUFREQ_TABLE_END; i++) {
if (msr == perf->states[data->freq_table[i].index].status) if (msr == perf->states[data->freq_table[i].driver_data].status)
return data->freq_table[i].frequency; return data->freq_table[i].frequency;
} }
return data->freq_table[0].frequency; return data->freq_table[0].frequency;
...@@ -442,7 +442,7 @@ static int acpi_cpufreq_target(struct cpufreq_policy *policy, ...@@ -442,7 +442,7 @@ static int acpi_cpufreq_target(struct cpufreq_policy *policy,
goto out; goto out;
} }
next_perf_state = data->freq_table[next_state].index; next_perf_state = data->freq_table[next_state].driver_data;
if (perf->state == next_perf_state) { if (perf->state == next_perf_state) {
if (unlikely(data->resume)) { if (unlikely(data->resume)) {
pr_debug("Called after resume, resetting to P%d\n", pr_debug("Called after resume, resetting to P%d\n",
...@@ -811,7 +811,7 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy) ...@@ -811,7 +811,7 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
data->freq_table[valid_states-1].frequency / 1000) data->freq_table[valid_states-1].frequency / 1000)
continue; continue;
data->freq_table[valid_states].index = i; data->freq_table[valid_states].driver_data = i;
data->freq_table[valid_states].frequency = data->freq_table[valid_states].frequency =
perf->states[i].core_frequency * 1000; perf->states[i].core_frequency * 1000;
valid_states++; valid_states++;
......
...@@ -20,23 +20,23 @@ ...@@ -20,23 +20,23 @@
/* this is the table of CCLK frequencies, in Hz */ /* this is the table of CCLK frequencies, in Hz */
/* .index is the entry in the auxiliary dpm_state_table[] */ /* .driver_data is the entry in the auxiliary dpm_state_table[] */
static struct cpufreq_frequency_table bfin_freq_table[] = { static struct cpufreq_frequency_table bfin_freq_table[] = {
{ {
.frequency = CPUFREQ_TABLE_END, .frequency = CPUFREQ_TABLE_END,
.index = 0, .driver_data = 0,
}, },
{ {
.frequency = CPUFREQ_TABLE_END, .frequency = CPUFREQ_TABLE_END,
.index = 1, .driver_data = 1,
}, },
{ {
.frequency = CPUFREQ_TABLE_END, .frequency = CPUFREQ_TABLE_END,
.index = 2, .driver_data = 2,
}, },
{ {
.frequency = CPUFREQ_TABLE_END, .frequency = CPUFREQ_TABLE_END,
.index = 0, .driver_data = 0,
}, },
}; };
......
...@@ -188,7 +188,7 @@ static int eps_target(struct cpufreq_policy *policy, ...@@ -188,7 +188,7 @@ static int eps_target(struct cpufreq_policy *policy,
} }
/* Make frequency transition */ /* Make frequency transition */
dest_state = centaur->freq_table[newstate].index & 0xffff; dest_state = centaur->freq_table[newstate].driver_data & 0xffff;
ret = eps_set_state(centaur, policy, dest_state); ret = eps_set_state(centaur, policy, dest_state);
if (ret) if (ret)
printk(KERN_ERR "eps: Timeout!\n"); printk(KERN_ERR "eps: Timeout!\n");
...@@ -380,9 +380,9 @@ static int eps_cpu_init(struct cpufreq_policy *policy) ...@@ -380,9 +380,9 @@ static int eps_cpu_init(struct cpufreq_policy *policy)
f_table = &centaur->freq_table[0]; f_table = &centaur->freq_table[0];
if (brand != EPS_BRAND_C7M) { if (brand != EPS_BRAND_C7M) {
f_table[0].frequency = fsb * min_multiplier; f_table[0].frequency = fsb * min_multiplier;
f_table[0].index = (min_multiplier << 8) | min_voltage; f_table[0].driver_data = (min_multiplier << 8) | min_voltage;
f_table[1].frequency = fsb * max_multiplier; f_table[1].frequency = fsb * max_multiplier;
f_table[1].index = (max_multiplier << 8) | max_voltage; f_table[1].driver_data = (max_multiplier << 8) | max_voltage;
f_table[2].frequency = CPUFREQ_TABLE_END; f_table[2].frequency = CPUFREQ_TABLE_END;
} else { } else {
k = 0; k = 0;
...@@ -391,7 +391,7 @@ static int eps_cpu_init(struct cpufreq_policy *policy) ...@@ -391,7 +391,7 @@ static int eps_cpu_init(struct cpufreq_policy *policy)
for (i = min_multiplier; i <= max_multiplier; i++) { for (i = min_multiplier; i <= max_multiplier; i++) {
voltage = (k * step) / 256 + min_voltage; voltage = (k * step) / 256 + min_voltage;
f_table[k].frequency = fsb * i; f_table[k].frequency = fsb * i;
f_table[k].index = (i << 8) | voltage; f_table[k].driver_data = (i << 8) | voltage;
k++; k++;
} }
f_table[k].frequency = CPUFREQ_TABLE_END; f_table[k].frequency = CPUFREQ_TABLE_END;
......
...@@ -34,8 +34,8 @@ int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy, ...@@ -34,8 +34,8 @@ int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy,
continue; continue;
} }
pr_debug("table entry %u: %u kHz, %u index\n", pr_debug("table entry %u: %u kHz, %u driver_data\n",
i, freq, table[i].index); i, freq, table[i].driver_data);
if (freq < min_freq) if (freq < min_freq)
min_freq = freq; min_freq = freq;
if (freq > max_freq) if (freq > max_freq)
...@@ -97,11 +97,11 @@ int cpufreq_frequency_table_target(struct cpufreq_policy *policy, ...@@ -97,11 +97,11 @@ int cpufreq_frequency_table_target(struct cpufreq_policy *policy,
unsigned int *index) unsigned int *index)
{ {
struct cpufreq_frequency_table optimal = { struct cpufreq_frequency_table optimal = {
.index = ~0, .driver_data = ~0,
.frequency = 0, .frequency = 0,
}; };
struct cpufreq_frequency_table suboptimal = { struct cpufreq_frequency_table suboptimal = {
.index = ~0, .driver_data = ~0,
.frequency = 0, .frequency = 0,
}; };
unsigned int i; unsigned int i;
...@@ -129,12 +129,12 @@ int cpufreq_frequency_table_target(struct cpufreq_policy *policy, ...@@ -129,12 +129,12 @@ int cpufreq_frequency_table_target(struct cpufreq_policy *policy,
if (freq <= target_freq) { if (freq <= target_freq) {
if (freq >= optimal.frequency) { if (freq >= optimal.frequency) {
optimal.frequency = freq; optimal.frequency = freq;
optimal.index = i; optimal.driver_data = i;
} }
} else { } else {
if (freq <= suboptimal.frequency) { if (freq <= suboptimal.frequency) {
suboptimal.frequency = freq; suboptimal.frequency = freq;
suboptimal.index = i; suboptimal.driver_data = i;
} }
} }
break; break;
...@@ -142,26 +142,26 @@ int cpufreq_frequency_table_target(struct cpufreq_policy *policy, ...@@ -142,26 +142,26 @@ int cpufreq_frequency_table_target(struct cpufreq_policy *policy,
if (freq >= target_freq) { if (freq >= target_freq) {
if (freq <= optimal.frequency) { if (freq <= optimal.frequency) {
optimal.frequency = freq; optimal.frequency = freq;
optimal.index = i; optimal.driver_data = i;
} }
} else { } else {
if (freq >= suboptimal.frequency) { if (freq >= suboptimal.frequency) {
suboptimal.frequency = freq; suboptimal.frequency = freq;
suboptimal.index = i; suboptimal.driver_data = i;
} }
} }
break; break;
} }
} }
if (optimal.index > i) { if (optimal.driver_data > i) {
if (suboptimal.index > i) if (suboptimal.driver_data > i)
return -EINVAL; return -EINVAL;
*index = suboptimal.index; *index = suboptimal.driver_data;
} else } else
*index = optimal.index; *index = optimal.driver_data;
pr_debug("target is %u (%u kHz, %u)\n", *index, table[*index].frequency, pr_debug("target is %u (%u kHz, %u)\n", *index, table[*index].frequency,
table[*index].index); table[*index].driver_data);
return 0; return 0;
} }
......
...@@ -326,7 +326,7 @@ acpi_cpufreq_cpu_init ( ...@@ -326,7 +326,7 @@ acpi_cpufreq_cpu_init (
/* table init */ /* table init */
for (i = 0; i <= data->acpi_data.state_count; i++) for (i = 0; i <= data->acpi_data.state_count; i++)
{ {
data->freq_table[i].index = i; data->freq_table[i].driver_data = i;
if (i < data->acpi_data.state_count) { if (i < data->acpi_data.state_count) {
data->freq_table[i].frequency = data->freq_table[i].frequency =
data->acpi_data.states[i].core_frequency * 1000; data->acpi_data.states[i].core_frequency * 1000;
......
...@@ -59,7 +59,7 @@ static void kirkwood_cpufreq_set_cpu_state(struct cpufreq_policy *policy, ...@@ -59,7 +59,7 @@ static void kirkwood_cpufreq_set_cpu_state(struct cpufreq_policy *policy,
unsigned int index) unsigned int index)
{ {
struct cpufreq_freqs freqs; struct cpufreq_freqs freqs;
unsigned int state = kirkwood_freq_table[index].index; unsigned int state = kirkwood_freq_table[index].driver_data;
unsigned long reg; unsigned long reg;
freqs.old = kirkwood_cpufreq_get_cpu_frequency(0); freqs.old = kirkwood_cpufreq_get_cpu_frequency(0);
......
...@@ -254,7 +254,7 @@ static void longhaul_setstate(struct cpufreq_policy *policy, ...@@ -254,7 +254,7 @@ static void longhaul_setstate(struct cpufreq_policy *policy,
u32 bm_timeout = 1000; u32 bm_timeout = 1000;
unsigned int dir = 0; unsigned int dir = 0;
mults_index = longhaul_table[table_index].index; mults_index = longhaul_table[table_index].driver_data;
/* Safety precautions */ /* Safety precautions */
mult = mults[mults_index & 0x1f]; mult = mults[mults_index & 0x1f];
if (mult == -1) if (mult == -1)
...@@ -487,7 +487,7 @@ static int __cpuinit longhaul_get_ranges(void) ...@@ -487,7 +487,7 @@ static int __cpuinit longhaul_get_ranges(void)
if (ratio > maxmult || ratio < minmult) if (ratio > maxmult || ratio < minmult)
continue; continue;
longhaul_table[k].frequency = calc_speed(ratio); longhaul_table[k].frequency = calc_speed(ratio);
longhaul_table[k].index = j; longhaul_table[k].driver_data = j;
k++; k++;
} }
if (k <= 1) { if (k <= 1) {
...@@ -508,8 +508,8 @@ static int __cpuinit longhaul_get_ranges(void) ...@@ -508,8 +508,8 @@ static int __cpuinit longhaul_get_ranges(void)
if (min_i != j) { if (min_i != j) {
swap(longhaul_table[j].frequency, swap(longhaul_table[j].frequency,
longhaul_table[min_i].frequency); longhaul_table[min_i].frequency);
swap(longhaul_table[j].index, swap(longhaul_table[j].driver_data,
longhaul_table[min_i].index); longhaul_table[min_i].driver_data);
} }
} }
...@@ -517,7 +517,7 @@ static int __cpuinit longhaul_get_ranges(void) ...@@ -517,7 +517,7 @@ static int __cpuinit longhaul_get_ranges(void)
/* Find index we are running on */ /* Find index we are running on */
for (j = 0; j < k; j++) { for (j = 0; j < k; j++) {
if (mults[longhaul_table[j].index & 0x1f] == mult) { if (mults[longhaul_table[j].driver_data & 0x1f] == mult) {
longhaul_index = j; longhaul_index = j;
break; break;
} }
...@@ -613,7 +613,7 @@ static void __cpuinit longhaul_setup_voltagescaling(void) ...@@ -613,7 +613,7 @@ static void __cpuinit longhaul_setup_voltagescaling(void)
pos = (speed - min_vid_speed) / kHz_step + minvid.pos; pos = (speed - min_vid_speed) / kHz_step + minvid.pos;
else else
pos = minvid.pos; pos = minvid.pos;
longhaul_table[j].index |= mV_vrm_table[pos] << 8; longhaul_table[j].driver_data |= mV_vrm_table[pos] << 8;
vid = vrm_mV_table[mV_vrm_table[pos]]; vid = vrm_mV_table[mV_vrm_table[pos]];
printk(KERN_INFO PFX "f: %d kHz, index: %d, vid: %d mV\n", printk(KERN_INFO PFX "f: %d kHz, index: %d, vid: %d mV\n",
speed, j, vid.mV); speed, j, vid.mV);
...@@ -656,12 +656,12 @@ static int longhaul_target(struct cpufreq_policy *policy, ...@@ -656,12 +656,12 @@ static int longhaul_target(struct cpufreq_policy *policy,
* this in hardware, C3 is old and we need to do this * this in hardware, C3 is old and we need to do this
* in software. */ * in software. */
i = longhaul_index; i = longhaul_index;
current_vid = (longhaul_table[longhaul_index].index >> 8); current_vid = (longhaul_table[longhaul_index].driver_data >> 8);
current_vid &= 0x1f; current_vid &= 0x1f;
if (table_index > longhaul_index) if (table_index > longhaul_index)
dir = 1; dir = 1;
while (i != table_index) { while (i != table_index) {
vid = (longhaul_table[i].index >> 8) & 0x1f; vid = (longhaul_table[i].driver_data >> 8) & 0x1f;
if (vid != current_vid) { if (vid != current_vid) {
longhaul_setstate(policy, i); longhaul_setstate(policy, i);
current_vid = vid; current_vid = vid;
......
...@@ -72,7 +72,7 @@ static int loongson2_cpufreq_target(struct cpufreq_policy *policy, ...@@ -72,7 +72,7 @@ static int loongson2_cpufreq_target(struct cpufreq_policy *policy,
freq = freq =
((cpu_clock_freq / 1000) * ((cpu_clock_freq / 1000) *
loongson2_clockmod_table[newstate].index) / 8; loongson2_clockmod_table[newstate].driver_data) / 8;
if (freq < policy->min || freq > policy->max) if (freq < policy->min || freq > policy->max)
return -EINVAL; return -EINVAL;
......
...@@ -118,7 +118,7 @@ static int cpufreq_p4_target(struct cpufreq_policy *policy, ...@@ -118,7 +118,7 @@ static int cpufreq_p4_target(struct cpufreq_policy *policy,
return -EINVAL; return -EINVAL;
freqs.old = cpufreq_p4_get(policy->cpu); freqs.old = cpufreq_p4_get(policy->cpu);
freqs.new = stock_freq * p4clockmod_table[newstate].index / 8; freqs.new = stock_freq * p4clockmod_table[newstate].driver_data / 8;
if (freqs.new == freqs.old) if (freqs.new == freqs.old)
return 0; return 0;
...@@ -131,7 +131,7 @@ static int cpufreq_p4_target(struct cpufreq_policy *policy, ...@@ -131,7 +131,7 @@ static int cpufreq_p4_target(struct cpufreq_policy *policy,
* Developer's Manual, Volume 3 * Developer's Manual, Volume 3
*/ */
for_each_cpu(i, policy->cpus) for_each_cpu(i, policy->cpus)
cpufreq_p4_setdc(i, p4clockmod_table[newstate].index); cpufreq_p4_setdc(i, p4clockmod_table[newstate].driver_data);
/* notifiers */ /* notifiers */
cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
......
...@@ -58,7 +58,7 @@ static int powernow_k6_get_cpu_multiplier(void) ...@@ -58,7 +58,7 @@ static int powernow_k6_get_cpu_multiplier(void)
msrval = POWERNOW_IOPORT + 0x0; msrval = POWERNOW_IOPORT + 0x0;
wrmsr(MSR_K6_EPMR, msrval, 0); /* disable it again */ wrmsr(MSR_K6_EPMR, msrval, 0); /* disable it again */
return clock_ratio[(invalue >> 5)&7].index; return clock_ratio[(invalue >> 5)&7].driver_data;
} }
...@@ -75,13 +75,13 @@ static void powernow_k6_set_state(struct cpufreq_policy *policy, ...@@ -75,13 +75,13 @@ static void powernow_k6_set_state(struct cpufreq_policy *policy,
unsigned long msrval; unsigned long msrval;
struct cpufreq_freqs freqs; struct cpufreq_freqs freqs;
if (clock_ratio[best_i].index > max_multiplier) { if (clock_ratio[best_i].driver_data > max_multiplier) {
printk(KERN_ERR PFX "invalid target frequency\n"); printk(KERN_ERR PFX "invalid target frequency\n");
return; return;
} }
freqs.old = busfreq * powernow_k6_get_cpu_multiplier(); freqs.old = busfreq * powernow_k6_get_cpu_multiplier();
freqs.new = busfreq * clock_ratio[best_i].index; freqs.new = busfreq * clock_ratio[best_i].driver_data;
cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE); cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE);
...@@ -156,7 +156,7 @@ static int powernow_k6_cpu_init(struct cpufreq_policy *policy) ...@@ -156,7 +156,7 @@ static int powernow_k6_cpu_init(struct cpufreq_policy *policy)
/* table init */ /* table init */
for (i = 0; (clock_ratio[i].frequency != CPUFREQ_TABLE_END); i++) { for (i = 0; (clock_ratio[i].frequency != CPUFREQ_TABLE_END); i++) {
f = clock_ratio[i].index; f = clock_ratio[i].driver_data;
if (f > max_multiplier) if (f > max_multiplier)
clock_ratio[i].frequency = CPUFREQ_ENTRY_INVALID; clock_ratio[i].frequency = CPUFREQ_ENTRY_INVALID;
else else
......
...@@ -186,7 +186,7 @@ static int get_ranges(unsigned char *pst) ...@@ -186,7 +186,7 @@ static int get_ranges(unsigned char *pst)
fid = *pst++; fid = *pst++;
powernow_table[j].frequency = (fsb * fid_codes[fid]) / 10; powernow_table[j].frequency = (fsb * fid_codes[fid]) / 10;
powernow_table[j].index = fid; /* lower 8 bits */ powernow_table[j].driver_data = fid; /* lower 8 bits */
speed = powernow_table[j].frequency; speed = powernow_table[j].frequency;
...@@ -203,7 +203,7 @@ static int get_ranges(unsigned char *pst) ...@@ -203,7 +203,7 @@ static int get_ranges(unsigned char *pst)
maximum_speed = speed; maximum_speed = speed;
vid = *pst++; vid = *pst++;
powernow_table[j].index |= (vid << 8); /* upper 8 bits */ powernow_table[j].driver_data |= (vid << 8); /* upper 8 bits */
pr_debug(" FID: 0x%x (%d.%dx [%dMHz]) " pr_debug(" FID: 0x%x (%d.%dx [%dMHz]) "
"VID: 0x%x (%d.%03dV)\n", fid, fid_codes[fid] / 10, "VID: 0x%x (%d.%03dV)\n", fid, fid_codes[fid] / 10,
...@@ -212,7 +212,7 @@ static int get_ranges(unsigned char *pst) ...@@ -212,7 +212,7 @@ static int get_ranges(unsigned char *pst)
mobile_vid_table[vid]%1000); mobile_vid_table[vid]%1000);
} }
powernow_table[number_scales].frequency = CPUFREQ_TABLE_END; powernow_table[number_scales].frequency = CPUFREQ_TABLE_END;
powernow_table[number_scales].index = 0; powernow_table[number_scales].driver_data = 0;
return 0; return 0;
} }
...@@ -260,8 +260,8 @@ static void change_speed(struct cpufreq_policy *policy, unsigned int index) ...@@ -260,8 +260,8 @@ static void change_speed(struct cpufreq_policy *policy, unsigned int index)
* vid are the upper 8 bits. * vid are the upper 8 bits.
*/ */
fid = powernow_table[index].index & 0xFF; fid = powernow_table[index].driver_data & 0xFF;
vid = (powernow_table[index].index & 0xFF00) >> 8; vid = (powernow_table[index].driver_data & 0xFF00) >> 8;
rdmsrl(MSR_K7_FID_VID_STATUS, fidvidstatus.val); rdmsrl(MSR_K7_FID_VID_STATUS, fidvidstatus.val);
cfid = fidvidstatus.bits.CFID; cfid = fidvidstatus.bits.CFID;
...@@ -373,8 +373,8 @@ static int powernow_acpi_init(void) ...@@ -373,8 +373,8 @@ static int powernow_acpi_init(void)
fid = pc.bits.fid; fid = pc.bits.fid;
powernow_table[i].frequency = fsb * fid_codes[fid] / 10; powernow_table[i].frequency = fsb * fid_codes[fid] / 10;
powernow_table[i].index = fid; /* lower 8 bits */ powernow_table[i].driver_data = fid; /* lower 8 bits */
powernow_table[i].index |= (vid << 8); /* upper 8 bits */ powernow_table[i].driver_data |= (vid << 8); /* upper 8 bits */
speed = powernow_table[i].frequency; speed = powernow_table[i].frequency;
speed_mhz = speed / 1000; speed_mhz = speed / 1000;
...@@ -417,7 +417,7 @@ static int powernow_acpi_init(void) ...@@ -417,7 +417,7 @@ static int powernow_acpi_init(void)
} }
powernow_table[i].frequency = CPUFREQ_TABLE_END; powernow_table[i].frequency = CPUFREQ_TABLE_END;
powernow_table[i].index = 0; powernow_table[i].driver_data = 0;
/* notify BIOS that we exist */ /* notify BIOS that we exist */
acpi_processor_notify_smm(THIS_MODULE); acpi_processor_notify_smm(THIS_MODULE);
......
...@@ -584,9 +584,9 @@ static void print_basics(struct powernow_k8_data *data) ...@@ -584,9 +584,9 @@ static void print_basics(struct powernow_k8_data *data)
CPUFREQ_ENTRY_INVALID) { CPUFREQ_ENTRY_INVALID) {
printk(KERN_INFO PFX printk(KERN_INFO PFX
"fid 0x%x (%d MHz), vid 0x%x\n", "fid 0x%x (%d MHz), vid 0x%x\n",
data->powernow_table[j].index & 0xff, data->powernow_table[j].driver_data & 0xff,
data->powernow_table[j].frequency/1000, data->powernow_table[j].frequency/1000,
data->powernow_table[j].index >> 8); data->powernow_table[j].driver_data >> 8);
} }
} }
if (data->batps) if (data->batps)
...@@ -632,13 +632,13 @@ static int fill_powernow_table(struct powernow_k8_data *data, ...@@ -632,13 +632,13 @@ static int fill_powernow_table(struct powernow_k8_data *data,
for (j = 0; j < data->numps; j++) { for (j = 0; j < data->numps; j++) {
int freq; int freq;
powernow_table[j].index = pst[j].fid; /* lower 8 bits */ powernow_table[j].driver_data = pst[j].fid; /* lower 8 bits */
powernow_table[j].index |= (pst[j].vid << 8); /* upper 8 bits */ powernow_table[j].driver_data |= (pst[j].vid << 8); /* upper 8 bits */
freq = find_khz_freq_from_fid(pst[j].fid); freq = find_khz_freq_from_fid(pst[j].fid);
powernow_table[j].frequency = freq; powernow_table[j].frequency = freq;
} }
powernow_table[data->numps].frequency = CPUFREQ_TABLE_END; powernow_table[data->numps].frequency = CPUFREQ_TABLE_END;
powernow_table[data->numps].index = 0; powernow_table[data->numps].driver_data = 0;
if (query_current_values_with_pending_wait(data)) { if (query_current_values_with_pending_wait(data)) {
kfree(powernow_table); kfree(powernow_table);
...@@ -810,7 +810,7 @@ static int powernow_k8_cpu_init_acpi(struct powernow_k8_data *data) ...@@ -810,7 +810,7 @@ static int powernow_k8_cpu_init_acpi(struct powernow_k8_data *data)
powernow_table[data->acpi_data.state_count].frequency = powernow_table[data->acpi_data.state_count].frequency =
CPUFREQ_TABLE_END; CPUFREQ_TABLE_END;
powernow_table[data->acpi_data.state_count].index = 0; powernow_table[data->acpi_data.state_count].driver_data = 0;
data->powernow_table = powernow_table; data->powernow_table = powernow_table;
if (cpumask_first(cpu_core_mask(data->cpu)) == data->cpu) if (cpumask_first(cpu_core_mask(data->cpu)) == data->cpu)
...@@ -865,7 +865,7 @@ static int fill_powernow_table_fidvid(struct powernow_k8_data *data, ...@@ -865,7 +865,7 @@ static int fill_powernow_table_fidvid(struct powernow_k8_data *data,
pr_debug(" %d : fid 0x%x, vid 0x%x\n", i, fid, vid); pr_debug(" %d : fid 0x%x, vid 0x%x\n", i, fid, vid);
index = fid | (vid<<8); index = fid | (vid<<8);
powernow_table[i].index = index; powernow_table[i].driver_data = index;
freq = find_khz_freq_from_fid(fid); freq = find_khz_freq_from_fid(fid);
powernow_table[i].frequency = freq; powernow_table[i].frequency = freq;
...@@ -941,8 +941,8 @@ static int transition_frequency_fidvid(struct powernow_k8_data *data, ...@@ -941,8 +941,8 @@ static int transition_frequency_fidvid(struct powernow_k8_data *data,
* the cpufreq frequency table in find_psb_table, vid * the cpufreq frequency table in find_psb_table, vid
* are the upper 8 bits. * are the upper 8 bits.
*/ */
fid = data->powernow_table[index].index & 0xFF; fid = data->powernow_table[index].driver_data & 0xFF;
vid = (data->powernow_table[index].index & 0xFF00) >> 8; vid = (data->powernow_table[index].driver_data & 0xFF00) >> 8;
pr_debug("table matched fid 0x%x, giving vid 0x%x\n", fid, vid); pr_debug("table matched fid 0x%x, giving vid 0x%x\n", fid, vid);
......
...@@ -106,7 +106,7 @@ static int cbe_cpufreq_cpu_init(struct cpufreq_policy *policy) ...@@ -106,7 +106,7 @@ static int cbe_cpufreq_cpu_init(struct cpufreq_policy *policy)
/* initialize frequency table */ /* initialize frequency table */
for (i=0; cbe_freqs[i].frequency!=CPUFREQ_TABLE_END; i++) { for (i=0; cbe_freqs[i].frequency!=CPUFREQ_TABLE_END; i++) {
cbe_freqs[i].frequency = max_freq / cbe_freqs[i].index; cbe_freqs[i].frequency = max_freq / cbe_freqs[i].driver_data;
pr_debug("%d: %d\n", i, cbe_freqs[i].frequency); pr_debug("%d: %d\n", i, cbe_freqs[i].frequency);
} }
...@@ -165,7 +165,7 @@ static int cbe_cpufreq_target(struct cpufreq_policy *policy, ...@@ -165,7 +165,7 @@ static int cbe_cpufreq_target(struct cpufreq_policy *policy,
"1/%d of max frequency\n", "1/%d of max frequency\n",
policy->cpu, policy->cpu,
cbe_freqs[cbe_pmode_new].frequency, cbe_freqs[cbe_pmode_new].frequency,
cbe_freqs[cbe_pmode_new].index); cbe_freqs[cbe_pmode_new].driver_data);
rc = set_pmode(policy->cpu, cbe_pmode_new); rc = set_pmode(policy->cpu, cbe_pmode_new);
......
...@@ -420,7 +420,7 @@ static int pxa_cpufreq_init(struct cpufreq_policy *policy) ...@@ -420,7 +420,7 @@ static int pxa_cpufreq_init(struct cpufreq_policy *policy)
/* Generate pxa25x the run cpufreq_frequency_table struct */ /* Generate pxa25x the run cpufreq_frequency_table struct */
for (i = 0; i < NUM_PXA25x_RUN_FREQS; i++) { for (i = 0; i < NUM_PXA25x_RUN_FREQS; i++) {
pxa255_run_freq_table[i].frequency = pxa255_run_freqs[i].khz; pxa255_run_freq_table[i].frequency = pxa255_run_freqs[i].khz;
pxa255_run_freq_table[i].index = i; pxa255_run_freq_table[i].driver_data = i;
} }
pxa255_run_freq_table[i].frequency = CPUFREQ_TABLE_END; pxa255_run_freq_table[i].frequency = CPUFREQ_TABLE_END;
...@@ -428,7 +428,7 @@ static int pxa_cpufreq_init(struct cpufreq_policy *policy) ...@@ -428,7 +428,7 @@ static int pxa_cpufreq_init(struct cpufreq_policy *policy)
for (i = 0; i < NUM_PXA25x_TURBO_FREQS; i++) { for (i = 0; i < NUM_PXA25x_TURBO_FREQS; i++) {
pxa255_turbo_freq_table[i].frequency = pxa255_turbo_freq_table[i].frequency =
pxa255_turbo_freqs[i].khz; pxa255_turbo_freqs[i].khz;
pxa255_turbo_freq_table[i].index = i; pxa255_turbo_freq_table[i].driver_data = i;
} }
pxa255_turbo_freq_table[i].frequency = CPUFREQ_TABLE_END; pxa255_turbo_freq_table[i].frequency = CPUFREQ_TABLE_END;
...@@ -440,9 +440,9 @@ static int pxa_cpufreq_init(struct cpufreq_policy *policy) ...@@ -440,9 +440,9 @@ static int pxa_cpufreq_init(struct cpufreq_policy *policy)
if (freq > pxa27x_maxfreq) if (freq > pxa27x_maxfreq)
break; break;
pxa27x_freq_table[i].frequency = freq; pxa27x_freq_table[i].frequency = freq;
pxa27x_freq_table[i].index = i; pxa27x_freq_table[i].driver_data = i;
} }
pxa27x_freq_table[i].index = i; pxa27x_freq_table[i].driver_data = i;
pxa27x_freq_table[i].frequency = CPUFREQ_TABLE_END; pxa27x_freq_table[i].frequency = CPUFREQ_TABLE_END;
/* /*
......
...@@ -98,10 +98,10 @@ static int setup_freqs_table(struct cpufreq_policy *policy, ...@@ -98,10 +98,10 @@ static int setup_freqs_table(struct cpufreq_policy *policy,
return -ENOMEM; return -ENOMEM;
for (i = 0; i < num; i++) { for (i = 0; i < num; i++) {
table[i].index = i; table[i].driver_data = i;
table[i].frequency = freqs[i].cpufreq_mhz * 1000; table[i].frequency = freqs[i].cpufreq_mhz * 1000;
} }
table[num].index = i; table[num].driver_data = i;
table[num].frequency = CPUFREQ_TABLE_END; table[num].frequency = CPUFREQ_TABLE_END;
pxa3xx_freqs = freqs; pxa3xx_freqs = freqs;
......
...@@ -244,7 +244,7 @@ static int s3c2416_cpufreq_set_target(struct cpufreq_policy *policy, ...@@ -244,7 +244,7 @@ static int s3c2416_cpufreq_set_target(struct cpufreq_policy *policy,
if (ret != 0) if (ret != 0)
goto out; goto out;
idx = s3c_freq->freq_table[i].index; idx = s3c_freq->freq_table[i].driver_data;
if (idx == SOURCE_HCLK) if (idx == SOURCE_HCLK)
to_dvs = 1; to_dvs = 1;
......
...@@ -87,7 +87,7 @@ static int s3c64xx_cpufreq_set_target(struct cpufreq_policy *policy, ...@@ -87,7 +87,7 @@ static int s3c64xx_cpufreq_set_target(struct cpufreq_policy *policy,
freqs.old = clk_get_rate(armclk) / 1000; freqs.old = clk_get_rate(armclk) / 1000;
freqs.new = s3c64xx_freq_table[i].frequency; freqs.new = s3c64xx_freq_table[i].frequency;
freqs.flags = 0; freqs.flags = 0;
dvfs = &s3c64xx_dvfs_table[s3c64xx_freq_table[i].index]; dvfs = &s3c64xx_dvfs_table[s3c64xx_freq_table[i].driver_data];
if (freqs.old == freqs.new) if (freqs.old == freqs.new)
return 0; return 0;
......
...@@ -71,7 +71,7 @@ static void sc520_freq_set_cpu_state(struct cpufreq_policy *policy, ...@@ -71,7 +71,7 @@ static void sc520_freq_set_cpu_state(struct cpufreq_policy *policy,
local_irq_disable(); local_irq_disable();
clockspeed_reg = *cpuctl & ~0x03; clockspeed_reg = *cpuctl & ~0x03;
*cpuctl = clockspeed_reg | sc520_freq_table[state].index; *cpuctl = clockspeed_reg | sc520_freq_table[state].driver_data;
local_irq_enable(); local_irq_enable();
......
...@@ -308,17 +308,17 @@ static int __init us2e_freq_cpu_init(struct cpufreq_policy *policy) ...@@ -308,17 +308,17 @@ static int __init us2e_freq_cpu_init(struct cpufreq_policy *policy)
struct cpufreq_frequency_table *table = struct cpufreq_frequency_table *table =
&us2e_freq_table[cpu].table[0]; &us2e_freq_table[cpu].table[0];
table[0].index = 0; table[0].driver_data = 0;
table[0].frequency = clock_tick / 1; table[0].frequency = clock_tick / 1;
table[1].index = 1; table[1].driver_data = 1;
table[1].frequency = clock_tick / 2; table[1].frequency = clock_tick / 2;
table[2].index = 2; table[2].driver_data = 2;
table[2].frequency = clock_tick / 4; table[2].frequency = clock_tick / 4;
table[2].index = 3; table[2].driver_data = 3;
table[2].frequency = clock_tick / 6; table[2].frequency = clock_tick / 6;
table[2].index = 4; table[2].driver_data = 4;
table[2].frequency = clock_tick / 8; table[2].frequency = clock_tick / 8;
table[2].index = 5; table[2].driver_data = 5;
table[3].frequency = CPUFREQ_TABLE_END; table[3].frequency = CPUFREQ_TABLE_END;
policy->cpuinfo.transition_latency = 0; policy->cpuinfo.transition_latency = 0;
......
...@@ -169,13 +169,13 @@ static int __init us3_freq_cpu_init(struct cpufreq_policy *policy) ...@@ -169,13 +169,13 @@ static int __init us3_freq_cpu_init(struct cpufreq_policy *policy)
struct cpufreq_frequency_table *table = struct cpufreq_frequency_table *table =
&us3_freq_table[cpu].table[0]; &us3_freq_table[cpu].table[0];
table[0].index = 0; table[0].driver_data = 0;
table[0].frequency = clock_tick / 1; table[0].frequency = clock_tick / 1;
table[1].index = 1; table[1].driver_data = 1;
table[1].frequency = clock_tick / 2; table[1].frequency = clock_tick / 2;
table[2].index = 2; table[2].driver_data = 2;
table[2].frequency = clock_tick / 32; table[2].frequency = clock_tick / 32;
table[3].index = 0; table[3].driver_data = 0;
table[3].frequency = CPUFREQ_TABLE_END; table[3].frequency = CPUFREQ_TABLE_END;
policy->cpuinfo.transition_latency = 0; policy->cpuinfo.transition_latency = 0;
......
...@@ -250,11 +250,11 @@ static int spear_cpufreq_driver_init(void) ...@@ -250,11 +250,11 @@ static int spear_cpufreq_driver_init(void)
} }
for (i = 0; i < cnt; i++) { for (i = 0; i < cnt; i++) {
freq_tbl[i].index = i; freq_tbl[i].driver_data = i;
freq_tbl[i].frequency = be32_to_cpup(val++); freq_tbl[i].frequency = be32_to_cpup(val++);
} }
freq_tbl[i].index = i; freq_tbl[i].driver_data = i;
freq_tbl[i].frequency = CPUFREQ_TABLE_END; freq_tbl[i].frequency = CPUFREQ_TABLE_END;
spear_cpufreq.freq_tbl = freq_tbl; spear_cpufreq.freq_tbl = freq_tbl;
......
...@@ -79,11 +79,11 @@ static struct cpufreq_driver centrino_driver; ...@@ -79,11 +79,11 @@ static struct cpufreq_driver centrino_driver;
/* Computes the correct form for IA32_PERF_CTL MSR for a particular /* Computes the correct form for IA32_PERF_CTL MSR for a particular
frequency/voltage operating point; frequency in MHz, volts in mV. frequency/voltage operating point; frequency in MHz, volts in mV.
This is stored as "index" in the structure. */ This is stored as "driver_data" in the structure. */
#define OP(mhz, mv) \ #define OP(mhz, mv) \
{ \ { \
.frequency = (mhz) * 1000, \ .frequency = (mhz) * 1000, \
.index = (((mhz)/100) << 8) | ((mv - 700) / 16) \ .driver_data = (((mhz)/100) << 8) | ((mv - 700) / 16) \
} }
/* /*
...@@ -307,7 +307,7 @@ static unsigned extract_clock(unsigned msr, unsigned int cpu, int failsafe) ...@@ -307,7 +307,7 @@ static unsigned extract_clock(unsigned msr, unsigned int cpu, int failsafe)
per_cpu(centrino_model, cpu)->op_points[i].frequency per_cpu(centrino_model, cpu)->op_points[i].frequency
!= CPUFREQ_TABLE_END; != CPUFREQ_TABLE_END;
i++) { i++) {
if (msr == per_cpu(centrino_model, cpu)->op_points[i].index) if (msr == per_cpu(centrino_model, cpu)->op_points[i].driver_data)
return per_cpu(centrino_model, cpu)-> return per_cpu(centrino_model, cpu)->
op_points[i].frequency; op_points[i].frequency;
} }
...@@ -501,7 +501,7 @@ static int centrino_target (struct cpufreq_policy *policy, ...@@ -501,7 +501,7 @@ static int centrino_target (struct cpufreq_policy *policy,
break; break;
} }
msr = per_cpu(centrino_model, cpu)->op_points[newstate].index; msr = per_cpu(centrino_model, cpu)->op_points[newstate].driver_data;
if (first_cpu) { if (first_cpu) {
rdmsr_on_cpu(good_cpu, MSR_IA32_PERF_CTL, &oldmsr, &h); rdmsr_on_cpu(good_cpu, MSR_IA32_PERF_CTL, &oldmsr, &h);
......
...@@ -1724,9 +1724,9 @@ static long round_clock_rate(u8 clock, unsigned long rate) ...@@ -1724,9 +1724,9 @@ static long round_clock_rate(u8 clock, unsigned long rate)
/* CPU FREQ table, may be changed due to if MAX_OPP is supported. */ /* CPU FREQ table, may be changed due to if MAX_OPP is supported. */
static struct cpufreq_frequency_table db8500_cpufreq_table[] = { static struct cpufreq_frequency_table db8500_cpufreq_table[] = {
{ .frequency = 200000, .index = ARM_EXTCLK,}, { .frequency = 200000, .driver_data = ARM_EXTCLK,},
{ .frequency = 400000, .index = ARM_50_OPP,}, { .frequency = 400000, .driver_data = ARM_50_OPP,},
{ .frequency = 800000, .index = ARM_100_OPP,}, { .frequency = 800000, .driver_data = ARM_100_OPP,},
{ .frequency = CPUFREQ_TABLE_END,}, /* To be used for MAX_OPP. */ { .frequency = CPUFREQ_TABLE_END,}, /* To be used for MAX_OPP. */
{ .frequency = CPUFREQ_TABLE_END,}, { .frequency = CPUFREQ_TABLE_END,},
}; };
...@@ -1901,7 +1901,7 @@ static int set_armss_rate(unsigned long rate) ...@@ -1901,7 +1901,7 @@ static int set_armss_rate(unsigned long rate)
return -EINVAL; return -EINVAL;
/* Set the new arm opp. */ /* Set the new arm opp. */
return db8500_prcmu_set_arm_opp(db8500_cpufreq_table[i].index); return db8500_prcmu_set_arm_opp(db8500_cpufreq_table[i].driver_data);
} }
static int set_plldsi_rate(unsigned long rate) static int set_plldsi_rate(unsigned long rate)
...@@ -3105,7 +3105,7 @@ static void db8500_prcmu_update_cpufreq(void) ...@@ -3105,7 +3105,7 @@ static void db8500_prcmu_update_cpufreq(void)
{ {
if (prcmu_has_arm_maxopp()) { if (prcmu_has_arm_maxopp()) {
db8500_cpufreq_table[3].frequency = 1000000; db8500_cpufreq_table[3].frequency = 1000000;
db8500_cpufreq_table[3].index = ARM_MAX_OPP; db8500_cpufreq_table[3].driver_data = ARM_MAX_OPP;
} }
} }
......
...@@ -63,12 +63,12 @@ void clk_rate_table_build(struct clk *clk, ...@@ -63,12 +63,12 @@ void clk_rate_table_build(struct clk *clk,
else else
freq = clk->parent->rate * mult / div; freq = clk->parent->rate * mult / div;
freq_table[i].index = i; freq_table[i].driver_data = i;
freq_table[i].frequency = freq; freq_table[i].frequency = freq;
} }
/* Termination entry */ /* Termination entry */
freq_table[i].index = i; freq_table[i].driver_data = i;
freq_table[i].frequency = CPUFREQ_TABLE_END; freq_table[i].frequency = CPUFREQ_TABLE_END;
} }
......
...@@ -410,7 +410,7 @@ extern struct cpufreq_governor cpufreq_gov_conservative; ...@@ -410,7 +410,7 @@ extern struct cpufreq_governor cpufreq_gov_conservative;
#define CPUFREQ_TABLE_END ~1 #define CPUFREQ_TABLE_END ~1
struct cpufreq_frequency_table { struct cpufreq_frequency_table {
unsigned int index; /* any */ unsigned int driver_data; /* driver specific data, not used by core */
unsigned int frequency; /* kHz - doesn't need to be in ascending unsigned int frequency; /* kHz - doesn't need to be in ascending
* order */ * order */
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册