Thread (5 messages) 5 messages, 4 authors, 2014-05-22

[RFC] Migrate to Hz resolution for OPP binding

From: Sören Brinkmann <hidden>
Date: 2014-05-20 22:33:29
Also in: linux-pm, lkml
Subsystem: driver core, kobjects, debugfs and sysfs, hibernation (aka software suspend, aka swsusp), power management core, suspend to ram, the rest · Maintainers: Greg Kroah-Hartman, "Rafael J. Wysocki", Danilo Krummrich, Linus Torvalds

Hi,

I guess this is just to evaluate how big the lynch mob will be. Anyway:
Triggered by this discussion https://lkml.org/lkml/2014/5/15/46, I
looked a little into what it would take to migrate everybody to Hz
frequency resolutions to avoid all the conversions between cpufreq, CCF,
OPPs, etc.
Turns out, OPPs are already stored in Hz resolution in the kernel, but the DT
bindings use kHz resolution to specify them in DT. So, code-wise there
is just a removal of a multiplication in the OPP parser (see below), but
then there are the DT bindings...

As plan B, I was thinking to add the property 'operating-points-hz'...

Any better ideas?

diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c
index 25538675d59e..61795111e8ca 100644
--- a/drivers/base/power/opp.c
+++ b/drivers/base/power/opp.c
@@ -731,7 +731,7 @@ int of_init_opp_table(struct device *dev)
 
 	val = prop->value;
 	while (nr) {
-		unsigned long freq = be32_to_cpup(val++) * 1000;
+		unsigned long freq = be32_to_cpup(val++);
 		unsigned long volt = be32_to_cpup(val++);
 
 		if (dev_pm_opp_add(dev, freq, volt)) {

	Thanks,
	Sören
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help