aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSudeep Holla <sudeep.holla@arm.com>2018-10-24 09:44:58 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2018-10-25 12:39:02 -0400
commitf174e49e4906d945a0e4de98fbf796de31614f47 (patch)
tree75dc9cba68212b9f72462c69e4ce5071d8fe99c1
parenta7314405d83c8f95736edb0ea7ade5d459b79afe (diff)
cpufreq: remove unused arm_big_little_dt driver
Most of the ARM platforms used cpufreq-dt driver irrespective of whether it's big-little(HMP) or SMP system. This arm_big_little_dt is not used actively at all. So let's remove the driver, so that it need not be maintained. Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--MAINTAINERS1
-rw-r--r--drivers/cpufreq/Kconfig.arm7
-rw-r--r--drivers/cpufreq/Makefile3
-rw-r--r--drivers/cpufreq/arm_big_little_dt.c100
4 files changed, 0 insertions, 111 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 16fb17ce1475..874cc7a54e56 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3838,7 +3838,6 @@ W: http://www.arm.com/products/processors/technologies/biglittleprocessing.php
3838S: Maintained 3838S: Maintained
3839F: drivers/cpufreq/arm_big_little.h 3839F: drivers/cpufreq/arm_big_little.h
3840F: drivers/cpufreq/arm_big_little.c 3840F: drivers/cpufreq/arm_big_little.c
3841F: drivers/cpufreq/arm_big_little_dt.c
3842 3841
3843CPU POWER MONITORING SUBSYSTEM 3842CPU POWER MONITORING SUBSYSTEM
3844M: Thomas Renninger <trenn@suse.com> 3843M: Thomas Renninger <trenn@suse.com>
diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
index 040cfedf3e37..4e1131ef85ae 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
@@ -35,13 +35,6 @@ config ARM_BIG_LITTLE_CPUFREQ
35 help 35 help
36 This enables the Generic CPUfreq driver for ARM big.LITTLE platforms. 36 This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.
37 37
38config ARM_DT_BL_CPUFREQ
39 tristate "Generic probing via DT for ARM big LITTLE CPUfreq driver"
40 depends on ARM_BIG_LITTLE_CPUFREQ && OF
41 help
42 This enables probing via DT for Generic CPUfreq driver for ARM
43 big.LITTLE platform. This gets frequency tables from DT.
44
45config ARM_SCPI_CPUFREQ 38config ARM_SCPI_CPUFREQ
46 tristate "SCPI based CPUfreq driver" 39 tristate "SCPI based CPUfreq driver"
47 depends on ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI 40 depends on ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI
diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
index c1ffeabe4ecf..d5ee4562ed06 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
@@ -48,9 +48,6 @@ obj-$(CONFIG_X86_SFI_CPUFREQ) += sfi-cpufreq.o
48################################################################################## 48##################################################################################
49# ARM SoC drivers 49# ARM SoC drivers
50obj-$(CONFIG_ARM_BIG_LITTLE_CPUFREQ) += arm_big_little.o 50obj-$(CONFIG_ARM_BIG_LITTLE_CPUFREQ) += arm_big_little.o
51# big LITTLE per platform glues. Keep DT_BL_CPUFREQ as the last entry in all big
52# LITTLE drivers, so that it is probed last.
53obj-$(CONFIG_ARM_DT_BL_CPUFREQ) += arm_big_little_dt.o
54 51
55obj-$(CONFIG_ARM_ARMADA_37XX_CPUFREQ) += armada-37xx-cpufreq.o 52obj-$(CONFIG_ARM_ARMADA_37XX_CPUFREQ) += armada-37xx-cpufreq.o
56obj-$(CONFIG_ARM_BRCMSTB_AVS_CPUFREQ) += brcmstb-avs-cpufreq.o 53obj-$(CONFIG_ARM_BRCMSTB_AVS_CPUFREQ) += brcmstb-avs-cpufreq.o
diff --git a/drivers/cpufreq/arm_big_little_dt.c b/drivers/cpufreq/arm_big_little_dt.c
deleted file mode 100644
index b944f290c8a4..000000000000
--- a/drivers/cpufreq/arm_big_little_dt.c
+++ /dev/null
@@ -1,100 +0,0 @@
1/*
2 * Generic big.LITTLE CPUFreq Interface driver
3 *
4 * It provides necessary ops to arm_big_little cpufreq driver and gets
5 * Frequency information from Device Tree. Freq table in DT must be in KHz.
6 *
7 * Copyright (C) 2013 Linaro.
8 * Viresh Kumar <viresh.kumar@linaro.org>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 *
14 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
15 * kind, whether express or implied; without even the implied warranty
16 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 */
19
20#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
21
22#include <linux/cpufreq.h>
23#include <linux/device.h>
24#include <linux/export.h>
25#include <linux/module.h>
26#include <linux/of_device.h>
27#include <linux/pm_opp.h>
28#include <linux/platform_device.h>
29#include <linux/slab.h>
30#include <linux/types.h>
31#include "arm_big_little.h"
32
33/* get cpu node with valid operating-points */
34static struct device_node *get_cpu_node_with_valid_op(int cpu)
35{
36 struct device_node *np = of_cpu_device_node_get(cpu);
37
38 if (!of_get_property(np, "operating-points", NULL)) {
39 of_node_put(np);
40 np = NULL;
41 }
42
43 return np;
44}
45
46static int dt_get_transition_latency(struct device *cpu_dev)
47{
48 struct device_node *np;
49 u32 transition_latency = CPUFREQ_ETERNAL;
50
51 np = of_node_get(cpu_dev->of_node);
52 if (!np) {
53 pr_info("Failed to find cpu node. Use CPUFREQ_ETERNAL transition latency\n");
54 return CPUFREQ_ETERNAL;
55 }
56
57 of_property_read_u32(np, "clock-latency", &transition_latency);
58 of_node_put(np);
59
60 pr_debug("%s: clock-latency: %d\n", __func__, transition_latency);
61 return transition_latency;
62}
63
64static const struct cpufreq_arm_bL_ops dt_bL_ops = {
65 .name = "dt-bl",
66 .get_transition_latency = dt_get_transition_latency,
67 .init_opp_table = dev_pm_opp_of_cpumask_add_table,
68 .free_opp_table = dev_pm_opp_of_cpumask_remove_table,
69};
70
71static int generic_bL_probe(struct platform_device *pdev)
72{
73 struct device_node *np;
74
75 np = get_cpu_node_with_valid_op(0);
76 if (!np)
77 return -ENODEV;
78
79 of_node_put(np);
80 return bL_cpufreq_register(&dt_bL_ops);
81}
82
83static int generic_bL_remove(struct platform_device *pdev)
84{
85 bL_cpufreq_unregister(&dt_bL_ops);
86 return 0;
87}
88
89static struct platform_driver generic_bL_platdrv = {
90 .driver = {
91 .name = "arm-bL-cpufreq-dt",
92 },
93 .probe = generic_bL_probe,
94 .remove = generic_bL_remove,
95};
96module_platform_driver(generic_bL_platdrv);
97
98MODULE_AUTHOR("Viresh Kumar <viresh.kumar@linaro.org>");
99MODULE_DESCRIPTION("Generic ARM big LITTLE cpufreq driver via DT");
100MODULE_LICENSE("GPL v2");