Message ID | 20181024134458.14212-2-sudeep.holla@arm.com (mailing list archive) |
---|---|
State | Mainlined |
Delegated to: | Rafael Wysocki |
Headers | show |
Series | [1/2] cpufreq: drop ARM_BIG_LITTLE_CPUFREQ support for ARM64 | expand |
On 24-10-18, 14:44, Sudeep Holla wrote: > 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. > > Cc: Rafael J. Wysocki <rjw@rjwysocki.net> > Cc: Viresh Kumar <viresh.kumar@linaro.org> > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> > --- > MAINTAINERS | 1 - > drivers/cpufreq/Kconfig.arm | 7 -- > drivers/cpufreq/Makefile | 3 - > drivers/cpufreq/arm_big_little_dt.c | 100 ---------------------------- > 4 files changed, 111 deletions(-) > delete mode 100644 drivers/cpufreq/arm_big_little_dt.c Acked-by: Viresh Kumar <viresh.kumar@linaro.org> > Hi Viresh, > > I don't know if anyone is using this driver in the mainline, most of > them just use cpufreq-dt these days. Does it make sense to remove this ? I think so. > Also I think SPC/TC2 is the only users of arm_big_little.c, does it > make sense to merge them ? merge them ? Aren't they already supported in mainline ?
On Thu, Oct 25, 2018 at 10:24:16AM +0530, Viresh Kumar wrote: > On 24-10-18, 14:44, Sudeep Holla wrote: > > 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. > > > > Cc: Rafael J. Wysocki <rjw@rjwysocki.net> > > Cc: Viresh Kumar <viresh.kumar@linaro.org> > > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> > > --- > > MAINTAINERS | 1 - > > drivers/cpufreq/Kconfig.arm | 7 -- > > drivers/cpufreq/Makefile | 3 - > > drivers/cpufreq/arm_big_little_dt.c | 100 ---------------------------- > > 4 files changed, 111 deletions(-) > > delete mode 100644 drivers/cpufreq/arm_big_little_dt.c > > Acked-by: Viresh Kumar <viresh.kumar@linaro.org> > > > Hi Viresh, > > > > I don't know if anyone is using this driver in the mainline, most of > > them just use cpufreq-dt these days. Does it make sense to remove this ? > > I think so. > > > Also I think SPC/TC2 is the only users of arm_big_little.c, does it > > make sense to merge them ? > > merge them ? Aren't they already supported in mainline ? > Ah sorry, wrong choice of words. I meant combine them into one driver and make it TC2 specific if we don't see or have any other users of the core arm_big_little driver. That's not a must though, just a thought. -- Regards, Sudeep
On 25-10-18, 10:14, Sudeep Holla wrote: > On Thu, Oct 25, 2018 at 10:24:16AM +0530, Viresh Kumar wrote: > > On 24-10-18, 14:44, Sudeep Holla wrote: > > > 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. > > > > > > Cc: Rafael J. Wysocki <rjw@rjwysocki.net> > > > Cc: Viresh Kumar <viresh.kumar@linaro.org> > > > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> > > > --- > > > MAINTAINERS | 1 - > > > drivers/cpufreq/Kconfig.arm | 7 -- > > > drivers/cpufreq/Makefile | 3 - > > > drivers/cpufreq/arm_big_little_dt.c | 100 ---------------------------- > > > 4 files changed, 111 deletions(-) > > > delete mode 100644 drivers/cpufreq/arm_big_little_dt.c > > > > Acked-by: Viresh Kumar <viresh.kumar@linaro.org> > > > > > Hi Viresh, > > > > > > I don't know if anyone is using this driver in the mainline, most of > > > them just use cpufreq-dt these days. Does it make sense to remove this ? > > > > I think so. > > > > > Also I think SPC/TC2 is the only users of arm_big_little.c, does it > > > make sense to merge them ? > > > > merge them ? Aren't they already supported in mainline ? > > > > Ah sorry, wrong choice of words. I meant combine them into one driver > and make it TC2 specific if we don't see or have any other users of the > core arm_big_little driver. That's not a must though, just a thought. Yeah, maybe that can be done too.
diff --git a/MAINTAINERS b/MAINTAINERS index af2a61a31a8e..3ba90e1e4dbc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3838,7 +3838,6 @@ W: http://www.arm.com/products/processors/technologies/biglittleprocessing.php S: Maintained F: drivers/cpufreq/arm_big_little.h F: drivers/cpufreq/arm_big_little.c -F: drivers/cpufreq/arm_big_little_dt.c CPU POWER MONITORING SUBSYSTEM 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 help This enables the Generic CPUfreq driver for ARM big.LITTLE platforms. -config ARM_DT_BL_CPUFREQ - tristate "Generic probing via DT for ARM big LITTLE CPUfreq driver" - depends on ARM_BIG_LITTLE_CPUFREQ && OF - help - This enables probing via DT for Generic CPUfreq driver for ARM - big.LITTLE platform. This gets frequency tables from DT. - config ARM_SCPI_CPUFREQ tristate "SCPI based CPUfreq driver" 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 ################################################################################## # ARM SoC drivers obj-$(CONFIG_ARM_BIG_LITTLE_CPUFREQ) += arm_big_little.o -# big LITTLE per platform glues. Keep DT_BL_CPUFREQ as the last entry in all big -# LITTLE drivers, so that it is probed last. -obj-$(CONFIG_ARM_DT_BL_CPUFREQ) += arm_big_little_dt.o obj-$(CONFIG_ARM_ARMADA_37XX_CPUFREQ) += armada-37xx-cpufreq.o 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 @@ -/* - * Generic big.LITTLE CPUFreq Interface driver - * - * It provides necessary ops to arm_big_little cpufreq driver and gets - * Frequency information from Device Tree. Freq table in DT must be in KHz. - * - * Copyright (C) 2013 Linaro. - * Viresh Kumar <viresh.kumar@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/cpufreq.h> -#include <linux/device.h> -#include <linux/export.h> -#include <linux/module.h> -#include <linux/of_device.h> -#include <linux/pm_opp.h> -#include <linux/platform_device.h> -#include <linux/slab.h> -#include <linux/types.h> -#include "arm_big_little.h" - -/* get cpu node with valid operating-points */ -static struct device_node *get_cpu_node_with_valid_op(int cpu) -{ - struct device_node *np = of_cpu_device_node_get(cpu); - - if (!of_get_property(np, "operating-points", NULL)) { - of_node_put(np); - np = NULL; - } - - return np; -} - -static int dt_get_transition_latency(struct device *cpu_dev) -{ - struct device_node *np; - u32 transition_latency = CPUFREQ_ETERNAL; - - np = of_node_get(cpu_dev->of_node); - if (!np) { - pr_info("Failed to find cpu node. Use CPUFREQ_ETERNAL transition latency\n"); - return CPUFREQ_ETERNAL; - } - - of_property_read_u32(np, "clock-latency", &transition_latency); - of_node_put(np); - - pr_debug("%s: clock-latency: %d\n", __func__, transition_latency); - return transition_latency; -} - -static const struct cpufreq_arm_bL_ops dt_bL_ops = { - .name = "dt-bl", - .get_transition_latency = dt_get_transition_latency, - .init_opp_table = dev_pm_opp_of_cpumask_add_table, - .free_opp_table = dev_pm_opp_of_cpumask_remove_table, -}; - -static int generic_bL_probe(struct platform_device *pdev) -{ - struct device_node *np; - - np = get_cpu_node_with_valid_op(0); - if (!np) - return -ENODEV; - - of_node_put(np); - return bL_cpufreq_register(&dt_bL_ops); -} - -static int generic_bL_remove(struct platform_device *pdev) -{ - bL_cpufreq_unregister(&dt_bL_ops); - return 0; -} - -static struct platform_driver generic_bL_platdrv = { - .driver = { - .name = "arm-bL-cpufreq-dt", - }, - .probe = generic_bL_probe, - .remove = generic_bL_remove, -}; -module_platform_driver(generic_bL_platdrv); - -MODULE_AUTHOR("Viresh Kumar <viresh.kumar@linaro.org>"); -MODULE_DESCRIPTION("Generic ARM big LITTLE cpufreq driver via DT"); -MODULE_LICENSE("GPL v2");
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. Cc: Rafael J. Wysocki <rjw@rjwysocki.net> Cc: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> --- MAINTAINERS | 1 - drivers/cpufreq/Kconfig.arm | 7 -- drivers/cpufreq/Makefile | 3 - drivers/cpufreq/arm_big_little_dt.c | 100 ---------------------------- 4 files changed, 111 deletions(-) delete mode 100644 drivers/cpufreq/arm_big_little_dt.c Hi Viresh, I don't know if anyone is using this driver in the mainline, most of them just use cpufreq-dt these days. Does it make sense to remove this ? Also I think SPC/TC2 is the only users of arm_big_little.c, does it make sense to merge them ? Regards, Sudeep -- 2.17.1