virtio: Implementing attribute show with sysfs_emit
authorDawei Li <set_pte_at@outlook.com>
Thu, 24 Nov 2022 16:12:14 +0000 (00:12 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 28 Dec 2022 10:28:11 +0000 (05:28 -0500)
Replace sprintf with sysfs_emit or its variants for their
built-in PAGE_SIZE awareness.

Signed-off-by: Dawei Li <set_pte_at@outlook.com>
Message-Id: <TYCP286MB23232A999FE7DBDF50BA0FAACA0F9@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/virtio/virtio.c

index 828ced060742358069ae33e46dd62899d5400760..b9a80aedee1b73fed28d7335081b95c75db73fcc 100644 (file)
@@ -15,7 +15,7 @@ static ssize_t device_show(struct device *_d,
                           struct device_attribute *attr, char *buf)
 {
        struct virtio_device *dev = dev_to_virtio(_d);
-       return sprintf(buf, "0x%04x\n", dev->id.device);
+       return sysfs_emit(buf, "0x%04x\n", dev->id.device);
 }
 static DEVICE_ATTR_RO(device);
 
@@ -23,7 +23,7 @@ static ssize_t vendor_show(struct device *_d,
                           struct device_attribute *attr, char *buf)
 {
        struct virtio_device *dev = dev_to_virtio(_d);
-       return sprintf(buf, "0x%04x\n", dev->id.vendor);
+       return sysfs_emit(buf, "0x%04x\n", dev->id.vendor);
 }
 static DEVICE_ATTR_RO(vendor);
 
@@ -31,7 +31,7 @@ static ssize_t status_show(struct device *_d,
                           struct device_attribute *attr, char *buf)
 {
        struct virtio_device *dev = dev_to_virtio(_d);
-       return sprintf(buf, "0x%08x\n", dev->config->get_status(dev));
+       return sysfs_emit(buf, "0x%08x\n", dev->config->get_status(dev));
 }
 static DEVICE_ATTR_RO(status);
 
@@ -39,7 +39,7 @@ static ssize_t modalias_show(struct device *_d,
                             struct device_attribute *attr, char *buf)
 {
        struct virtio_device *dev = dev_to_virtio(_d);
-       return sprintf(buf, "virtio:d%08Xv%08X\n",
+       return sysfs_emit(buf, "virtio:d%08Xv%08X\n",
                       dev->id.device, dev->id.vendor);
 }
 static DEVICE_ATTR_RO(modalias);
@@ -54,9 +54,9 @@ static ssize_t features_show(struct device *_d,
        /* We actually represent this as a bitstring, as it could be
         * arbitrary length in future. */
        for (i = 0; i < sizeof(dev->features)*8; i++)
-               len += sprintf(buf+len, "%c",
+               len += sysfs_emit_at(buf, len, "%c",
                               __virtio_test_bit(dev, i) ? '1' : '0');
-       len += sprintf(buf+len, "\n");
+       len += sysfs_emit_at(buf, len, "\n");
        return len;
 }
 static DEVICE_ATTR_RO(features);