Thread (5 messages) 5 messages, 3 authors, 2018-08-29

Re: [PATCH] PM / devfreq: Add new name attribute for sysfs

From: Chanwoo Choi <cw00.choi@samsung.com>
Date: 2018-08-29 23:00:06
Also in: lkml, stable

Hi Bartlomiej,

On 2018년 08월 29일 21:50, Bartlomiej Zolnierkiewicz wrote:
Hi Chanwoo,

On Wednesday, August 29, 2018 04:34:06 PM Chanwoo Choi wrote:
quoted
commit 4585fbcb5331 ("PM / devfreq: Modify the device name as devfreq(X) for
sysfs") changed the node name to devfreq(x). After this commit, it is not
possible to get the device name through /sys/class/devfreq/devfreq(X)/*.

Add new name attribute in order to get device name.
Could you please describe the issue encountered in more detail
(what the old device name is needed for)?
You can check it on mail thread[1].
[1] https://lkml.org/lkml/2018/5/8/1042
 
quoted
Cc: stable@vger.kernel.org
Fixes: 4585fbcb5331 ("PM / devfreq: Modify the device name as devfreq(X) for sysfs")
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
---
 drivers/devfreq/devfreq.c | 11 +++++++++++
 include/linux/devfreq.h   |  3 +++
 2 files changed, 14 insertions(+)
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index 4c49bb1330b5..2145563d5ee5 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -620,6 +620,9 @@ struct devfreq *devfreq_add_device(struct device *dev,
 	}
 	devfreq->max_freq = devfreq->scaling_max_freq;

+	devfreq->name = dev_name(devfreq->dev.parent);
It seems that 'dev' can be used instead of 'devfreq->dev.parent'.
devfreq->dev.parent is same with dev. it doesn't matter.
quoted
+	if (IS_ERR_OR_NULL(devfreq->name))
Error values are not encoded into pointer returned by dev_name()
(drivers/base/ code is only checking for pointer being NULL).
OK. I'll just check whether NULL or not.
quoted
+		return -EINVAL;
This leaks 'devfreq' object and doesn't encode return value into
pointer returned by devfreq_add_device(), it should be replaced by:
Right. I'll fix it.
	err = -EINVAL;
	goto err_dev;
quoted
 	dev_set_name(&devfreq->dev, "devfreq%d",
 				atomic_inc_return(&devfreq_no));
 	err = device_register(&devfreq->dev);
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics


-- 
Best Regards,
Chanwoo Choi
Samsung Electronics
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help