summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/hisi-acpu-cpufreq.c
diff options
context:
space:
mode:
authorLeo Yan <leo.yan@linaro.org>2015-03-30 07:26:37 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-04-02 02:24:54 +0200
commit5acb972fed8bcfe6c38a4bdef4e74148eaad04b2 (patch)
treebe8065bcc3d9728350965ea4ffb7bfcfa569799c /drivers/cpufreq/hisi-acpu-cpufreq.c
parentcpufreq: powernv: Report cpu frequency throttling (diff)
downloadlinux-5acb972fed8bcfe6c38a4bdef4e74148eaad04b2.tar.xz
linux-5acb972fed8bcfe6c38a4bdef4e74148eaad04b2.zip
cpufreq: hisilicon: add acpu driver
Add acpu driver for hisilicon SoC, acpu is application processor subsystem. Currently the acpu has the coupled clock domain for two clusters, so this driver will directly use cpufreq-dt driver as backend. Signed-off-by: Leo Yan <leo.yan@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq/hisi-acpu-cpufreq.c')
-rw-r--r--drivers/cpufreq/hisi-acpu-cpufreq.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/drivers/cpufreq/hisi-acpu-cpufreq.c b/drivers/cpufreq/hisi-acpu-cpufreq.c
new file mode 100644
index 000000000000..026d5b2224de
--- /dev/null
+++ b/drivers/cpufreq/hisi-acpu-cpufreq.c
@@ -0,0 +1,42 @@
+/*
+ * Hisilicon Platforms Using ACPU CPUFreq Support
+ *
+ * Copyright (c) 2015 Hisilicon Limited.
+ * Copyright (c) 2015 Linaro Limited.
+ *
+ * Leo Yan <leo.yan@linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+#include <linux/err.h>
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+
+static int __init hisi_acpu_cpufreq_driver_init(void)
+{
+ struct platform_device *pdev;
+
+ if (!of_machine_is_compatible("hisilicon,hi6220"))
+ return -ENODEV;
+
+ pdev = platform_device_register_simple("cpufreq-dt", -1, NULL, 0);
+ return PTR_ERR_OR_ZERO(pdev);
+}
+module_init(hisi_acpu_cpufreq_driver_init);
+
+MODULE_AUTHOR("Leo Yan <leo.yan@linaro.org>");
+MODULE_DESCRIPTION("Hisilicon acpu cpufreq driver");
+MODULE_LICENSE("GPL v2");