Skip to content

Commit

Permalink
cpufreq: dbx500: Move clk_get to probe
Browse files Browse the repository at this point in the history
The armss clock shall only be fetched at probe thus move this here.
Same thing goes for the printing of the available frequencies.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  • Loading branch information
Ulf Hansson authored and Linus Walleij committed Jan 7, 2013
1 parent 84c7c20 commit 3e27996
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions drivers/cpufreq/dbx500-cpufreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,28 +90,14 @@ static unsigned int dbx500_cpufreq_getspeed(unsigned int cpu)

static int __cpuinit dbx500_cpufreq_init(struct cpufreq_policy *policy)
{
int i = 0;
int res;

armss_clk = clk_get(NULL, "armss");
if (IS_ERR(armss_clk)) {
pr_err("dbx500-cpufreq : Failed to get armss clk\n");
return PTR_ERR(armss_clk);
}

pr_info("dbx500-cpufreq : Available frequencies:\n");
while (freq_table[i].frequency != CPUFREQ_TABLE_END) {
pr_info(" %d Mhz\n", freq_table[i].frequency/1000);
i++;
}

/* get policy fields based on the table */
res = cpufreq_frequency_table_cpuinfo(policy, freq_table);
if (!res)
cpufreq_frequency_table_get_attr(freq_table, policy->cpu);
else {
pr_err("dbx500-cpufreq : Failed to read policy table\n");
clk_put(armss_clk);
return res;
}

Expand Down Expand Up @@ -147,13 +133,26 @@ static struct cpufreq_driver dbx500_cpufreq_driver = {

static int dbx500_cpufreq_probe(struct platform_device *pdev)
{
freq_table = dev_get_platdata(&pdev->dev);
int i = 0;

freq_table = dev_get_platdata(&pdev->dev);
if (!freq_table) {
pr_err("dbx500-cpufreq: Failed to fetch cpufreq table\n");
return -ENODEV;
}

armss_clk = clk_get(&pdev->dev, "armss");
if (IS_ERR(armss_clk)) {
pr_err("dbx500-cpufreq : Failed to get armss clk\n");
return PTR_ERR(armss_clk);
}

pr_info("dbx500-cpufreq : Available frequencies:\n");
while (freq_table[i].frequency != CPUFREQ_TABLE_END) {
pr_info(" %d Mhz\n", freq_table[i].frequency/1000);
i++;
}

return cpufreq_register_driver(&dbx500_cpufreq_driver);
}

Expand Down

0 comments on commit 3e27996

Please sign in to comment.