Thread (5 messages) flat view 5 messages, 2 authors, 2014-05-02

[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
        bool
diff --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.o
Just use: obj-$(CONFIG_PM_OPP)
ok.
quoted
+
 # CPUfreq stats
 obj-$(CONFIG_CPU_FREQ_STAT)             += cpufreq_stats.o
quoted
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.h
Two 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help