[PATCH v3] drm/panel: tpo-td043mtea1: Convert sprintf() family to sysfs_emit() family
From: Li Zhijian
Date: Tue Mar 19 2024 - 05:23:30 EST
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: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
CC: Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>
CC: Sam Ravnborg <sam@xxxxxxxxxxxx>
CC: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>
CC: Maxime Ripard <mripard@xxxxxxxxxx>
CC: Thomas Zimmermann <tzimmermann@xxxxxxx>
CC: David Airlie <airlied@xxxxxxxxx>
CC: Daniel Vetter <daniel@xxxxxxxx>
CC: dri-devel@xxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Li Zhijian <lizhijian@xxxxxxxxxxx>
---
V3:
split it from a mess of drm,fbdev because they are not the same subsystem.
This is a part of the work "Fix coccicheck device_attr_show warnings"[1]
Split them per subsystem so that the maintainer can review it easily
[1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@xxxxxxxxxxx/
---
drivers/gpu/drm/panel/panel-tpo-td043mtea1.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c b/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c
index cf4609bb9b1d..0983fe47eb5a 100644
--- a/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c
@@ -242,16 +242,11 @@ static ssize_t gamma_show(struct device *dev, struct device_attribute *attr,
struct td043mtea1_panel *lcd = dev_get_drvdata(dev);
ssize_t len = 0;
unsigned int i;
- int ret;
- for (i = 0; i < ARRAY_SIZE(lcd->gamma); i++) {
- ret = snprintf(buf + len, PAGE_SIZE - len, "%u ",
- lcd->gamma[i]);
- if (ret < 0)
- return ret;
- len += ret;
- }
- buf[len - 1] = '\n';
+ for (i = 0; i < ARRAY_SIZE(lcd->gamma); i++)
+ len += sysfs_emit_at(buf, len, "%u ", lcd->gamma[i]);
+ if (len)
+ buf[len - 1] = '\n';
return len;
}
--
2.29.2