[PATCH] scsi: hisi_sas: use sysfs_emit() in v3 hw show() functions

Khaled Elnaggar posted 1 patch 2 months, 3 weeks ago
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
[PATCH] scsi: hisi_sas: use sysfs_emit() in v3 hw show() functions
Posted by Khaled Elnaggar 2 months, 3 weeks ago
Replace scnprintf() with sysfs_emit() in several sysfs show()
callbacks in hisi_sas_v3_hw.c. This is recommended in
Documentation/filesystems/sysfs.rst for formatting values returned to
userspace.

Signed-off-by: Khaled Elnaggar <khaledelnaggarlinux@gmail.com>
---
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index bc5d5356dd00..84bc02f7da27 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -2849,7 +2849,7 @@ static void wait_cmds_complete_timeout_v3_hw(struct hisi_hba *hisi_hba,
 static ssize_t intr_conv_v3_hw_show(struct device *dev,
 				    struct device_attribute *attr, char *buf)
 {
-	return scnprintf(buf, PAGE_SIZE, "%u\n", hisi_sas_intr_conv);
+	return sysfs_emit(buf, "%u\n", hisi_sas_intr_conv);
 }
 static DEVICE_ATTR_RO(intr_conv_v3_hw);
 
@@ -2881,8 +2881,7 @@ static ssize_t intr_coal_ticks_v3_hw_show(struct device *dev,
 	struct Scsi_Host *shost = class_to_shost(dev);
 	struct hisi_hba *hisi_hba = shost_priv(shost);
 
-	return scnprintf(buf, PAGE_SIZE, "%u\n",
-			 hisi_hba->intr_coal_ticks);
+	return sysfs_emit(buf, "%u\n", hisi_hba->intr_coal_ticks);
 }
 
 static ssize_t intr_coal_ticks_v3_hw_store(struct device *dev,
@@ -2920,8 +2919,7 @@ static ssize_t intr_coal_count_v3_hw_show(struct device *dev,
 	struct Scsi_Host *shost = class_to_shost(dev);
 	struct hisi_hba *hisi_hba = shost_priv(shost);
 
-	return scnprintf(buf, PAGE_SIZE, "%u\n",
-			 hisi_hba->intr_coal_count);
+	return sysfs_emit(buf, "%u\n", hisi_hba->intr_coal_count);
 }
 
 static ssize_t intr_coal_count_v3_hw_store(struct device *dev,
@@ -2959,8 +2957,7 @@ static ssize_t iopoll_q_cnt_v3_hw_show(struct device *dev,
 	struct Scsi_Host *shost = class_to_shost(dev);
 	struct hisi_hba *hisi_hba = shost_priv(shost);
 
-	return scnprintf(buf, PAGE_SIZE, "%u\n",
-			 hisi_hba->iopoll_q_cnt);
+	return sysfs_emit(buf, "%u\n", hisi_hba->iopoll_q_cnt);
 }
 static DEVICE_ATTR_RO(iopoll_q_cnt_v3_hw);
 
-- 
2.47.2
Re: [PATCH] scsi: hisi_sas: use sysfs_emit() in v3 hw show() functions
Posted by Greg KH 2 months, 3 weeks ago
On Sat, Jul 12, 2025 at 05:28:03PM +0300, Khaled Elnaggar wrote:
> Replace scnprintf() with sysfs_emit() in several sysfs show()
> callbacks in hisi_sas_v3_hw.c. This is recommended in
> Documentation/filesystems/sysfs.rst for formatting values returned to
> userspace.

For new users, yes, but what's wrong with these existing calls?  They
still work properly, so why change them?

thanks,

greg k-h
Re: [PATCH] scsi: hisi_sas: use sysfs_emit() in v3 hw show() functions
Posted by Bart Van Assche 2 months, 3 weeks ago
On 7/12/25 7:43 AM, Greg KH wrote:
> On Sat, Jul 12, 2025 at 05:28:03PM +0300, Khaled Elnaggar wrote:
>> Replace scnprintf() with sysfs_emit() in several sysfs show()
>> callbacks in hisi_sas_v3_hw.c. This is recommended in
>> Documentation/filesystems/sysfs.rst for formatting values returned to
>> userspace.
> 
> For new users, yes, but what's wrong with these existing calls?  They
> still work properly, so why change them?

How about making this explicit in Documentation/filesystems/sysfs.rst?
I think that would help to stop the steady stream of patches for
converting existing sysfs show callbacks to sysfs_emit()/sysfs_emit_at().

Thanks,

Bart.
Re: [PATCH] scsi: hisi_sas: use sysfs_emit() in v3 hw show() functions
Posted by Greg KH 2 months, 3 weeks ago
On Sun, Jul 13, 2025 at 10:58:54AM -0700, Bart Van Assche wrote:
> On 7/12/25 7:43 AM, Greg KH wrote:
> > On Sat, Jul 12, 2025 at 05:28:03PM +0300, Khaled Elnaggar wrote:
> > > Replace scnprintf() with sysfs_emit() in several sysfs show()
> > > callbacks in hisi_sas_v3_hw.c. This is recommended in
> > > Documentation/filesystems/sysfs.rst for formatting values returned to
> > > userspace.
> > 
> > For new users, yes, but what's wrong with these existing calls?  They
> > still work properly, so why change them?
> 
> How about making this explicit in Documentation/filesystems/sysfs.rst?
> I think that would help to stop the steady stream of patches for
> converting existing sysfs show callbacks to sysfs_emit()/sysfs_emit_at().

Patches gladly accepted :)
Re: [PATCH] scsi: hisi_sas: use sysfs_emit() in v3 hw show() functions
Posted by Khaled Elnaggar 2 months, 3 weeks ago
On 12/07/2025 5:43 pm, Greg KH wrote:
> On Sat, Jul 12, 2025 at 05:28:03PM +0300, Khaled Elnaggar wrote:
>> Replace scnprintf() with sysfs_emit() in several sysfs show()
>> callbacks in hisi_sas_v3_hw.c. This is recommended in
>> Documentation/filesystems/sysfs.rst for formatting values returned to
>> userspace.
> 
> For new users, yes, but what's wrong with these existing calls?  They
> still work properly, so why change them?
> 
> thanks,
> 
> greg k-h

Oh okay, got it. I was under the impression that older scnprintf()
calls should be actively replaced  with sysfs_emit(). But no need if
they just work, unless there is a bug or something.

Thanks for the clarification.