1

PM: hibernate: Use sysfs_emit() and sysfs_emit_at() in "show" functions

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>
Link: https://patch.msgid.link/20240801083156.2513508-2-luoxueqin@kylinos.cn
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Xueqin Luo 2024-08-01 16:31:55 +08:00 committed by Rafael J. Wysocki
parent 8400291e28
commit 6306653cd8

View File

@ -1123,11 +1123,11 @@ static const char * const hibernation_modes[] = {
static ssize_t disk_show(struct kobject *kobj, struct kobj_attribute *attr, static ssize_t disk_show(struct kobject *kobj, struct kobj_attribute *attr,
char *buf) char *buf)
{ {
ssize_t count = 0;
int i; int i;
char *start = buf;
if (!hibernation_available()) if (!hibernation_available())
return sprintf(buf, "[disabled]\n"); return sysfs_emit(buf, "[disabled]\n");
for (i = HIBERNATION_FIRST; i <= HIBERNATION_MAX; i++) { for (i = HIBERNATION_FIRST; i <= HIBERNATION_MAX; i++) {
if (!hibernation_modes[i]) if (!hibernation_modes[i])
@ -1147,12 +1147,16 @@ static ssize_t disk_show(struct kobject *kobj, struct kobj_attribute *attr,
continue; continue;
} }
if (i == hibernation_mode) if (i == hibernation_mode)
buf += sprintf(buf, "[%s] ", hibernation_modes[i]); count += sysfs_emit_at(buf, count, "[%s] ", hibernation_modes[i]);
else else
buf += sprintf(buf, "%s ", hibernation_modes[i]); count += sysfs_emit_at(buf, count, "%s ", hibernation_modes[i]);
} }
buf += sprintf(buf, "\n");
return buf-start; /* Convert the last space to a newline if needed. */
if (count > 0)
buf[count - 1] = '\n';
return count;
} }
static ssize_t disk_store(struct kobject *kobj, struct kobj_attribute *attr, static ssize_t disk_store(struct kobject *kobj, struct kobj_attribute *attr,
@ -1210,8 +1214,8 @@ power_attr(disk);
static ssize_t resume_show(struct kobject *kobj, struct kobj_attribute *attr, static ssize_t resume_show(struct kobject *kobj, struct kobj_attribute *attr,
char *buf) 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)); MINOR(swsusp_resume_device));
} }
static ssize_t resume_store(struct kobject *kobj, struct kobj_attribute *attr, static ssize_t resume_store(struct kobject *kobj, struct kobj_attribute *attr,
@ -1270,7 +1274,7 @@ power_attr(resume);
static ssize_t resume_offset_show(struct kobject *kobj, static ssize_t resume_offset_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buf) 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, static ssize_t resume_offset_store(struct kobject *kobj,
@ -1293,7 +1297,7 @@ power_attr(resume_offset);
static ssize_t image_size_show(struct kobject *kobj, struct kobj_attribute *attr, static ssize_t image_size_show(struct kobject *kobj, struct kobj_attribute *attr,
char *buf) 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, static ssize_t image_size_store(struct kobject *kobj, struct kobj_attribute *attr,
@ -1314,7 +1318,7 @@ power_attr(image_size);
static ssize_t reserved_size_show(struct kobject *kobj, static ssize_t reserved_size_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buf) 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, static ssize_t reserved_size_store(struct kobject *kobj,