On 3/19/24 10:23, Li Zhijian wrote:
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: Helge Deller <del...@gmx.de>
CC: linux-o...@vger.kernel.org
CC: linux-fb...@vger.kernel.org
CC: dri-devel@lists.freedesktop.org
Signed-off-by: Li Zhijian <lizhij...@fujitsu.com>

applied to fbdev git tree.
Thanks!
Helge

---
V3:
    split it from a mess of drm,fbdev, becuase they are not the same subsystem.

V2:
    Fix missing '+' before '=' in 
drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td043mtea1.c

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-lizhij...@fujitsu.com/
---
  .../omap2/omapfb/displays/panel-tpo-td043mtea1.c     | 12 ++++--------
  1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td043mtea1.c 
b/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td043mtea1.c
index 477789cff8e0..3624452e1dd0 100644
--- a/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td043mtea1.c
+++ b/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td043mtea1.c
@@ -228,14 +228,10 @@ static ssize_t tpo_td043_gamma_show(struct device *dev,
        int ret;
        int i;

-       for (i = 0; i < ARRAY_SIZE(ddata->gamma); i++) {
-               ret = snprintf(buf + len, PAGE_SIZE - len, "%u ",
-                               ddata->gamma[i]);
-               if (ret < 0)
-                       return ret;
-               len += ret;
-       }
-       buf[len - 1] = '\n';
+       for (i = 0; i < ARRAY_SIZE(ddata->gamma); i++)
+               len += sysfs_emit_at(buf, len, "%u ", ddata->gamma[i]);
+       if (len)
+               buf[len - 1] = '\n';

        return len;
  }

Reply via email to