[PATCH v2 01/14] PCI: Use sysfs_emit() and sysfs_emit_at() in "show" functions
Joe Perches
joe at perches.com
Sat May 15 15:43:35 AEST 2021
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.
[]
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
[]
> @@ -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;
More information about the Linuxppc-dev
mailing list