From: "Bruno Prémont" <bonbons@sysophe.eu>
To: Li Zhijian <lizhijian@fujitsu.com>
Cc: linux-kernel@vger.kernel.org, Jiri Kosina <jikos@kernel.org>,
Benjamin Tissoires <benjamin.tissoires@redhat.com>,
Jonathan Cameron <jic23@kernel.org>,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
linux-input@vger.kernel.org
Subject: Re: [PATCH 11/42] drivers/hid: Convert snprintf to sysfs_emit
Date: Sat, 24 Feb 2024 17:59:29 +0100 [thread overview]
Message-ID: <20240224175929.6ea8d4f9@hemera.lan.sysophe.eu> (raw)
In-Reply-To: <20240116045151.3940401-9-lizhijian@fujitsu.com>
Hi Li,
While only looking for the snprintf() in your coccinelle analysis you
probably also want to look for sprintf() (see e.g. else clause in
hid-sensor-custom.c and scnprintf() (see picolcd_fb_update_rate_show
in hid-picolcd_fb.c) to replace more s*printf() calls with sysfs_emit*
variants.
diff --git a/drivers/hid/hid-picolcd_fb.c b/drivers/hid/hid-picolcd_fb.c
index d726aaafb146..03074d25d662 100644
--- a/drivers/hid/hid-picolcd_fb.c
+++ b/drivers/hid/hid-picolcd_fb.c
@@ -459,9 +459,9 @@ static ssize_t picolcd_fb_update_rate_show(struct device *dev,
if (ret >= PAGE_SIZE)
break;
else if (i == fb_update_rate)
- ret += scnprintf(buf+ret, PAGE_SIZE-ret, "[%u] ", i);
+ 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;
For hid-picolcd-*.c,
Acked-by: Bruno Prémont <bonbons@linux-vserver.org>
but preferably with the scnprintf() case is covered too.
Cheers,
Bruno
On Tue, 16 Jan 2024 12:51:20 +0800 Li Zhijian wrote:
> Per Documentation/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/hid/hid-picolcd_core.c:259:9-17: WARNING: please use sysfs_emit
> > ./drivers/hid/hid-picolcd_core.c:304:8-16: WARNING: please use sysfs_emit
> > ./drivers/hid/hid-sensor-custom.c:375:10-18: WARNING: please use sysfs_emi
>
> No functional change intended
>
> CC: "Bruno Prémont" <bonbons@linux-vserver.org>
> CC: Jiri Kosina <jikos@kernel.org>
> CC: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> CC: Jonathan Cameron <jic23@kernel.org>
> CC: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> CC: linux-input@vger.kernel.org
> Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
> ---
> drivers/hid/hid-picolcd_core.c | 6 +++---
> drivers/hid/hid-sensor-custom.c | 3 +--
> 2 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/hid/hid-picolcd_core.c b/drivers/hid/hid-picolcd_core.c
> index bbda231a7ce3..fa46fb6eab3f 100644
> --- a/drivers/hid/hid-picolcd_core.c
> +++ b/drivers/hid/hid-picolcd_core.c
> @@ -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,
> diff --git a/drivers/hid/hid-sensor-custom.c b/drivers/hid/hid-sensor-custom.c
> index d85398721659..4fe8dccf671d 100644
> --- a/drivers/hid/hid-sensor-custom.c
> +++ b/drivers/hid/hid-sensor-custom.c
> @@ -372,8 +372,7 @@ static ssize_t show_value(struct device *dev, struct device_attribute *attr,
> sizeof(struct hid_custom_usage_desc),
> usage_id_cmp);
> if (usage_desc)
> - return snprintf(buf, PAGE_SIZE, "%s\n",
> - usage_desc->desc);
> + return sysfs_emit(buf, "%s\n", usage_desc->desc);
> else
> return sprintf(buf, "not-specified\n");
Shouldn't the sprintf() in the else clause be replaced as well?
> } else
next prev parent reply other threads:[~2024-02-24 17:08 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-16 4:10 [cocci] [PATCH 00/42] Fix coccicheck warnings Li Zhijian
2024-01-16 4:10 ` Li Zhijian
2024-01-16 4:10 ` Li Zhijian
2024-01-16 4:10 ` Li Zhijian
2024-01-16 4:10 ` [cocci] [PATCH 01/42] coccinelle: device_attr_show.cocci: update description and warning message Li Zhijian
2024-01-16 4:10 ` Li Zhijian
2024-01-18 20:26 ` [cocci] " Julia Lawall
2024-01-18 20:26 ` Julia Lawall
2024-01-19 2:53 ` [cocci] " Zhijian Li (Fujitsu)
2024-01-19 2:53 ` Zhijian Li (Fujitsu)
2024-01-19 6:25 ` [cocci] " Zhijian Li (Fujitsu)
2024-01-19 6:25 ` Zhijian Li (Fujitsu)
2024-01-16 4:10 ` [PATCH 02/42] arch/arm/mm: Convert snprintf to sysfs_emit Li Zhijian
2024-01-16 4:10 ` Li Zhijian
2024-01-16 4:51 ` [PATCH 03/42] arch/x86/events/amd: " Li Zhijian
2024-01-16 4:51 ` [PATCH 04/42] arch/x86/events/core: " Li Zhijian
2024-01-16 7:01 ` Adrian Hunter
2024-01-16 7:35 ` Zhijian Li (Fujitsu)
2024-01-16 4:51 ` [PATCH 05/42] arch/x86/events/intel: " Li Zhijian
2024-01-19 22:00 ` Namhyung Kim
2024-01-22 2:59 ` Zhijian Li (Fujitsu)
2024-01-16 4:51 ` [PATCH 06/42] drivers/bus/fsl-mc: " Li Zhijian
2024-01-16 4:51 ` [PATCH 07/42] drivers/edac: " Li Zhijian
2024-01-16 4:51 ` [PATCH 08/42] drivers/fsi: " Li Zhijian
2024-01-17 14:19 ` Eddie James
2024-01-16 4:51 ` [PATCH 09/42] drivers/hid/hid-lenovo: " Li Zhijian
2024-01-16 4:51 ` [PATCH 10/42] drivers/hid/hid-roccat-*: " Li Zhijian
2024-01-16 4:51 ` [PATCH 11/42] drivers/hid: " Li Zhijian
2024-02-24 16:59 ` Bruno Prémont [this message]
2024-02-28 9:56 ` Zhijian Li (Fujitsu)
2024-01-16 4:51 ` [PATCH 12/42] drivers/message/fusion: " Li Zhijian
2024-01-16 4:51 ` [PATCH 13/42] drivers/most: " Li Zhijian
2024-01-16 4:51 ` [PATCH 14/42] drivers/platform/mellanox: " Li Zhijian
2024-01-24 11:01 ` Ilpo Järvinen
2024-01-16 4:51 ` [PATCH 15/42] drivers/ptp: " Li Zhijian
2024-01-16 5:01 ` Rahul Rameshbabu
2024-01-16 5:52 ` Zhijian Li (Fujitsu)
2024-01-16 15:33 ` Jakub Kicinski
2024-01-17 5:39 ` Zhijian Li (Fujitsu)
2024-01-16 4:51 ` [PATCH 16/42] drivers/scsi/53c700: " Li Zhijian
2024-01-16 4:51 ` [PATCH 17/42] drivers/scsi/aacraid: " Li Zhijian
2024-01-16 4:51 ` [PATCH 18/42] drivers/scsi/aic94xx: " Li Zhijian
2024-01-16 4:51 ` [PATCH 19/42] drivers/scsi/arcmsr: " Li Zhijian
2024-01-16 4:51 ` [PATCH 20/42] drivers/scsi/be2iscsi: " Li Zhijian
2024-01-16 4:51 ` [PATCH 21/42] drivers/scsi/fcoe: " Li Zhijian
2024-01-16 4:51 ` [PATCH 22/42] drivers/scsi/fnic: " Li Zhijian
2024-01-18 23:24 ` Karan Tilak Kumar (kartilak)
2024-01-16 4:51 ` [PATCH 23/42] drivers/scsi/hpsa: " Li Zhijian
2024-01-16 4:51 ` [PATCH 24/42] drivers/scsi/hptiop: " Li Zhijian
2024-01-16 4:51 ` [PATCH 25/42] drivers/scsi/ibmvscsi: " Li Zhijian
2024-01-16 4:51 ` Li Zhijian
2024-01-16 21:38 ` Tyrel Datwyler
2024-01-16 21:38 ` Tyrel Datwyler
2024-01-16 4:51 ` [PATCH 26/42] drivers/scsi/ibmvscsi_tgt: " Li Zhijian
2024-01-16 21:38 ` Tyrel Datwyler
2024-01-16 4:51 ` [PATCH 27/42] drivers/scsi/isci: " Li Zhijian
2024-01-16 7:24 ` Artur Paszkiewicz
2024-01-16 4:51 ` [PATCH 28/42] drivers/scsi/megaraid: " Li Zhijian
2024-01-16 4:51 ` [PATCH 29/42] drivers/scsi/mpt3sas: " Li Zhijian
2024-01-16 4:51 ` [PATCH 30/42] drivers/scsi/myrb: " Li Zhijian
2024-01-16 4:51 ` [PATCH 31/42] drivers/scsi/myrs: " Li Zhijian
2024-01-16 4:51 ` [PATCH 32/42] drivers/scsi/ncr53c8xx: " Li Zhijian
2024-01-16 4:51 ` [PATCH 33/42] drivers/scsi/pcmcia/sym53c500_cs: " Li Zhijian
2024-01-16 4:51 ` [PATCH 34/42] drivers/scsi/pm8001: " Li Zhijian
2024-01-16 5:52 ` Jinpu Wang
2024-01-16 4:51 ` [PATCH 35/42] drivers/scsi/pmcraid: " Li Zhijian
2024-01-16 4:51 ` [PATCH 36/42] drivers/scsi/qla4xxx/ql4_attr: " Li Zhijian
2024-01-16 4:51 ` [PATCH 37/42] drivers/scsi/scsi_sysfs: " Li Zhijian
2024-01-16 4:51 ` [PATCH 38/42] drivers/scsi/scsi_transport_fc: " Li Zhijian
2024-01-16 4:51 ` [PATCH 39/42] drivers/scsi/scsi_transport_sas: " Li Zhijian
2024-01-16 4:51 ` [PATCH 40/42] drivers/scsi/snic/snic_attrs: " Li Zhijian
2024-01-16 4:51 ` [PATCH 41/42] drivers/video/fbdev/uvesafb: " Li Zhijian
2024-01-16 4:51 ` Li Zhijian
2024-01-16 4:51 ` [PATCH 42/42] kernel/cpu: " Li Zhijian
2024-01-26 17:32 ` [tip: smp/core] kernel/cpu: Convert snprintf() to sysfs_emit() tip-bot2 for Li Zhijian
2024-02-06 2:07 ` [cocci] (subset) [PATCH 00/42] Fix coccicheck warnings Martin K. Petersen
2024-02-06 2:07 ` Martin K. Petersen
2024-02-06 2:07 ` Martin K. Petersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240224175929.6ea8d4f9@hemera.lan.sysophe.eu \
--to=bonbons@sysophe.eu \
--cc=benjamin.tissoires@redhat.com \
--cc=jic23@kernel.org \
--cc=jikos@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lizhijian@fujitsu.com \
--cc=srinivas.pandruvada@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.