From: Viresh Kumar <viresh.kumar@linaro.org>
To: rjw@sisk.pl
Cc: cpufreq@vger.kernel.org, linux-pm@vger.kernel.org
Subject: [PATCH V2 Resend 02/44] cpufreq: pxa: call cpufreq_frequency_table_get_attr()
Date: Mon, 16 Sep 2013 18:56:04 +0530 [thread overview]
Message-ID: <7d0a46b946fb2800f9d4eaa4fc7a65a237a7e44c.1379309339.git.viresh.kumar@linaro.org> (raw)
In-Reply-To: <cover.1379309339.git.viresh.kumar@linaro.org>
In-Reply-To: <cover.1379309339.git.viresh.kumar@linaro.org>
This exposes frequency table of driver to cpufreq core and is required for core
to guess what the index for a target frequency is, when it calls
cpufreq_frequency_table_target(). And so this driver needs to expose it.
Cc: Eric Miao <eric.y.miao@gmail.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
drivers/cpufreq/pxa2xx-cpufreq.c | 13 ++++++++++++-
drivers/cpufreq/pxa3xx-cpufreq.c | 15 +++++++++++++--
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/drivers/cpufreq/pxa2xx-cpufreq.c b/drivers/cpufreq/pxa2xx-cpufreq.c
index 8749eaf18..b004cf1 100644
--- a/drivers/cpufreq/pxa2xx-cpufreq.c
+++ b/drivers/cpufreq/pxa2xx-cpufreq.c
@@ -453,20 +453,31 @@ static int pxa_cpufreq_init(struct cpufreq_policy *policy)
find_freq_tables(&pxa255_freq_table, &pxa255_freqs);
pr_info("PXA255 cpufreq using %s frequency table\n",
pxa255_turbo_table ? "turbo" : "run");
+
cpufreq_frequency_table_cpuinfo(policy, pxa255_freq_table);
+ cpufreq_frequency_table_get_attr(pxa255_freq_table, policy->cpu);
}
- else if (cpu_is_pxa27x())
+ else if (cpu_is_pxa27x()) {
cpufreq_frequency_table_cpuinfo(policy, pxa27x_freq_table);
+ cpufreq_frequency_table_get_attr(pxa27x_freq_table, policy->cpu);
+ }
printk(KERN_INFO "PXA CPU frequency change support initialized\n");
return 0;
}
+static int pxa_cpufreq_exit(struct cpufreq_policy *policy)
+{
+ cpufreq_frequency_table_put_attr(policy->cpu);
+ return 0;
+}
+
static struct cpufreq_driver pxa_cpufreq_driver = {
.verify = pxa_verify_policy,
.target = pxa_set_target,
.init = pxa_cpufreq_init,
+ .exit = pxa_cpufreq_exit,
.get = pxa_cpufreq_get,
.name = "PXA2xx",
};
diff --git a/drivers/cpufreq/pxa3xx-cpufreq.c b/drivers/cpufreq/pxa3xx-cpufreq.c
index d26306f..cebbed1 100644
--- a/drivers/cpufreq/pxa3xx-cpufreq.c
+++ b/drivers/cpufreq/pxa3xx-cpufreq.c
@@ -91,7 +91,7 @@ static int setup_freqs_table(struct cpufreq_policy *policy,
struct pxa3xx_freq_info *freqs, int num)
{
struct cpufreq_frequency_table *table;
- int i;
+ int i, ret;
table = kzalloc((num + 1) * sizeof(*table), GFP_KERNEL);
if (table == NULL)
@@ -108,7 +108,11 @@ static int setup_freqs_table(struct cpufreq_policy *policy,
pxa3xx_freqs_num = num;
pxa3xx_freqs_table = table;
- return cpufreq_frequency_table_cpuinfo(policy, table);
+ ret = cpufreq_frequency_table_cpuinfo(policy, table);
+ if (!ret)
+ cpufreq_frequency_table_get_attr(table, policy->cpu);
+
+ return ret;
}
static void __update_core_freq(struct pxa3xx_freq_info *info)
@@ -229,10 +233,17 @@ static int pxa3xx_cpufreq_init(struct cpufreq_policy *policy)
return 0;
}
+static int pxa3xx_cpufreq_exit(struct cpufreq_policy *policy)
+{
+ cpufreq_frequency_table_put_attr(policy->cpu);
+ return 0;
+}
+
static struct cpufreq_driver pxa3xx_cpufreq_driver = {
.verify = pxa3xx_cpufreq_verify,
.target = pxa3xx_cpufreq_set,
.init = pxa3xx_cpufreq_init,
+ .exit = pxa3xx_cpufreq_exit,
.get = pxa3xx_cpufreq_get,
.name = "pxa3xx-cpufreq",
};
--
1.7.12.rc2.18.g61b472e
next prev parent reply other threads:[~2013-09-16 13:26 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-16 13:26 [PATCH V2 Resend 00/44] CPUFreq Cleanup Series: Part I Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 01/44] cpufreq: Add new helper cpufreq_table_validate_and_show() Viresh Kumar
2013-09-16 13:26 ` Viresh Kumar [this message]
2013-09-16 13:26 ` [PATCH V2 Resend 03/44] cpufreq: s3cx4xx: call cpufreq_frequency_table_get_attr() Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 04/44] cpufreq: sparc: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 05/44] cpufreq: acpi-cpufreq: use cpufreq_table_validate_and_show() Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 06/44] cpufreq: arm_big_little: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 07/44] cpufreq: blackfin: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 08/44] cpufreq: cpufreq-cpu0: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 09/44] cpufreq: cris: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 10/44] cpufreq: davinci: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 11/44] cpufreq: dbx500: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 12/44] cpufreq: e_powersaver: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 13/44] cpufreq: elanfreq: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 14/44] cpufreq: exynos: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 15/44] cpufreq: ia64-acpi: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 16/44] cpufreq: imx6q: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 17/44] cpufreq: kirkwood: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 18/44] cpufreq: longhaul: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 19/44] cpufreq: loongson2: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 20/44] cpufreq: maple: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 21/44] cpufreq: omap: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 22/44] cpufreq: p4-clockmod: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 23/44] cpufreq: pasemi: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 24/44] cpufreq: pmac: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 25/44] cpufreq: powernow: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 26/44] cpufreq: ppc: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 27/44] cpufreq: pxa: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 28/44] cpufreq: s3cx4xx: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 29/44] cpufreq: s5pv210: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 30/44] cpufreq: sa11x0: Expose frequency table Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 31/44] cpufreq: sa11x0: let cpufreq core initialize struct policy fields Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 32/44] cpufreq: sc520: use cpufreq_table_validate_and_show() Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 33/44] cpufreq: sh: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 34/44] cpufreq: sparc: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 35/44] cpufreq: spear: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 36/44] cpufreq: speedstep: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 37/44] cpufreq: tegra: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 38/44] cpufreq: tegra: fix implementation of ->exit() Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 39/44] cpufreq: at32ap: add frequency table Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 40/44] cpufreq: arm_big_little: call cpufreq_frequency_table_put_attr() Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 41/44] cpufreq: blackfin: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 42/44] cpufreq: exynos: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 43/44] cpufreq: loongson2: " Viresh Kumar
2013-09-16 13:26 ` [PATCH V2 Resend 44/44] cpufreq: omap: " Viresh Kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7d0a46b946fb2800f9d4eaa4fc7a65a237a7e44c.1379309339.git.viresh.kumar@linaro.org \
--to=viresh.kumar@linaro.org \
--cc=cpufreq@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rjw@sisk.pl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).