aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/patches-3.18
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mvebu/patches-3.18')
-rw-r--r--target/linux/mvebu/patches-3.18/150-use_the_cpufreq-dt_platform_data_for_independent_clocks.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/mvebu/patches-3.18/150-use_the_cpufreq-dt_platform_data_for_independent_clocks.patch b/target/linux/mvebu/patches-3.18/150-use_the_cpufreq-dt_platform_data_for_independent_clocks.patch
new file mode 100644
index 0000000000..c338aeffcf
--- /dev/null
+++ b/target/linux/mvebu/patches-3.18/150-use_the_cpufreq-dt_platform_data_for_independent_clocks.patch
@@ -0,0 +1,44 @@
+From 842f7d2c4d392c0571cf72e3eaca26742bebbd1e Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 2 Dec 2014 17:48:02 +0100
+Subject: ARM: mvebu: use the cpufreq-dt platform_data for independent clocks
+
+This commit adjusts the registration of the cpufreq-dt driver in the
+mvebu platform to indicate to the cpufreq driver that the platform has
+independent clocks for each CPU.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Acked-by: Jason Cooper <jason@lakedaemon.net>
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+
+--- a/arch/arm/mach-mvebu/pmsu.c
++++ b/arch/arm/mach-mvebu/pmsu.c
+@@ -20,6 +20,7 @@
+
+ #include <linux/clk.h>
+ #include <linux/cpu_pm.h>
++#include <linux/cpufreq-dt.h>
+ #include <linux/delay.h>
+ #include <linux/init.h>
+ #include <linux/io.h>
+@@ -572,6 +573,10 @@ int mvebu_pmsu_dfs_request(int cpu)
+ return 0;
+ }
+
++struct cpufreq_dt_platform_data cpufreq_dt_pd = {
++ .independent_clocks = true,
++};
++
+ static int __init armada_xp_pmsu_cpufreq_init(void)
+ {
+ struct device_node *np;
+@@ -644,7 +649,8 @@ static int __init armada_xp_pmsu_cpufreq
+ }
+ }
+
+- platform_device_register_simple("cpufreq-dt", -1, NULL, 0);
++ platform_device_register_data(NULL, "cpufreq-dt", -1,
++ &cpufreq_dt_pd, sizeof(cpufreq_dt_pd));
+ return 0;
+ }
+