diff options
author | Sudeep Holla <sudeep.holla@arm.com> | 2018-10-24 09:44:58 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2018-10-25 12:39:02 -0400 |
commit | f174e49e4906d945a0e4de98fbf796de31614f47 (patch) | |
tree | 75dc9cba68212b9f72462c69e4ce5071d8fe99c1 | |
parent | a7314405d83c8f95736edb0ea7ade5d459b79afe (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-- | MAINTAINERS | 1 | ||||
-rw-r--r-- | drivers/cpufreq/Kconfig.arm | 7 | ||||
-rw-r--r-- | drivers/cpufreq/Makefile | 3 | ||||
-rw-r--r-- | drivers/cpufreq/arm_big_little_dt.c | 100 |
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 | |||
3838 | S: Maintained | 3838 | S: Maintained |
3839 | F: drivers/cpufreq/arm_big_little.h | 3839 | F: drivers/cpufreq/arm_big_little.h |
3840 | F: drivers/cpufreq/arm_big_little.c | 3840 | F: drivers/cpufreq/arm_big_little.c |
3841 | F: drivers/cpufreq/arm_big_little_dt.c | ||
3842 | 3841 | ||
3843 | CPU POWER MONITORING SUBSYSTEM | 3842 | CPU POWER MONITORING SUBSYSTEM |
3844 | M: Thomas Renninger <trenn@suse.com> | 3843 | M: 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 | ||
38 | config 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 | |||
45 | config ARM_SCPI_CPUFREQ | 38 | config 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 |
50 | obj-$(CONFIG_ARM_BIG_LITTLE_CPUFREQ) += arm_big_little.o | 50 | obj-$(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. | ||
53 | obj-$(CONFIG_ARM_DT_BL_CPUFREQ) += arm_big_little_dt.o | ||
54 | 51 | ||
55 | obj-$(CONFIG_ARM_ARMADA_37XX_CPUFREQ) += armada-37xx-cpufreq.o | 52 | obj-$(CONFIG_ARM_ARMADA_37XX_CPUFREQ) += armada-37xx-cpufreq.o |
56 | obj-$(CONFIG_ARM_BRCMSTB_AVS_CPUFREQ) += brcmstb-avs-cpufreq.o | 53 | obj-$(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 */ | ||
34 | static 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 | |||
46 | static 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 | |||
64 | static 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 | |||
71 | static 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 | |||
83 | static int generic_bL_remove(struct platform_device *pdev) | ||
84 | { | ||
85 | bL_cpufreq_unregister(&dt_bL_ops); | ||
86 | return 0; | ||
87 | } | ||
88 | |||
89 | static 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 | }; | ||
96 | module_platform_driver(generic_bL_platdrv); | ||
97 | |||
98 | MODULE_AUTHOR("Viresh Kumar <viresh.kumar@linaro.org>"); | ||
99 | MODULE_DESCRIPTION("Generic ARM big LITTLE cpufreq driver via DT"); | ||
100 | MODULE_LICENSE("GPL v2"); | ||