From: Shiyang Ruan Date: Wed, 8 Jan 2025 01:52:23 +0000 (+0800) Subject: drivers/base/memory: simplify outputting of valid_zones_show() X-Git-Tag: v6.15-rc1~81^2~413 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=100bc3b877fca43e46485883eaf179aec7a11c86;p=thirdparty%2Fkernel%2Flinux.git drivers/base/memory: simplify outputting of valid_zones_show() No need to specify position at the first writing to the buf because the @len is always 0 at this time. Use sysfs_emit() instead to simplify it. Also avoid setting/checking default_zone with a conditional operator. Link: https://lkml.kernel.org/r/20250108015223.1522887-1-ruansy.fnst@fujitsu.com Signed-off-by: Shiyang Ruan Acked-by: David Hildenbrand Cc: Oscar Salvador Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton --- diff --git a/drivers/base/memory.c b/drivers/base/memory.c index 348c5dbbfa68a..4765f2928725c 100644 --- a/drivers/base/memory.c +++ b/drivers/base/memory.c @@ -455,7 +455,7 @@ static ssize_t valid_zones_show(struct device *dev, struct memory_group *group = mem->group; struct zone *default_zone; int nid = mem->nid; - int len = 0; + int len; /* * Check the existing zone. Make sure that we do that only on the @@ -466,22 +466,18 @@ static ssize_t valid_zones_show(struct device *dev, * If !mem->zone, the memory block spans multiple zones and * cannot get offlined. */ - default_zone = mem->zone; - if (!default_zone) - return sysfs_emit(buf, "%s\n", "none"); - len += sysfs_emit_at(buf, len, "%s", default_zone->name); - goto out; + return sysfs_emit(buf, "%s\n", + mem->zone ? mem->zone->name : "none"); } default_zone = zone_for_pfn_range(MMOP_ONLINE, nid, group, start_pfn, nr_pages); - len += sysfs_emit_at(buf, len, "%s", default_zone->name); + len = sysfs_emit(buf, "%s", default_zone->name); len += print_allowed_zone(buf, len, nid, group, start_pfn, nr_pages, MMOP_ONLINE_KERNEL, default_zone); len += print_allowed_zone(buf, len, nid, group, start_pfn, nr_pages, MMOP_ONLINE_MOVABLE, default_zone); -out: len += sysfs_emit_at(buf, len, "\n"); return len; }