Re: [PATCH v2 01/14] PCI: Use sysfs_emit() and sysfs_emit_at() in "show" functions
From: Joe Perches <joe@perches.com>
Date: 2021-05-15 05:44:11
Also in:
linux-pci
On Sat, 2021-05-15 at 05:24 +0000, Krzysztof Wilczyński wrote:
The sysfs_emit() and sysfs_emit_at() functions were introduced to make it less ambiguous which function is preferred when writing to the output buffer in a device attribute's "show" callback [1]. Convert the PCI sysfs object "show" functions from sprintf(), snprintf() and scnprintf() to sysfs_emit() and sysfs_emit_at() accordingly, as the latter is aware of the PAGE_SIZE buffer and correctly returns the number of bytes written into the buffer.
[]
quoted hunk ↗ jump to hunk
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
[]
quoted hunk ↗ jump to hunk
@@ -6439,7 +6439,7 @@ static ssize_t resource_alignment_show(struct bus_type *bus, char *buf)spin_lock(&resource_alignment_lock); if (resource_alignment_param) - count = scnprintf(buf, PAGE_SIZE, "%s", resource_alignment_param); + count = sysfs_emit(buf, "%s", resource_alignment_param); spin_unlock(&resource_alignment_lock);
Ideally, the additional newline check below this would use sysfs_emit_at
drivers/pci/pci.c- /*
drivers/pci/pci.c: * When set by the command line, resource_alignment_param will not
drivers/pci/pci.c- * have a trailing line feed, which is ugly. So conditionally add
drivers/pci/pci.c- * it here.
drivers/pci/pci.c- */
drivers/pci/pci.c- if (count >= 2 && buf[count - 2] != '\n' && count < PAGE_SIZE - 1) {
drivers/pci/pci.c- buf[count - 1] = '\n';
drivers/pci/pci.c- buf[count++] = 0;
drivers/pci/pci.c- }
drivers/pci/pci.c-
drivers/pci/pci.c- return count;