[PATCH v3] drm/panel: tpo-td043mtea1: Convert sprintf() family to sysfs_emit() family

2024-03-19 Thread Li Zhijian
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= MODE=patch \
COCCI=scripts/coccinelle/api/device_attr_show.cocci

No functional change intended

CC: Neil Armstrong 
CC: Jessica Zhang 
CC: Sam Ravnborg 
CC: Maarten Lankhorst 
CC: Maxime Ripard 
CC: Thomas Zimmermann 
CC: David Airlie 
CC: Daniel Vetter 
CC: dri-devel@lists.freedesktop.org
Signed-off-by: Li Zhijian 
---
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-lizhij...@fujitsu.com/
---
 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



[PATCH v3] video: fbdev: panel-tpo-td043mtea1: Convert sprintf() family to sysfs_emit() family

2024-03-19 Thread Li Zhijian
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= MODE=patch \
COCCI=scripts/coccinelle/api/device_attr_show.cocci

No functional change intended

CC: Helge Deller 
CC: linux-o...@vger.kernel.org
CC: linux-fb...@vger.kernel.org
CC: dri-devel@lists.freedesktop.org
Signed-off-by: Li Zhijian 
---
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;
 }
-- 
2.29.2



[PATCH] drm, fbdev: td043mtea1: Convert sprintf() family to sysfs_emit() family

2024-03-19 Thread Li Zhijian
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= MODE=patch \
COCCI=scripts/coccinelle/api/device_attr_show.cocci

No functional change intended

CC: Neil Armstrong 
CC: Jessica Zhang 
CC: Sam Ravnborg 
CC: Maarten Lankhorst 
CC: Maxime Ripard 
CC: Thomas Zimmermann 
CC: David Airlie 
CC: Daniel Vetter 
CC: Helge Deller 
CC: linux-o...@vger.kernel.org
CC: linux-fb...@vger.kernel.org
CC: dri-devel@lists.freedesktop.org
Signed-off-by: Li Zhijian 
---
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/
---
 drivers/gpu/drm/panel/panel-tpo-td043mtea1.c| 13 -
 .../omap2/omapfb/displays/panel-tpo-td043mtea1.c| 12 
 2 files changed, 8 insertions(+), 17 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;
 }
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..040a17a05baa 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;
 }
-- 
2.29.2



[PATCH v2] drm, fbdev: td043mtea1: Convert sprintf() family to sysfs_emit() family

2024-03-19 Thread Li Zhijian
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= MODE=patch \
COCCI=scripts/coccinelle/api/device_attr_show.cocci

No functional change intended

CC: Neil Armstrong 
CC: Jessica Zhang 
CC: Sam Ravnborg 
CC: Maarten Lankhorst 
CC: Maxime Ripard 
CC: Thomas Zimmermann 
CC: David Airlie 
CC: Daniel Vetter 
CC: Helge Deller 
CC: linux-o...@vger.kernel.org
CC: linux-fb...@vger.kernel.org
CC: dri-devel@lists.freedesktop.org
Signed-off-by: Li Zhijian 
---
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/
---
 drivers/gpu/drm/panel/panel-tpo-td043mtea1.c| 13 -
 .../omap2/omapfb/displays/panel-tpo-td043mtea1.c| 12 
 2 files changed, 8 insertions(+), 17 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;
 }
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;
 }
-- 
2.29.2



[PATCH v2] fbdev: uvesafb: Convert sprintf/snprintf to sysfs_emit

2024-03-14 Thread Li Zhijian
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() will be converted as weel if they have.

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

No functional change intended

CC: Helge Deller 
CC: linux-fb...@vger.kernel.org
CC: dri-devel@lists.freedesktop.org
Signed-off-by: Li Zhijian 
---
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/
---
 drivers/video/fbdev/uvesafb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c
index e1f421e91b4f..73f00c079a94 100644
--- a/drivers/video/fbdev/uvesafb.c
+++ b/drivers/video/fbdev/uvesafb.c
@@ -1546,7 +1546,7 @@ static ssize_t uvesafb_show_vbe_ver(struct device *dev,
struct fb_info *info = dev_get_drvdata(dev);
struct uvesafb_par *par = info->par;
 
-   return snprintf(buf, PAGE_SIZE, "%.4x\n", par->vbe_ib.vbe_version);
+   return sysfs_emit(buf, "%.4x\n", par->vbe_ib.vbe_version);
 }
 
 static DEVICE_ATTR(vbe_version, S_IRUGO, uvesafb_show_vbe_ver, NULL);
-- 
2.29.2



[PATCH 41/42] drivers/video/fbdev/uvesafb: Convert snprintf to sysfs_emit

2024-01-16 Thread Li Zhijian
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().

> ./drivers/video/fbdev/uvesafb.c:1549:8-16: WARNING: please use sysfs_emit

No functional change intended

CC: Helge Deller 
CC: linux-fb...@vger.kernel.org
CC: dri-devel@lists.freedesktop.org
Signed-off-by: Li Zhijian 
---
 drivers/video/fbdev/uvesafb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c
index e1f421e91b4f..73f00c079a94 100644
--- a/drivers/video/fbdev/uvesafb.c
+++ b/drivers/video/fbdev/uvesafb.c
@@ -1546,7 +1546,7 @@ static ssize_t uvesafb_show_vbe_ver(struct device *dev,
struct fb_info *info = dev_get_drvdata(dev);
struct uvesafb_par *par = info->par;
 
-   return snprintf(buf, PAGE_SIZE, "%.4x\n", par->vbe_ib.vbe_version);
+   return sysfs_emit(buf, "%.4x\n", par->vbe_ib.vbe_version);
 }
 
 static DEVICE_ATTR(vbe_version, S_IRUGO, uvesafb_show_vbe_ver, NULL);
-- 
2.29.2



[PATCH 00/42] Fix coccicheck warnings

2024-01-16 Thread Li Zhijian
ionlinux@broadcom.com 
CC: Namhyung Kim  
CC: "Naveen N. Rao"  
CC: net...@vger.kernel.org 
CC: Nicholas Piggin  
CC: Nicolas Palix  
CC: Nilesh Javali  
CC: Parthiban Veerasooran  
CC: Peter Zijlstra  
CC: platform-driver-...@vger.kernel.org 
CC: Richard Cochran  
CC: Robert Richter  
CC: Russell King  
CC: Sathya Prakash  
CC: Satish Kharat  
CC: Sesidhar Baddela  
CC: Shivasharan S  
CC: Sreekanth Reddy  
CC: Srinivas Pandruvada  
CC: Stefan Achatz  
CC: storage...@microchip.com 
CC: Stuart Yoder  
CC: Suganath Prabu Subramani  
CC: Sumit Saxena  
CC: target-de...@vger.kernel.org 
CC: Thomas Gleixner  
CC: Tony Luck  
CC: Tyrel Datwyler  
CC: Vadim Pasternak  
CC: x...@kernel.org 

Li Zhijian (42):
  coccinelle: device_attr_show.cocci: update description and warning
message
  arch/arm/mm: Convert snprintf to sysfs_emit
  arch/x86/events/amd: Convert snprintf to sysfs_emit
  arch/x86/events/core: Convert snprintf to sysfs_emit
  arch/x86/events/intel: Convert snprintf to sysfs_emit
  drivers/bus/fsl-mc: Convert snprintf to sysfs_emit
  drivers/edac: Convert snprintf to sysfs_emit
  drivers/fsi: Convert snprintf to sysfs_emit
  drivers/hid/hid-lenovo: Convert snprintf to sysfs_emit
  drivers/hid/hid-roccat-*: Convert snprintf to sysfs_emit
  drivers/hid: Convert snprintf to sysfs_emit
  drivers/message/fusion: Convert snprintf to sysfs_emit
  drivers/most: Convert snprintf to sysfs_emit
  drivers/platform/mellanox: Convert snprintf to sysfs_emit
  drivers/ptp: Convert snprintf to sysfs_emit
  drivers/scsi/53c700: Convert snprintf to sysfs_emit
  drivers/scsi/aacraid: Convert snprintf to sysfs_emit
  drivers/scsi/aic94xx: Convert snprintf to sysfs_emit
  drivers/scsi/arcmsr: Convert snprintf to sysfs_emit
  drivers/scsi/be2iscsi: Convert snprintf to sysfs_emit
  drivers/scsi/fcoe: Convert snprintf to sysfs_emit
  drivers/scsi/fnic: Convert snprintf to sysfs_emit
  drivers/scsi/hpsa: Convert snprintf to sysfs_emit
  drivers/scsi/hptiop: Convert snprintf to sysfs_emit
  drivers/scsi/ibmvscsi: Convert snprintf to sysfs_emit
  drivers/scsi/ibmvscsi_tgt: Convert snprintf to sysfs_emit
  drivers/scsi/isci: Convert snprintf to sysfs_emit
  drivers/scsi/megaraid: Convert snprintf to sysfs_emit
  drivers/scsi/mpt3sas: Convert snprintf to sysfs_emit
  drivers/scsi/myrb: Convert snprintf to sysfs_emit
  drivers/scsi/myrs: Convert snprintf to sysfs_emit
  drivers/scsi/ncr53c8xx: Convert snprintf to sysfs_emit
  drivers/scsi/pcmcia/sym53c500_cs: Convert snprintf to sysfs_emit
  drivers/scsi/pm8001: Convert snprintf to sysfs_emit
  drivers/scsi/pmcraid: Convert snprintf to sysfs_emit
  drivers/scsi/qla4xxx/ql4_attr: Convert snprintf to sysfs_emit
  drivers/scsi/scsi_sysfs: Convert snprintf to sysfs_emit
  drivers/scsi/scsi_transport_fc: Convert snprintf to sysfs_emit
  drivers/scsi/scsi_transport_sas: Convert snprintf to sysfs_emit
  drivers/scsi/snic/snic_attrs: Convert snprintf to sysfs_emit
  drivers/video/fbdev/uvesafb: Convert snprintf to sysfs_emit
  kernel/cpu: Convert snprintf to sysfs_emit

 arch/arm/mm/cache-l2x0-pmu.c  |  2 +-
 arch/x86/events/amd/core.c|  2 +-
 arch/x86/events/core.c|  6 +-
 arch/x86/events/intel/core.c  |  6 +-
 arch/x86/events/intel/pt.c|  2 +-
 drivers/bus/fsl-mc/fsl-mc-bus.c   |  2 +-
 drivers/edac/edac_mc_sysfs.c  |  5 +-
 drivers/fsi/fsi-master-ast-cf.c   |  3 +-
 drivers/fsi/fsi-master-gpio.c |  3 +-
 drivers/hid/hid-lenovo.c  | 19 +++---
 drivers/hid/hid-picolcd_core.c|  6 +-
 drivers/hid/hid-roccat-isku.c |  2 +-
 drivers/hid/hid-roccat-kone.c | 12 ++--
 drivers/hid/hid-roccat-koneplus.c |  4 +-
 drivers/hid/hid-roccat-kovaplus.c | 10 +--
 drivers/hid/hid-roccat-pyra.c |  6 +-
 drivers/hid/hid-sensor-custom.c   |  3 +-
 drivers/message/fusion/mptscsih.c | 25 
 drivers/most/core.c   | 61 +--
 drivers/platform/mellanox/mlxbf-bootctl.c | 14 ++---
 drivers/ptp/ptp_sysfs.c   |  3 +-
 drivers/scsi/53c700.c |  2 +-
 drivers/scsi/aacraid/linit.c  | 17 +++---
 drivers/scsi/aic94xx/aic94xx_init.c   | 15 +++--
 drivers/scsi/arcmsr/arcmsr_attr.c | 40 +++-
 drivers/scsi/be2iscsi/be_mgmt.c   | 20 +++---
 drivers/scsi/fcoe/fcoe_sysfs.c|  8 +--
 drivers/scsi/fnic/fnic_attrs.c|  7 +--
 drivers/scsi/hpsa.c   | 36 +--
 drivers/scsi/hptiop.c |  4 +-
 drivers/scsi/ibmvscsi/ibmvfc.c| 22 +++
 drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c  |  6 +-
 drivers/scsi/isci/init.c  |  2 +-
 drivers/scsi/megaraid/megaraid_sas_base.c | 15 +++--