aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mvebu-pmsu.h
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-07-09 17:45:10 +0200
committerJason Cooper <jason@lakedaemon.net>2014-07-16 12:58:36 +0000
commita509ea840b8e29e512764803e30b805c7ea89038 (patch)
treef5c0476fac91233184e88a3fb011047e55efa956 /include/linux/mvebu-pmsu.h
parentARM: mvebu: ensure CPU clocks are enabled (diff)
downloadlinux-dev-a509ea840b8e29e512764803e30b805c7ea89038.tar.xz
linux-dev-a509ea840b8e29e512764803e30b805c7ea89038.zip
ARM: mvebu: extend PMSU code to support dynamic frequency scaling
This commit adds the necessary code in the Marvell EBU PMSU driver to support dynamic frequency scaling. In essence, what this new code does is that it: * registers the frequency operating points supported by the CPU; * registers a clock notifier of the CPU clocks. The notifier function listens to the newly introduced APPLY_RATE_CHANGE event, and uses that to finalize the frequency transition by doing the part of the procedure that involves the PMSU; * registers a platform device for the cpufreq-generic driver, which will take care of the CPU frequency transitions. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1404920715-19834-3-git-send-email-thomas.petazzoni@free-electrons.com Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'include/linux/mvebu-pmsu.h')
-rw-r--r--include/linux/mvebu-pmsu.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/mvebu-pmsu.h b/include/linux/mvebu-pmsu.h
new file mode 100644
index 000000000000..b918d07efe23
--- /dev/null
+++ b/include/linux/mvebu-pmsu.h
@@ -0,0 +1,20 @@
+/*
+ * Copyright (C) 2012 Marvell
+ *
+ * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2. This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+#ifndef __MVEBU_PMSU_H__
+#define __MVEBU_PMSU_H__
+
+#ifdef CONFIG_MACH_MVEBU_V7
+int mvebu_pmsu_dfs_request(int cpu);
+#else
+static inline int mvebu_pmsu_dfs_request(int cpu) { return -ENODEV; }
+#endif
+
+#endif /* __MVEBU_PMSU_H__ */