linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/4] OPP: Some cleanups
@ 2015-10-15 16:12 Viresh Kumar
  2015-10-15 16:12 ` [PATCH V2 1/4] PM / OPP: Improve debug print messages with pr_fmt Viresh Kumar
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Viresh Kumar @ 2015-10-15 16:12 UTC (permalink / raw)
  To: Rafael Wysocki; +Cc: linaro-kernel, linux-pm, sboyd, nm, Viresh Kumar

Rafael,

These are some random cleanups, which were part of the multi-regulator
series earlier. Sending them separately to make that series a bit light
weight.

V1->V2:
- Just sending them separately.

Viresh Kumar (4):
  PM / OPP: Improve debug print messages with pr_fmt
  PM / OPP: Rename routines specific to old bindings with _v1
  PM / OPP: Parse all power-supply related bindings together
  PM / OPP: Create separate structure for regulator/supplies

 drivers/base/power/opp/core.c | 78 +++++++++++++++++++++++++++----------------
 drivers/base/power/opp/cpu.c  |  3 ++
 drivers/base/power/opp/opp.h  | 29 +++++++++++-----
 3 files changed, 73 insertions(+), 37 deletions(-)

-- 
2.4.0


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH V2 1/4] PM / OPP: Improve debug print messages with pr_fmt
  2015-10-15 16:12 [PATCH V2 0/4] OPP: Some cleanups Viresh Kumar
@ 2015-10-15 16:12 ` Viresh Kumar
  2015-10-15 19:04   ` Stephen Boyd
  2015-10-15 16:12 ` [PATCH V2 2/4] PM / OPP: Rename routines specific to old bindings with _v1 Viresh Kumar
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 17+ messages in thread
From: Viresh Kumar @ 2015-10-15 16:12 UTC (permalink / raw)
  To: Rafael Wysocki
  Cc: linaro-kernel, linux-pm, sboyd, nm, Viresh Kumar,
	Bartlomiej Zolnierkiewicz, Dan Carpenter, Dmitry Torokhov,
	Greg Kroah-Hartman, Len Brown, open list, Pavel Machek

With debug options on, it is difficult to locate OPP core's debug
prints. Fix this by prefixing OPP debug prints with KBUILD_MODNAME.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/base/power/opp/core.c | 2 ++
 drivers/base/power/opp/cpu.c  | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/drivers/base/power/opp/core.c b/drivers/base/power/opp/core.c
index d5c1149ff123..a422ebf2501f 100644
--- a/drivers/base/power/opp/core.c
+++ b/drivers/base/power/opp/core.c
@@ -11,6 +11,8 @@
  * published by the Free Software Foundation.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/errno.h>
 #include <linux/err.h>
 #include <linux/slab.h>
diff --git a/drivers/base/power/opp/cpu.c b/drivers/base/power/opp/cpu.c
index 7654c5606307..c27a1cdffec9 100644
--- a/drivers/base/power/opp/cpu.c
+++ b/drivers/base/power/opp/cpu.c
@@ -10,6 +10,9 @@
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
+
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/cpu.h>
 #include <linux/cpufreq.h>
 #include <linux/err.h>
-- 
2.4.0

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V2 2/4] PM / OPP: Rename routines specific to old bindings with _v1
  2015-10-15 16:12 [PATCH V2 0/4] OPP: Some cleanups Viresh Kumar
  2015-10-15 16:12 ` [PATCH V2 1/4] PM / OPP: Improve debug print messages with pr_fmt Viresh Kumar
@ 2015-10-15 16:12 ` Viresh Kumar
  2015-10-28 18:48   ` Stephen Boyd
  2015-10-15 16:12 ` [PATCH V2 3/4] PM / OPP: Parse all power-supply related bindings together Viresh Kumar
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 17+ messages in thread
From: Viresh Kumar @ 2015-10-15 16:12 UTC (permalink / raw)
  To: Rafael Wysocki
  Cc: linaro-kernel, linux-pm, sboyd, nm, Viresh Kumar,
	Bartlomiej Zolnierkiewicz, Dmitry Torokhov, Greg Kroah-Hartman,
	Len Brown, open list, Pavel Machek

Clearly distinguish routines based on what version of bindings they
parse. We have already postfixed routines properly with _v2 for new
bindings. Postfix the older ones now with _v1.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/base/power/opp/core.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/base/power/opp/core.c b/drivers/base/power/opp/core.c
index a422ebf2501f..63b0f57601b8 100644
--- a/drivers/base/power/opp/core.c
+++ b/drivers/base/power/opp/core.c
@@ -703,7 +703,7 @@ static int _opp_add(struct device *dev, struct dev_pm_opp *new_opp,
 }
 
 /**
- * _opp_add_dynamic() - Allocate a dynamic OPP.
+ * _opp_add_v1() - Allocate a OPP based on v1 bindings.
  * @dev:	device for which we do this operation
  * @freq:	Frequency in Hz for this OPP
  * @u_volt:	Voltage in uVolts for this OPP
@@ -729,8 +729,8 @@ static int _opp_add(struct device *dev, struct dev_pm_opp *new_opp,
  *		Duplicate OPPs (both freq and volt are same) and !opp->available
  * -ENOMEM	Memory allocation failure
  */
-static int _opp_add_dynamic(struct device *dev, unsigned long freq,
-			    long u_volt, bool dynamic)
+static int _opp_add_v1(struct device *dev, unsigned long freq, long u_volt,
+		       bool dynamic)
 {
 	struct device_opp *dev_opp;
 	struct dev_pm_opp *new_opp;
@@ -941,7 +941,7 @@ static int _opp_add_static_v2(struct device *dev, struct device_node *np)
  */
 int dev_pm_opp_add(struct device *dev, unsigned long freq, unsigned long u_volt)
 {
-	return _opp_add_dynamic(dev, freq, u_volt, true);
+	return _opp_add_v1(dev, freq, u_volt, true);
 }
 EXPORT_SYMBOL_GPL(dev_pm_opp_add);
 
@@ -1243,7 +1243,7 @@ static int _of_add_opp_table_v1(struct device *dev)
 		unsigned long freq = be32_to_cpup(val++) * 1000;
 		unsigned long volt = be32_to_cpup(val++);
 
-		if (_opp_add_dynamic(dev, freq, volt, false))
+		if (_opp_add_v1(dev, freq, volt, false))
 			dev_warn(dev, "%s: Failed to add OPP %ld\n",
 				 __func__, freq);
 		nr -= 2;
-- 
2.4.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V2 3/4] PM / OPP: Parse all power-supply related bindings together
  2015-10-15 16:12 [PATCH V2 0/4] OPP: Some cleanups Viresh Kumar
  2015-10-15 16:12 ` [PATCH V2 1/4] PM / OPP: Improve debug print messages with pr_fmt Viresh Kumar
  2015-10-15 16:12 ` [PATCH V2 2/4] PM / OPP: Rename routines specific to old bindings with _v1 Viresh Kumar
@ 2015-10-15 16:12 ` Viresh Kumar
  2015-10-28 18:48   ` Stephen Boyd
  2015-10-15 16:12 ` [PATCH V2 4/4] PM / OPP: Create separate structure for regulator/supplies Viresh Kumar
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 17+ messages in thread
From: Viresh Kumar @ 2015-10-15 16:12 UTC (permalink / raw)
  To: Rafael Wysocki
  Cc: linaro-kernel, linux-pm, sboyd, nm, Viresh Kumar,
	Bartlomiej Zolnierkiewicz, Dmitry Torokhov, Greg Kroah-Hartman,
	Len Brown, open list, Pavel Machek

Move all DT parsing for the power supplies to a single function, rather
than keeping them at separate places. This will help manage things
properly.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/base/power/opp/core.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/base/power/opp/core.c b/drivers/base/power/opp/core.c
index 63b0f57601b8..8fa522f41226 100644
--- a/drivers/base/power/opp/core.c
+++ b/drivers/base/power/opp/core.c
@@ -772,9 +772,10 @@ static int _opp_add_v1(struct device *dev, unsigned long freq, long u_volt,
 }
 
 /* TODO: Support multiple regulators */
-static int opp_get_microvolt(struct dev_pm_opp *opp, struct device *dev)
+static int opp_parse_supplies(struct dev_pm_opp *opp, struct device *dev)
 {
 	u32 microvolt[3] = {0};
+	u32 val;
 	int count, ret;
 
 	/* Missing property isn't a problem, but an invalid entry is */
@@ -807,6 +808,9 @@ static int opp_get_microvolt(struct dev_pm_opp *opp, struct device *dev)
 	opp->u_volt_min = microvolt[1];
 	opp->u_volt_max = microvolt[2];
 
+	if (!of_property_read_u32(opp->np, "opp-microamp", &val))
+		opp->u_amp = val;
+
 	return 0;
 }
 
@@ -871,13 +875,10 @@ static int _opp_add_static_v2(struct device *dev, struct device_node *np)
 	if (!of_property_read_u32(np, "clock-latency-ns", &val))
 		new_opp->clock_latency_ns = val;
 
-	ret = opp_get_microvolt(new_opp, dev);
+	ret = opp_parse_supplies(new_opp, dev);
 	if (ret)
 		goto free_opp;
 
-	if (!of_property_read_u32(new_opp->np, "opp-microamp", &val))
-		new_opp->u_amp = val;
-
 	ret = _opp_add(dev, new_opp, dev_opp);
 	if (ret)
 		goto free_opp;
-- 
2.4.0

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V2 4/4] PM / OPP: Create separate structure for regulator/supplies
  2015-10-15 16:12 [PATCH V2 0/4] OPP: Some cleanups Viresh Kumar
                   ` (2 preceding siblings ...)
  2015-10-15 16:12 ` [PATCH V2 3/4] PM / OPP: Parse all power-supply related bindings together Viresh Kumar
@ 2015-10-15 16:12 ` Viresh Kumar
  2015-10-28  8:37   ` Viresh Kumar
  2015-10-28  8:25 ` [PATCH V2 0/4] OPP: Some cleanups Rafael J. Wysocki
  2015-11-05 22:44 ` Rafael J. Wysocki
  5 siblings, 1 reply; 17+ messages in thread
From: Viresh Kumar @ 2015-10-15 16:12 UTC (permalink / raw)
  To: Rafael Wysocki
  Cc: linaro-kernel, linux-pm, sboyd, nm, Viresh Kumar,
	Bartlomiej Zolnierkiewicz, Dmitry Torokhov, Greg Kroah-Hartman,
	Len Brown, open list, Pavel Machek

Support for multiple regulators will be added later, until then move
all power-supply related information in a separate structure.

To make allocating/freeing memory for these supply structures easy,
allocate memory for them along with opp.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/base/power/opp/core.c | 57 ++++++++++++++++++++++++++++---------------
 drivers/base/power/opp/opp.h  | 29 ++++++++++++++++------
 2 files changed, 58 insertions(+), 28 deletions(-)

diff --git a/drivers/base/power/opp/core.c b/drivers/base/power/opp/core.c
index 8fa522f41226..4c00ba719ae4 100644
--- a/drivers/base/power/opp/core.c
+++ b/drivers/base/power/opp/core.c
@@ -127,7 +127,7 @@ unsigned long dev_pm_opp_get_voltage(struct dev_pm_opp *opp)
 	if (IS_ERR_OR_NULL(tmp_opp) || !tmp_opp->available)
 		pr_err("%s: Invalid parameters\n", __func__);
 	else
-		v = tmp_opp->u_volt;
+		v = tmp_opp->supplies[0].u_volt;
 
 	return v;
 }
@@ -483,13 +483,14 @@ struct device_list_opp *_add_list_dev(const struct device *dev,
 /**
  * _add_device_opp() - Find device OPP table or allocate a new one
  * @dev:	device for which we do this operation
+ * @supply_count: Number of supplies available for each OPP.
  *
  * It tries to find an existing table first, if it couldn't find one, it
  * allocates a new OPP table and returns that.
  *
  * Return: valid device_opp pointer if success, else NULL.
  */
-static struct device_opp *_add_device_opp(struct device *dev)
+static struct device_opp *_add_device_opp(struct device *dev, int supply_count)
 {
 	struct device_opp *dev_opp;
 	struct device_list_opp *list_dev;
@@ -507,6 +508,7 @@ static struct device_opp *_add_device_opp(struct device *dev)
 	if (!dev_opp)
 		return NULL;
 
+	dev_opp->supply_count = supply_count;
 	INIT_LIST_HEAD(&dev_opp->dev_list);
 
 	list_dev = _add_list_dev(dev, dev_opp);
@@ -643,24 +645,31 @@ void dev_pm_opp_remove(struct device *dev, unsigned long freq)
 }
 EXPORT_SYMBOL_GPL(dev_pm_opp_remove);
 
-static struct dev_pm_opp *_allocate_opp(struct device *dev,
-					struct device_opp **dev_opp)
+static struct dev_pm_opp *
+_allocate_opp(struct device *dev, struct device_opp **dev_opp, int supply_count)
 {
 	struct dev_pm_opp *opp;
+	size_t size = sizeof(*opp);
+
+	/* Memory for the OPP and its supplies is allocated together */
+	size += supply_count * sizeof(*opp->supplies);
 
 	/* allocate new OPP node */
-	opp = kzalloc(sizeof(*opp), GFP_KERNEL);
+	opp = kzalloc(size, GFP_KERNEL);
 	if (!opp)
 		return NULL;
 
 	INIT_LIST_HEAD(&opp->node);
 
-	*dev_opp = _add_device_opp(dev);
+	*dev_opp = _add_device_opp(dev, supply_count);
 	if (!*dev_opp) {
 		kfree(opp);
 		return NULL;
 	}
 
+	/* Supplies points to the memory right after the opp */
+	opp->supplies = (struct opp_supply *)(opp + 1);
+
 	return opp;
 }
 
@@ -689,10 +698,12 @@ static int _opp_add(struct device *dev, struct dev_pm_opp *new_opp,
 
 		/* Duplicate OPPs */
 		dev_warn(dev, "%s: duplicate OPPs detected. Existing: freq: %lu, volt: %lu, enabled: %d. New: freq: %lu, volt: %lu, enabled: %d\n",
-			 __func__, opp->rate, opp->u_volt, opp->available,
-			 new_opp->rate, new_opp->u_volt, new_opp->available);
+			 __func__, opp->rate, opp->supplies[0].u_volt,
+			 opp->available, new_opp->rate,
+			 new_opp->supplies[0].u_volt, new_opp->available);
 
-		return opp->available && new_opp->u_volt == opp->u_volt ?
+		return opp->available &&
+			opp->supplies[0].u_volt == new_opp->supplies[0].u_volt ?
 			0 : -EEXIST;
 	}
 
@@ -739,7 +750,7 @@ static int _opp_add_v1(struct device *dev, unsigned long freq, long u_volt,
 	/* Hold our list modification lock here */
 	mutex_lock(&dev_opp_list_lock);
 
-	new_opp = _allocate_opp(dev, &dev_opp);
+	new_opp = _allocate_opp(dev, &dev_opp, 1);
 	if (!new_opp) {
 		ret = -ENOMEM;
 		goto unlock;
@@ -747,7 +758,7 @@ static int _opp_add_v1(struct device *dev, unsigned long freq, long u_volt,
 
 	/* populate the opp table */
 	new_opp->rate = freq;
-	new_opp->u_volt = u_volt;
+	new_opp->supplies[0].u_volt = u_volt;
 	new_opp->available = true;
 	new_opp->dynamic = dynamic;
 
@@ -774,6 +785,7 @@ static int _opp_add_v1(struct device *dev, unsigned long freq, long u_volt,
 /* TODO: Support multiple regulators */
 static int opp_parse_supplies(struct dev_pm_opp *opp, struct device *dev)
 {
+	struct opp_supply *supply = &opp->supplies[0];
 	u32 microvolt[3] = {0};
 	u32 val;
 	int count, ret;
@@ -804,12 +816,12 @@ static int opp_parse_supplies(struct dev_pm_opp *opp, struct device *dev)
 		return -EINVAL;
 	}
 
-	opp->u_volt = microvolt[0];
-	opp->u_volt_min = microvolt[1];
-	opp->u_volt_max = microvolt[2];
+	supply->u_volt = microvolt[0];
+	supply->u_volt_min = microvolt[1];
+	supply->u_volt_max = microvolt[2];
 
 	if (!of_property_read_u32(opp->np, "opp-microamp", &val))
-		opp->u_amp = val;
+		supply->u_amp = val;
 
 	return 0;
 }
@@ -818,6 +830,7 @@ static int opp_parse_supplies(struct dev_pm_opp *opp, struct device *dev)
  * _opp_add_static_v2() - Allocate static OPPs (As per 'v2' DT bindings)
  * @dev:	device for which we do this operation
  * @np:		device node
+ * @supply_count: Number of supplies available for each OPP
  *
  * This function adds an opp definition to the opp list and returns status. The
  * opp can be controlled using dev_pm_opp_enable/disable functions and may be
@@ -837,10 +850,12 @@ static int opp_parse_supplies(struct dev_pm_opp *opp, struct device *dev)
  * -ENOMEM	Memory allocation failure
  * -EINVAL	Failed parsing the OPP node
  */
-static int _opp_add_static_v2(struct device *dev, struct device_node *np)
+static int _opp_add_static_v2(struct device *dev, struct device_node *np,
+			      int supply_count)
 {
 	struct device_opp *dev_opp;
 	struct dev_pm_opp *new_opp;
+	struct opp_supply *supply;
 	u64 rate;
 	u32 val;
 	int ret;
@@ -848,7 +863,7 @@ static int _opp_add_static_v2(struct device *dev, struct device_node *np)
 	/* Hold our list modification lock here */
 	mutex_lock(&dev_opp_list_lock);
 
-	new_opp = _allocate_opp(dev, &dev_opp);
+	new_opp = _allocate_opp(dev, &dev_opp, supply_count);
 	if (!new_opp) {
 		ret = -ENOMEM;
 		goto unlock;
@@ -898,9 +913,10 @@ static int _opp_add_static_v2(struct device *dev, struct device_node *np)
 
 	mutex_unlock(&dev_opp_list_lock);
 
+	supply = &new_opp->supplies[0];
 	pr_debug("%s: turbo:%d rate:%lu uv:%lu uvmin:%lu uvmax:%lu latency:%lu\n",
-		 __func__, new_opp->turbo, new_opp->rate, new_opp->u_volt,
-		 new_opp->u_volt_min, new_opp->u_volt_max,
+		 __func__, new_opp->turbo, new_opp->rate, supply->u_volt,
+		 supply->u_volt_min, supply->u_volt_max,
 		 new_opp->clock_latency_ns);
 
 	/*
@@ -1187,7 +1203,8 @@ static int _of_add_opp_table_v2(struct device *dev, struct device_node *opp_np)
 	for_each_available_child_of_node(opp_np, np) {
 		count++;
 
-		ret = _opp_add_static_v2(dev, np);
+		/* Todo: Add support for multiple supplies */
+		ret = _opp_add_static_v2(dev, np, 1);
 		if (ret) {
 			dev_err(dev, "%s: Failed to add OPP, %d\n", __func__,
 				ret);
diff --git a/drivers/base/power/opp/opp.h b/drivers/base/power/opp/opp.h
index dcb38f78dae4..bdc2bbab1444 100644
--- a/drivers/base/power/opp/opp.h
+++ b/drivers/base/power/opp/opp.h
@@ -38,6 +38,22 @@
  */
 
 /**
+ * struct opp_supply - Per power-supply structure
+ * @u_volt:	Target voltage in microvolts corresponding to this OPP
+ * @u_volt_min:	Minimum voltage in microvolts corresponding to this OPP
+ * @u_volt_max:	Maximum voltage in microvolts corresponding to this OPP
+ * @u_amp:	Maximum current drawn by the device in microamperes
+ *
+ * This structure stores the OPP power-supply information for a given device.
+ */
+struct opp_supply {
+	unsigned long u_volt;
+	unsigned long u_volt_min;
+	unsigned long u_volt_max;
+	unsigned long u_amp;
+};
+
+/**
  * struct dev_pm_opp - Generic OPP description structure
  * @node:	opp list node. The nodes are maintained throughout the lifetime
  *		of boot. It is expected only an optimal set of OPPs are
@@ -51,10 +67,7 @@
  * @available:	true/false - marks if this OPP as available or not
  * @turbo:	true if turbo (boost) OPP
  * @rate:	Frequency in hertz
- * @u_volt:	Target voltage in microvolts corresponding to this OPP
- * @u_volt_min:	Minimum voltage in microvolts corresponding to this OPP
- * @u_volt_max:	Maximum voltage in microvolts corresponding to this OPP
- * @u_amp:	Maximum current drawn by the device in microamperes
+ * @supplies:	Array of power-supplies for the device.
  * @clock_latency_ns: Latency (in nanoseconds) of switching to this OPP's
  *		frequency from any other OPP's frequency.
  * @dev_opp:	points back to the device_opp struct this opp belongs to
@@ -71,10 +84,8 @@ struct dev_pm_opp {
 	bool turbo;
 	unsigned long rate;
 
-	unsigned long u_volt;
-	unsigned long u_volt_min;
-	unsigned long u_volt_max;
-	unsigned long u_amp;
+	struct opp_supply *supplies;
+
 	unsigned long clock_latency_ns;
 
 	struct device_opp *dev_opp;
@@ -110,6 +121,7 @@ struct device_list_opp {
  * @dev_list:	list of devices that share these OPPs
  * @opp_list:	list of opps
  * @np:		struct device_node pointer for opp's DT node.
+ * @supply_count: Number of power-supplies
  * @shared_opp: OPP is shared between multiple devices.
  *
  * This is an internal data structure maintaining the link to opps attached to
@@ -130,6 +142,7 @@ struct device_opp {
 
 	struct device_node *np;
 	unsigned long clock_latency_ns_max;
+	unsigned int supply_count;
 	bool shared_opp;
 	struct dev_pm_opp *suspend_opp;
 };
-- 
2.4.0

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH V2 1/4] PM / OPP: Improve debug print messages with pr_fmt
  2015-10-15 16:12 ` [PATCH V2 1/4] PM / OPP: Improve debug print messages with pr_fmt Viresh Kumar
@ 2015-10-15 19:04   ` Stephen Boyd
  2015-10-16  5:37     ` Viresh Kumar
  0 siblings, 1 reply; 17+ messages in thread
From: Stephen Boyd @ 2015-10-15 19:04 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Rafael Wysocki, linaro-kernel, linux-pm, nm,
	Bartlomiej Zolnierkiewicz, Dan Carpenter, Dmitry Torokhov,
	Greg Kroah-Hartman, Len Brown, open list, Pavel Machek

On 10/15, Viresh Kumar wrote:
> With debug options on, it is difficult to locate OPP core's debug
> prints. Fix this by prefixing OPP debug prints with KBUILD_MODNAME.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

Why not use dynamic debug's m flag to turn on KBUILD_MODNAME when
debugging?

>From Documentation/dynamic-debug-howto.txt

  m    Include module name in the printed message
-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V2 1/4] PM / OPP: Improve debug print messages with pr_fmt
  2015-10-15 19:04   ` Stephen Boyd
@ 2015-10-16  5:37     ` Viresh Kumar
  2015-10-16 19:20       ` Stephen Boyd
  0 siblings, 1 reply; 17+ messages in thread
From: Viresh Kumar @ 2015-10-16  5:37 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: Rafael Wysocki, linaro-kernel, linux-pm, nm,
	Bartlomiej Zolnierkiewicz, Dan Carpenter, Dmitry Torokhov,
	Greg Kroah-Hartman, Len Brown, open list, Pavel Machek

On 15-10-15, 12:04, Stephen Boyd wrote:
> On 10/15, Viresh Kumar wrote:
> > With debug options on, it is difficult to locate OPP core's debug
> > prints. Fix this by prefixing OPP debug prints with KBUILD_MODNAME.
> > 
> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> 
> Why not use dynamic debug's m flag to turn on KBUILD_MODNAME when
> debugging?
> 
> >From Documentation/dynamic-debug-howto.txt
> 
>   m    Include module name in the printed message

It wasn't just about debug messages but pr_info and pr_err as well.
And so I defined pr_fmt instead.

-- 
viresh

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V2 1/4] PM / OPP: Improve debug print messages with pr_fmt
  2015-10-16  5:37     ` Viresh Kumar
@ 2015-10-16 19:20       ` Stephen Boyd
  2015-10-17  4:15         ` [PATCH V3 1/4] PM / OPP: Improve " Viresh Kumar
  0 siblings, 1 reply; 17+ messages in thread
From: Stephen Boyd @ 2015-10-16 19:20 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Rafael Wysocki, linaro-kernel, linux-pm, nm,
	Bartlomiej Zolnierkiewicz, Dan Carpenter, Dmitry Torokhov,
	Greg Kroah-Hartman, Len Brown, open list, Pavel Machek

On 10/16, Viresh Kumar wrote:
> On 15-10-15, 12:04, Stephen Boyd wrote:
> > On 10/15, Viresh Kumar wrote:
> > > With debug options on, it is difficult to locate OPP core's debug
> > > prints. Fix this by prefixing OPP debug prints with KBUILD_MODNAME.
> > > 
> > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> > 
> > Why not use dynamic debug's m flag to turn on KBUILD_MODNAME when
> > debugging?
> > 
> > >From Documentation/dynamic-debug-howto.txt
> > 
> >   m    Include module name in the printed message
> 
> It wasn't just about debug messages but pr_info and pr_err as well.
> And so I defined pr_fmt instead.
> 

Ok, well the commit text exclusively mentions debug, leading me
to believe this is all about making the debug prints (i.e.
pr_debug) have KBUILD_MODNAME. 

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH V3 1/4] PM / OPP: Improve print messages with pr_fmt
  2015-10-16 19:20       ` Stephen Boyd
@ 2015-10-17  4:15         ` Viresh Kumar
  2015-10-28 18:49           ` Stephen Boyd
  0 siblings, 1 reply; 17+ messages in thread
From: Viresh Kumar @ 2015-10-17  4:15 UTC (permalink / raw)
  To: Rafael Wysocki
  Cc: linaro-kernel, linux-pm, sboyd, nm, Viresh Kumar,
	Bartlomiej Zolnierkiewicz, Dan Carpenter, Dmitry Torokhov,
	Greg Kroah-Hartman, Len Brown, open list, Pavel Machek

To identify OPP core's print messages easily, prefix them with
KBUILD_MODNAME.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
V2->V3:
- Improved commit-log.

 drivers/base/power/opp/core.c | 2 ++
 drivers/base/power/opp/cpu.c  | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/drivers/base/power/opp/core.c b/drivers/base/power/opp/core.c
index d5c1149ff123..a422ebf2501f 100644
--- a/drivers/base/power/opp/core.c
+++ b/drivers/base/power/opp/core.c
@@ -11,6 +11,8 @@
  * published by the Free Software Foundation.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/errno.h>
 #include <linux/err.h>
 #include <linux/slab.h>
diff --git a/drivers/base/power/opp/cpu.c b/drivers/base/power/opp/cpu.c
index 7654c5606307..c27a1cdffec9 100644
--- a/drivers/base/power/opp/cpu.c
+++ b/drivers/base/power/opp/cpu.c
@@ -10,6 +10,9 @@
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
+
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/cpu.h>
 #include <linux/cpufreq.h>
 #include <linux/err.h>
-- 
2.4.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH V2 0/4] OPP: Some cleanups
  2015-10-15 16:12 [PATCH V2 0/4] OPP: Some cleanups Viresh Kumar
                   ` (3 preceding siblings ...)
  2015-10-15 16:12 ` [PATCH V2 4/4] PM / OPP: Create separate structure for regulator/supplies Viresh Kumar
@ 2015-10-28  8:25 ` Rafael J. Wysocki
  2015-10-28  8:40   ` Viresh Kumar
  2015-11-05 22:44 ` Rafael J. Wysocki
  5 siblings, 1 reply; 17+ messages in thread
From: Rafael J. Wysocki @ 2015-10-28  8:25 UTC (permalink / raw)
  To: Viresh Kumar; +Cc: linaro-kernel, linux-pm, sboyd, nm

On Thursday, October 15, 2015 09:42:42 PM Viresh Kumar wrote:
> Rafael,
> 
> These are some random cleanups, which were part of the multi-regulator
> series earlier. Sending them separately to make that series a bit light
> weight.
> 
> V1->V2:
> - Just sending them separately.
> 
> Viresh Kumar (4):
>   PM / OPP: Improve debug print messages with pr_fmt
>   PM / OPP: Rename routines specific to old bindings with _v1
>   PM / OPP: Parse all power-supply related bindings together
>   PM / OPP: Create separate structure for regulator/supplies
> 
>  drivers/base/power/opp/core.c | 78 +++++++++++++++++++++++++++----------------
>  drivers/base/power/opp/cpu.c  |  3 ++
>  drivers/base/power/opp/opp.h  | 29 +++++++++++-----
>  3 files changed, 73 insertions(+), 37 deletions(-)

I'd like to receive an ACK from someone like Stephen on this one.

Thanks,
Rafael


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V2 4/4] PM / OPP: Create separate structure for regulator/supplies
  2015-10-15 16:12 ` [PATCH V2 4/4] PM / OPP: Create separate structure for regulator/supplies Viresh Kumar
@ 2015-10-28  8:37   ` Viresh Kumar
  0 siblings, 0 replies; 17+ messages in thread
From: Viresh Kumar @ 2015-10-28  8:37 UTC (permalink / raw)
  To: Rafael Wysocki
  Cc: linaro-kernel, linux-pm, sboyd, nm, Bartlomiej Zolnierkiewicz,
	Dmitry Torokhov, Greg Kroah-Hartman, Len Brown, open list,
	Pavel Machek

On 15-10-15, 21:42, Viresh Kumar wrote:
> Support for multiple regulators will be added later, until then move
> all power-supply related information in a separate structure.
> 
> To make allocating/freeing memory for these supply structures easy,
> allocate memory for them along with opp.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  drivers/base/power/opp/core.c | 57 ++++++++++++++++++++++++++++---------------
>  drivers/base/power/opp/opp.h  | 29 ++++++++++++++++------
>  2 files changed, 58 insertions(+), 28 deletions(-)

Please drop this patch for now, I will get it included in the
multi-regulator series later.

-- 
viresh

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V2 0/4] OPP: Some cleanups
  2015-10-28  8:25 ` [PATCH V2 0/4] OPP: Some cleanups Rafael J. Wysocki
@ 2015-10-28  8:40   ` Viresh Kumar
  2015-10-28 18:48     ` Stephen Boyd
  0 siblings, 1 reply; 17+ messages in thread
From: Viresh Kumar @ 2015-10-28  8:40 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: linaro-kernel, linux-pm, sboyd, nm

On 28-10-15, 09:25, Rafael J. Wysocki wrote:
> On Thursday, October 15, 2015 09:42:42 PM Viresh Kumar wrote:
> > Rafael,
> > 
> > These are some random cleanups, which were part of the multi-regulator
> > series earlier. Sending them separately to make that series a bit light
> > weight.
> > 
> > V1->V2:
> > - Just sending them separately.
> > 
> > Viresh Kumar (4):
> >   PM / OPP: Improve debug print messages with pr_fmt
> >   PM / OPP: Rename routines specific to old bindings with _v1
> >   PM / OPP: Parse all power-supply related bindings together
> >   PM / OPP: Create separate structure for regulator/supplies
> > 
> >  drivers/base/power/opp/core.c | 78 +++++++++++++++++++++++++++----------------
> >  drivers/base/power/opp/cpu.c  |  3 ++
> >  drivers/base/power/opp/opp.h  | 29 +++++++++++-----
> >  3 files changed, 73 insertions(+), 37 deletions(-)
> 
> I'd like to receive an ACK from someone like Stephen on this one.

He isn't around probably, I couldn't find him on IRC for last few
days. I have just asked you (in another reply) to drop the fourth
patch for now.

Apart from that things are really trivial, renaming/moving code
around. Please see if those can be included without waiting for
Stephen to return.

-- 
viresh

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V2 3/4] PM / OPP: Parse all power-supply related bindings together
  2015-10-15 16:12 ` [PATCH V2 3/4] PM / OPP: Parse all power-supply related bindings together Viresh Kumar
@ 2015-10-28 18:48   ` Stephen Boyd
  0 siblings, 0 replies; 17+ messages in thread
From: Stephen Boyd @ 2015-10-28 18:48 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Rafael Wysocki, linaro-kernel, linux-pm, nm,
	Bartlomiej Zolnierkiewicz, Dmitry Torokhov, Greg Kroah-Hartman,
	Len Brown, open list, Pavel Machek

On 10/15, Viresh Kumar wrote:
> Move all DT parsing for the power supplies to a single function, rather
> than keeping them at separate places. This will help manage things
> properly.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V2 2/4] PM / OPP: Rename routines specific to old bindings with _v1
  2015-10-15 16:12 ` [PATCH V2 2/4] PM / OPP: Rename routines specific to old bindings with _v1 Viresh Kumar
@ 2015-10-28 18:48   ` Stephen Boyd
  0 siblings, 0 replies; 17+ messages in thread
From: Stephen Boyd @ 2015-10-28 18:48 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Rafael Wysocki, linaro-kernel, linux-pm, nm,
	Bartlomiej Zolnierkiewicz, Dmitry Torokhov, Greg Kroah-Hartman,
	Len Brown, open list, Pavel Machek

On 10/15, Viresh Kumar wrote:
> Clearly distinguish routines based on what version of bindings they
> parse. We have already postfixed routines properly with _v2 for new
> bindings. Postfix the older ones now with _v1.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V2 0/4] OPP: Some cleanups
  2015-10-28  8:40   ` Viresh Kumar
@ 2015-10-28 18:48     ` Stephen Boyd
  0 siblings, 0 replies; 17+ messages in thread
From: Stephen Boyd @ 2015-10-28 18:48 UTC (permalink / raw)
  To: Viresh Kumar; +Cc: Rafael J. Wysocki, linaro-kernel, linux-pm, nm

On 10/28, Viresh Kumar wrote:
> On 28-10-15, 09:25, Rafael J. Wysocki wrote:
> > On Thursday, October 15, 2015 09:42:42 PM Viresh Kumar wrote:
> > > Rafael,
> > > 
> > > These are some random cleanups, which were part of the multi-regulator
> > > series earlier. Sending them separately to make that series a bit light
> > > weight.
> > > 
> > > V1->V2:
> > > - Just sending them separately.
> > > 
> > > Viresh Kumar (4):
> > >   PM / OPP: Improve debug print messages with pr_fmt
> > >   PM / OPP: Rename routines specific to old bindings with _v1
> > >   PM / OPP: Parse all power-supply related bindings together
> > >   PM / OPP: Create separate structure for regulator/supplies
> > > 
> > >  drivers/base/power/opp/core.c | 78 +++++++++++++++++++++++++++----------------
> > >  drivers/base/power/opp/cpu.c  |  3 ++
> > >  drivers/base/power/opp/opp.h  | 29 +++++++++++-----
> > >  3 files changed, 73 insertions(+), 37 deletions(-)
> > 
> > I'd like to receive an ACK from someone like Stephen on this one.
> 
> He isn't around probably, I couldn't find him on IRC for last few
> days. I have just asked you (in another reply) to drop the fourth
> patch for now.
> 
> Apart from that things are really trivial, renaming/moving code
> around. Please see if those can be included without waiting for
> Stephen to return.
> 

Sorry it seems I got booted from freenode and didn't notice. I've
sent Reviewed-by for the three patches.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V3 1/4] PM / OPP: Improve print messages with pr_fmt
  2015-10-17  4:15         ` [PATCH V3 1/4] PM / OPP: Improve " Viresh Kumar
@ 2015-10-28 18:49           ` Stephen Boyd
  0 siblings, 0 replies; 17+ messages in thread
From: Stephen Boyd @ 2015-10-28 18:49 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Rafael Wysocki, linaro-kernel, linux-pm, nm,
	Bartlomiej Zolnierkiewicz, Dan Carpenter, Dmitry Torokhov,
	Greg Kroah-Hartman, Len Brown, open list, Pavel Machek

On 10/17, Viresh Kumar wrote:
> To identify OPP core's print messages easily, prefix them with
> KBUILD_MODNAME.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V2 0/4] OPP: Some cleanups
  2015-10-15 16:12 [PATCH V2 0/4] OPP: Some cleanups Viresh Kumar
                   ` (4 preceding siblings ...)
  2015-10-28  8:25 ` [PATCH V2 0/4] OPP: Some cleanups Rafael J. Wysocki
@ 2015-11-05 22:44 ` Rafael J. Wysocki
  5 siblings, 0 replies; 17+ messages in thread
From: Rafael J. Wysocki @ 2015-11-05 22:44 UTC (permalink / raw)
  To: Viresh Kumar; +Cc: linaro-kernel, linux-pm, sboyd, nm

On Thursday, October 15, 2015 09:42:42 PM Viresh Kumar wrote:
> Rafael,
> 
> These are some random cleanups, which were part of the multi-regulator
> series earlier. Sending them separately to make that series a bit light
> weight.
> 
> V1->V2:
> - Just sending them separately.
> 
> Viresh Kumar (4):
>   PM / OPP: Improve debug print messages with pr_fmt
>   PM / OPP: Rename routines specific to old bindings with _v1
>   PM / OPP: Parse all power-supply related bindings together
>   PM / OPP: Create separate structure for regulator/supplies
> 
>  drivers/base/power/opp/core.c | 78 +++++++++++++++++++++++++++----------------
>  drivers/base/power/opp/cpu.c  |  3 ++
>  drivers/base/power/opp/opp.h  | 29 +++++++++++-----
>  3 files changed, 73 insertions(+), 37 deletions(-)

Applied [1-3/4], thanks!

Rafael


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2015-11-05 22:15 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-15 16:12 [PATCH V2 0/4] OPP: Some cleanups Viresh Kumar
2015-10-15 16:12 ` [PATCH V2 1/4] PM / OPP: Improve debug print messages with pr_fmt Viresh Kumar
2015-10-15 19:04   ` Stephen Boyd
2015-10-16  5:37     ` Viresh Kumar
2015-10-16 19:20       ` Stephen Boyd
2015-10-17  4:15         ` [PATCH V3 1/4] PM / OPP: Improve " Viresh Kumar
2015-10-28 18:49           ` Stephen Boyd
2015-10-15 16:12 ` [PATCH V2 2/4] PM / OPP: Rename routines specific to old bindings with _v1 Viresh Kumar
2015-10-28 18:48   ` Stephen Boyd
2015-10-15 16:12 ` [PATCH V2 3/4] PM / OPP: Parse all power-supply related bindings together Viresh Kumar
2015-10-28 18:48   ` Stephen Boyd
2015-10-15 16:12 ` [PATCH V2 4/4] PM / OPP: Create separate structure for regulator/supplies Viresh Kumar
2015-10-28  8:37   ` Viresh Kumar
2015-10-28  8:25 ` [PATCH V2 0/4] OPP: Some cleanups Rafael J. Wysocki
2015-10-28  8:40   ` Viresh Kumar
2015-10-28 18:48     ` Stephen Boyd
2015-11-05 22:44 ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).