HID: hid-picolcd*: Convert sprintf() family to sysfs_emit() family
authorLi Zhijian <lizhijian@fujitsu.com>
Tue, 19 Mar 2024 05:45:24 +0000 (13:45 +0800)
committerJiri Kosina <jkosina@suse.com>
Wed, 3 Apr 2024 11:42:04 +0000 (13:42 +0200)
Per filesystems/sysfs.rst, show() should only use sysfs_emit()
or sysfs_emit_at() when formatting the value to be returned to user space.

coccinelle complains that there are still a couple of functions that use
snprintf(). Convert them to sysfs_emit().

sprintf() and scnprintf() will be converted as well if they have.

Generally, this patch is generated by
make coccicheck M=<path/to/file> MODE=patch \
COCCI=scripts/coccinelle/api/device_attr_show.cocci

No functional change intended

CC: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
CC: "Bruno Prémont" <bonbons@linux-vserver.org>
CC: Jiri Kosina <jikos@kernel.org>
CC: Benjamin Tissoires <benjamin.tissoires@redhat.com>
CC: linux-input@vger.kernel.org
Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/hid-picolcd_core.c
drivers/hid/hid-picolcd_fb.c

index bbda231a7ce3030055082806996667fb4864c3e8..fa46fb6eab3ff9389d272b77d458f507108af47a 100644 (file)
@@ -256,9 +256,9 @@ static ssize_t picolcd_operation_mode_show(struct device *dev,
        struct picolcd_data *data = dev_get_drvdata(dev);
 
        if (data->status & PICOLCD_BOOTLOADER)
-               return snprintf(buf, PAGE_SIZE, "[bootloader] lcd\n");
+               return sysfs_emit(buf, "[bootloader] lcd\n");
        else
-               return snprintf(buf, PAGE_SIZE, "bootloader [lcd]\n");
+               return sysfs_emit(buf, "bootloader [lcd]\n");
 }
 
 static ssize_t picolcd_operation_mode_store(struct device *dev,
@@ -301,7 +301,7 @@ static ssize_t picolcd_operation_mode_delay_show(struct device *dev,
 {
        struct picolcd_data *data = dev_get_drvdata(dev);
 
-       return snprintf(buf, PAGE_SIZE, "%hu\n", data->opmode_delay);
+       return sysfs_emit(buf, "%hu\n", data->opmode_delay);
 }
 
 static ssize_t picolcd_operation_mode_delay_store(struct device *dev,
index d7dddd99d325e89dac318519de5178978485d980..063f9c01d2f73899811a319a1c35a7c6919c1fa1 100644 (file)
@@ -421,12 +421,10 @@ static ssize_t picolcd_fb_update_rate_show(struct device *dev,
        size_t ret = 0;
 
        for (i = 1; i <= PICOLCDFB_UPDATE_RATE_LIMIT; i++)
-               if (ret >= PAGE_SIZE)
-                       break;
-               else if (i == fb_update_rate)
-                       ret += scnprintf(buf+ret, PAGE_SIZE-ret, "[%u] ", i);
+               if (i == fb_update_rate)
+                       ret += sysfs_emit_at(buf, ret, "[%u] ", i);
                else
-                       ret += scnprintf(buf+ret, PAGE_SIZE-ret, "%u ", i);
+                       ret += sysfs_emit_at(buf, ret, "%u ", i);
        if (ret > 0)
                buf[min(ret, (size_t)PAGE_SIZE)-1] = '\n';
        return ret;