[RFC PATCH] PM / OPP: move cpufreq specific OPP functions out of generic OPP library
From: nm@ti.com (Nishanth Menon)
Date: 2014-05-02 05:18:14
Also in:
linux-omap, linux-pm, linux-samsung-soc, lkml
On Thu, May 1, 2014 at 11:30 PM, Viresh Kumar [off-list ref] wrote:
On 2 May 2014 06:36, Nishanth Menon [off-list ref] wrote:quoted
diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig index 1fbe11f..281ccfb 100644 --- a/drivers/cpufreq/Kconfig +++ b/drivers/cpufreq/Kconfig@@ -17,6 +17,11 @@ config CPU_FREQ if CPU_FREQ +config CPU_FREQ_PM_OPP + bool + depends on PM_OPP + default y +Don't need this
ok.
quoted
config CPU_FREQ_GOV_COMMON booldiff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index 0dbb963..16eea68 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile@@ -1,5 +1,7 @@ # CPUfreq core obj-$(CONFIG_CPU_FREQ) += cpufreq.o freq_table.o +obj-$(CONFIG_CPU_FREQ_PM_OPP) += cpufreq_opp.oJust use: obj-$(CONFIG_PM_OPP)
ok.
quoted
+ # CPUfreq stats obj-$(CONFIG_CPU_FREQ_STAT) += cpufreq_stats.oquoted
diff --git a/drivers/cpufreq/cpufreq_opp.c b/drivers/cpufreq/cpufreq_opp.c new file mode 100644 index 0000000..2602ff8 --- /dev/null +++ b/drivers/cpufreq/cpufreq_opp.c@@ -0,0 +1,102 @@ +/* + * Generic OPP Interface for CPUFREQ drivers + * + * Copyright (C) 2009-2014 Texas Instruments Incorporated. + * Nishanth Menon + * Romit Dasgupta + * Kevin Hilman + * + * 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. + */I hope you have just copy pasted routines to this file, and haven't done even the most minor modification in those, as its hard to review it.
there is code replacement ofcourse -> * the logic of walking down the list holding a mutex has been replaced with rcu locks, * instead of reading internal data structure and generating the list, use the existing search API that does exactly the same. * Documentation update for the same. Both are needed if you have to move the code out. functionally, both are equivalent
quoted
+#include <linux/slab.h>Sure? That's it, nothing else required to compile this file independently? As a rule include all the files directly which might be required for compilation of this file and don't expect them to be included by some other header files indirectly.
Alrite. will do, I try to trim the headers down to bare minimum, but will take care of it in the formal post.
quoted
diff --git a/drivers/cpufreq/cpufreq_opp.h b/drivers/cpufreq/cpufreq_opp.hTwo problems, driver may lie in arch/ as well, though we don't recommend them, secondly move these in cpufreq.h, don't need a header here for sure.
There are none at the moment. ideally, we'd like to discourage folks putting cpufreq drivers in arch/ given the amount of effort you have undertaken in bringing them all here. but I have personally no strong objection to getting rid of the private header and using the generic cpufreq header. Otherwise, I assume you are ok with this approach and will post a formal patch by monday. Regards, Nishanth Menon