diff mbox series

[RESEND,1/2] PM: hibernate: Use sysfs_emit() and sysfs_emit_at() in "show" functions

Message ID 20240730065454.2096296-2-luoxueqin@kylinos.cn (mailing list archive)
State Superseded, archived
Headers show
Series Use sysfs_emit() and sysfs_emit_at() in "show" functions | expand

Commit Message

Xueqin Luo July 30, 2024, 6:54 a.m. UTC
As Documentation/filesystems/sysfs.rst suggested,
show() should only use sysfs_emit() or sysfs_emit_at() when formatting
the value to be returned to user space.

No functional change intended.

Signed-off-by: Xueqin Luo <luoxueqin@kylinos.cn>
---
 kernel/power/hibernate.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

Comments

Christophe JAILLET July 30, 2024, 4:13 p.m. UTC | #1
Le 30/07/2024 à 08:54, Xueqin Luo a écrit :
> As Documentation/filesystems/sysfs.rst suggested,
> show() should only use sysfs_emit() or sysfs_emit_at() when formatting
> the value to be returned to user space.
> 
> No functional change intended.
> 
> Signed-off-by: Xueqin Luo <luoxueqin@kylinos.cn>
> ---

Hi,
...

> @@ -1210,7 +1210,7 @@ power_attr(disk);
>   static ssize_t resume_show(struct kobject *kobj, struct kobj_attribute *attr,
>   			   char *buf)
>   {
> -	return sprintf(buf, "%d:%d\n", MAJOR(swsusp_resume_device),
> +	return sysfs_emit(buf, "%d:%d\n", MAJOR(swsusp_resume_device),
>   		       MINOR(swsusp_resume_device));

Nitpick: now the alignment with the '(' is not correct anymore.

>   }
>   

...

CJ
diff mbox series

Patch

diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
index 0a213f69a9e4..604fb30ec007 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
@@ -1124,10 +1124,10 @@  static ssize_t disk_show(struct kobject *kobj, struct kobj_attribute *attr,
 			 char *buf)
 {
 	int i;
-	char *start = buf;
+	ssize_t sz = 0;
 
 	if (!hibernation_available())
-		return sprintf(buf, "[disabled]\n");
+		return sysfs_emit(buf, "[disabled]\n");
 
 	for (i = HIBERNATION_FIRST; i <= HIBERNATION_MAX; i++) {
 		if (!hibernation_modes[i])
@@ -1147,12 +1147,12 @@  static ssize_t disk_show(struct kobject *kobj, struct kobj_attribute *attr,
 			continue;
 		}
 		if (i == hibernation_mode)
-			buf += sprintf(buf, "[%s] ", hibernation_modes[i]);
+			sz += sysfs_emit_at(buf, sz, "[%s] ", hibernation_modes[i]);
 		else
-			buf += sprintf(buf, "%s ", hibernation_modes[i]);
+			sz += sysfs_emit_at(buf, sz, "%s ", hibernation_modes[i]);
 	}
-	buf += sprintf(buf, "\n");
-	return buf-start;
+	sz += sysfs_emit_at(buf, sz, "\n");
+	return sz;
 }
 
 static ssize_t disk_store(struct kobject *kobj, struct kobj_attribute *attr,
@@ -1210,7 +1210,7 @@  power_attr(disk);
 static ssize_t resume_show(struct kobject *kobj, struct kobj_attribute *attr,
 			   char *buf)
 {
-	return sprintf(buf, "%d:%d\n", MAJOR(swsusp_resume_device),
+	return sysfs_emit(buf, "%d:%d\n", MAJOR(swsusp_resume_device),
 		       MINOR(swsusp_resume_device));
 }
 
@@ -1270,7 +1270,7 @@  power_attr(resume);
 static ssize_t resume_offset_show(struct kobject *kobj,
 				  struct kobj_attribute *attr, char *buf)
 {
-	return sprintf(buf, "%llu\n", (unsigned long long)swsusp_resume_block);
+	return sysfs_emit(buf, "%llu\n", (unsigned long long)swsusp_resume_block);
 }
 
 static ssize_t resume_offset_store(struct kobject *kobj,
@@ -1293,7 +1293,7 @@  power_attr(resume_offset);
 static ssize_t image_size_show(struct kobject *kobj, struct kobj_attribute *attr,
 			       char *buf)
 {
-	return sprintf(buf, "%lu\n", image_size);
+	return sysfs_emit(buf, "%lu\n", image_size);
 }
 
 static ssize_t image_size_store(struct kobject *kobj, struct kobj_attribute *attr,
@@ -1314,7 +1314,7 @@  power_attr(image_size);
 static ssize_t reserved_size_show(struct kobject *kobj,
 				  struct kobj_attribute *attr, char *buf)
 {
-	return sprintf(buf, "%lu\n", reserved_size);
+	return sysfs_emit(buf, "%lu\n", reserved_size);
 }
 
 static ssize_t reserved_size_store(struct kobject *kobj,