ARM: OMAP: clock: cleanup CPUfreq leftovers, fix build errors
Now that we have OPP layer, and OMAP CPUfreq driver is using it, we no longer need/use the clock framework code for filling up CPUfreq tables. Remove it. Removing this code also eliminates build errors when CPU_FREQ_TABLE support is not enabled. Thanks to Russell King for pointing out the parts I missed under plat-omap in the original version and also pointing out the build errors when CPUFREQ_TABLE support was not enabled. Cc: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Kevin Hilman <khilman@ti.com> Acked-by: Paul Walmsley <paul@pwsan.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
committed by
Olof Johansson
parent
eb03f28002
commit
47d9e44d1d
@@ -165,83 +165,3 @@ int omap2_select_table_rate(struct clk *clk, unsigned long rate)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_CPU_FREQ
|
|
||||||
/*
|
|
||||||
* Walk PRCM rate table and fillout cpufreq freq_table
|
|
||||||
* XXX This should be replaced by an OPP layer in the near future
|
|
||||||
*/
|
|
||||||
static struct cpufreq_frequency_table *freq_table;
|
|
||||||
|
|
||||||
void omap2_clk_init_cpufreq_table(struct cpufreq_frequency_table **table)
|
|
||||||
{
|
|
||||||
const struct prcm_config *prcm;
|
|
||||||
int i = 0;
|
|
||||||
int tbl_sz = 0;
|
|
||||||
|
|
||||||
if (!cpu_is_omap24xx())
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (prcm = rate_table; prcm->mpu_speed; prcm++) {
|
|
||||||
if (!(prcm->flags & cpu_mask))
|
|
||||||
continue;
|
|
||||||
if (prcm->xtal_speed != sclk->rate)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/* don't put bypass rates in table */
|
|
||||||
if (prcm->dpll_speed == prcm->xtal_speed)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
tbl_sz++;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* XXX Ensure that we're doing what CPUFreq expects for this error
|
|
||||||
* case and the following one
|
|
||||||
*/
|
|
||||||
if (tbl_sz == 0) {
|
|
||||||
pr_warning("%s: no matching entries in rate_table\n",
|
|
||||||
__func__);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Include the CPUFREQ_TABLE_END terminator entry */
|
|
||||||
tbl_sz++;
|
|
||||||
|
|
||||||
freq_table = kzalloc(sizeof(struct cpufreq_frequency_table) * tbl_sz,
|
|
||||||
GFP_ATOMIC);
|
|
||||||
if (!freq_table) {
|
|
||||||
pr_err("%s: could not kzalloc frequency table\n", __func__);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (prcm = rate_table; prcm->mpu_speed; prcm++) {
|
|
||||||
if (!(prcm->flags & cpu_mask))
|
|
||||||
continue;
|
|
||||||
if (prcm->xtal_speed != sclk->rate)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/* don't put bypass rates in table */
|
|
||||||
if (prcm->dpll_speed == prcm->xtal_speed)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
freq_table[i].index = i;
|
|
||||||
freq_table[i].frequency = prcm->mpu_speed / 1000;
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
freq_table[i].index = i;
|
|
||||||
freq_table[i].frequency = CPUFREQ_TABLE_END;
|
|
||||||
|
|
||||||
*table = &freq_table[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
void omap2_clk_exit_cpufreq_table(struct cpufreq_frequency_table **table)
|
|
||||||
{
|
|
||||||
if (!cpu_is_omap24xx())
|
|
||||||
return;
|
|
||||||
|
|
||||||
kfree(freq_table);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
@@ -536,10 +536,5 @@ struct clk_functions omap2_clk_functions = {
|
|||||||
.clk_set_rate = omap2_clk_set_rate,
|
.clk_set_rate = omap2_clk_set_rate,
|
||||||
.clk_set_parent = omap2_clk_set_parent,
|
.clk_set_parent = omap2_clk_set_parent,
|
||||||
.clk_disable_unused = omap2_clk_disable_unused,
|
.clk_disable_unused = omap2_clk_disable_unused,
|
||||||
#ifdef CONFIG_CPU_FREQ
|
|
||||||
/* These will be removed when the OPP code is integrated */
|
|
||||||
.clk_init_cpufreq_table = omap2_clk_init_cpufreq_table,
|
|
||||||
.clk_exit_cpufreq_table = omap2_clk_exit_cpufreq_table,
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -146,14 +146,6 @@ extern const struct clksel_rate gpt_sys_rates[];
|
|||||||
extern const struct clksel_rate gfx_l3_rates[];
|
extern const struct clksel_rate gfx_l3_rates[];
|
||||||
extern const struct clksel_rate dsp_ick_rates[];
|
extern const struct clksel_rate dsp_ick_rates[];
|
||||||
|
|
||||||
#if defined(CONFIG_ARCH_OMAP2) && defined(CONFIG_CPU_FREQ)
|
|
||||||
extern void omap2_clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
|
|
||||||
extern void omap2_clk_exit_cpufreq_table(struct cpufreq_frequency_table **table);
|
|
||||||
#else
|
|
||||||
#define omap2_clk_init_cpufreq_table 0
|
|
||||||
#define omap2_clk_exit_cpufreq_table 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern const struct clkops clkops_omap2_iclk_dflt_wait;
|
extern const struct clkops clkops_omap2_iclk_dflt_wait;
|
||||||
extern const struct clkops clkops_omap2_iclk_dflt;
|
extern const struct clkops clkops_omap2_iclk_dflt;
|
||||||
extern const struct clkops clkops_omap2_iclk_idle_only;
|
extern const struct clkops clkops_omap2_iclk_idle_only;
|
||||||
|
@@ -398,32 +398,6 @@ struct clk dummy_ck = {
|
|||||||
.ops = &clkops_null,
|
.ops = &clkops_null,
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_CPU_FREQ
|
|
||||||
void clk_init_cpufreq_table(struct cpufreq_frequency_table **table)
|
|
||||||
{
|
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
if (!arch_clock || !arch_clock->clk_init_cpufreq_table)
|
|
||||||
return;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&clockfw_lock, flags);
|
|
||||||
arch_clock->clk_init_cpufreq_table(table);
|
|
||||||
spin_unlock_irqrestore(&clockfw_lock, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
void clk_exit_cpufreq_table(struct cpufreq_frequency_table **table)
|
|
||||||
{
|
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
if (!arch_clock || !arch_clock->clk_exit_cpufreq_table)
|
|
||||||
return;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&clockfw_lock, flags);
|
|
||||||
arch_clock->clk_exit_cpufreq_table(table);
|
|
||||||
spin_unlock_irqrestore(&clockfw_lock, flags);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@@ -272,8 +272,6 @@ struct clk {
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
struct cpufreq_frequency_table;
|
|
||||||
|
|
||||||
struct clk_functions {
|
struct clk_functions {
|
||||||
int (*clk_enable)(struct clk *clk);
|
int (*clk_enable)(struct clk *clk);
|
||||||
void (*clk_disable)(struct clk *clk);
|
void (*clk_disable)(struct clk *clk);
|
||||||
@@ -283,10 +281,6 @@ struct clk_functions {
|
|||||||
void (*clk_allow_idle)(struct clk *clk);
|
void (*clk_allow_idle)(struct clk *clk);
|
||||||
void (*clk_deny_idle)(struct clk *clk);
|
void (*clk_deny_idle)(struct clk *clk);
|
||||||
void (*clk_disable_unused)(struct clk *clk);
|
void (*clk_disable_unused)(struct clk *clk);
|
||||||
#ifdef CONFIG_CPU_FREQ
|
|
||||||
void (*clk_init_cpufreq_table)(struct cpufreq_frequency_table **);
|
|
||||||
void (*clk_exit_cpufreq_table)(struct cpufreq_frequency_table **);
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern int mpurate;
|
extern int mpurate;
|
||||||
@@ -301,10 +295,6 @@ extern void recalculate_root_clocks(void);
|
|||||||
extern unsigned long followparent_recalc(struct clk *clk);
|
extern unsigned long followparent_recalc(struct clk *clk);
|
||||||
extern void clk_enable_init_clocks(void);
|
extern void clk_enable_init_clocks(void);
|
||||||
unsigned long omap_fixed_divisor_recalc(struct clk *clk);
|
unsigned long omap_fixed_divisor_recalc(struct clk *clk);
|
||||||
#ifdef CONFIG_CPU_FREQ
|
|
||||||
extern void clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
|
|
||||||
extern void clk_exit_cpufreq_table(struct cpufreq_frequency_table **table);
|
|
||||||
#endif
|
|
||||||
extern struct clk *omap_clk_get_by_name(const char *name);
|
extern struct clk *omap_clk_get_by_name(const char *name);
|
||||||
extern int omap_clk_enable_autoidle_all(void);
|
extern int omap_clk_enable_autoidle_all(void);
|
||||||
extern int omap_clk_disable_autoidle_all(void);
|
extern int omap_clk_disable_autoidle_all(void);
|
||||||
|
Reference in New Issue
Block a user