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.

No functional change intended.

[1] Documentation/filesystems/sysfs.rst

Related to:
  commit ad025f8e46f3 ("PCI/sysfs: Use sysfs_emit() and sysfs_emit_at() in 
"show" functions")

Signed-off-by: Krzysztof Wilczyński <k...@linux.com>
---
 drivers/pci/pcie/aer.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index ec943cee5ecc..40ef7bed7a77 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -529,21 +529,23 @@ static const char *aer_agent_string[] = {
                     char *buf)                                         \
 {                                                                      \
        unsigned int i;                                                 \
-       char *str = buf;                                                \
        struct pci_dev *pdev = to_pci_dev(dev);                         \
        u64 *stats = pdev->aer_stats->stats_array;                      \
+       size_t len = 0;                                                 \
                                                                        \
        for (i = 0; i < ARRAY_SIZE(strings_array); i++) {               \
                if (strings_array[i])                                   \
-                       str += sprintf(str, "%s %llu\n",                \
-                                      strings_array[i], stats[i]);     \
+                       len += sysfs_emit_at(buf, len, "%s %llu\n",     \
+                                            strings_array[i],          \
+                                            stats[i]);                 \
                else if (stats[i])                                      \
-                       str += sprintf(str, #stats_array "_bit[%d] %llu\n",\
-                                      i, stats[i]);                    \
+                       len += sysfs_emit_at(buf, len,                  \
+                                            #stats_array "_bit[%d] %llu\n",\
+                                            i, stats[i]);              \
        }                                                               \
-       str += sprintf(str, "TOTAL_%s %llu\n", total_string,            \
-                      pdev->aer_stats->total_field);                   \
-       return str-buf;                                                 \
+       len += sysfs_emit_at(buf, len, "TOTAL_%s %llu\n", total_string, \
+                            pdev->aer_stats->total_field);             \
+       return len;                                                     \
 }                                                                      \
 static DEVICE_ATTR_RO(name)
 
@@ -563,7 +565,7 @@ aer_stats_dev_attr(aer_dev_nonfatal, dev_nonfatal_errs,
                     char *buf)                                         \
 {                                                                      \
        struct pci_dev *pdev = to_pci_dev(dev);                         \
-       return sprintf(buf, "%llu\n", pdev->aer_stats->field);          \
+       return sysfs_emit(buf, "%llu\n", pdev->aer_stats->field);       \
 }                                                                      \
 static DEVICE_ATTR_RO(name)
 
-- 
2.31.1

Reply via email to