[PATCH v5] iio: proximity: srf08: Replace sprintf() with sysfs_emit()

Maxwell Doose posted 1 patch 1 month, 3 weeks ago
drivers/iio/proximity/srf08.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
[PATCH v5] iio: proximity: srf08: Replace sprintf() with sysfs_emit()
Posted by Maxwell Doose 1 month, 3 weeks ago
Replace sprintf() function calls with sysfs_emit() and
sysfs_emit_at(). While the current code is fine, sysfs_emit() is
preferred over sprintf(), and will help modernize the driver.

Signed-off-by: Maxwell Doose <m32285159@gmail.com>
---
  v2:
 - Fixed indenting of sysfs_emit call in function srf08_show_range_mm.
 - Optimized return sequence in function srf08_show_sensitivity by
   directly returning instead of modifying a variable and then
   returning.

 v3:
 - Changed indenting of sysfs_emit() call in function
   srf08_show_range_mm() per Andy Shevchenko's request.
 - Clarified commit message details.

 v4:
 - Changed sysfs_emit() call in function srf08_show_range()
   to be on one line to resolve issues around indentation
   alignment.
 - Clarified commit message details again.

 v5:
 - Reversed decision to put sysfs_emit() call on one line per Jonathan
   Cameron's request.
 - Fixed some of my editor's tab-spacing issues


 drivers/iio/proximity/srf08.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/iio/proximity/srf08.c b/drivers/iio/proximity/srf08.c
index d7e4cc48cfbf..2ec8d0732763 100644
--- a/drivers/iio/proximity/srf08.c
+++ b/drivers/iio/proximity/srf08.c
@@ -226,7 +226,7 @@ static int srf08_read_raw(struct iio_dev *indio_dev,
 static ssize_t srf08_show_range_mm_available(struct device *dev,
 				struct device_attribute *attr, char *buf)
 {
-	return sprintf(buf, "[0.043 0.043 11.008]\n");
+	return sysfs_emit(buf, "[0.043 0.043 11.008]\n");
 }
 
 static IIO_DEVICE_ATTR(sensor_max_range_available, S_IRUGO,
@@ -238,8 +238,8 @@ static ssize_t srf08_show_range_mm(struct device *dev,
 	struct iio_dev *indio_dev = dev_to_iio_dev(dev);
 	struct srf08_data *data = iio_priv(indio_dev);
 
-	return sprintf(buf, "%d.%03d\n", data->range_mm / 1000,
-						data->range_mm % 1000);
+	return sysfs_emit(buf, "%d.%03d\n",
+			  data->range_mm / 1000, data->range_mm % 1000);
 }
 
 /*
@@ -316,10 +316,10 @@ static ssize_t srf08_show_sensitivity_available(struct device *dev,
 
 	for (i = 0; i < data->chip_info->num_sensitivity_avail; i++)
 		if (data->chip_info->sensitivity_avail[i])
-			len += sprintf(buf + len, "%d ",
+			len += sysfs_emit_at(buf, len, "%d ",
 				data->chip_info->sensitivity_avail[i]);
 
-	len += sprintf(buf + len, "\n");
+	len += sysfs_emit_at(buf, len, "\n");
 
 	return len;
 }
@@ -332,11 +332,8 @@ static ssize_t srf08_show_sensitivity(struct device *dev,
 {
 	struct iio_dev *indio_dev = dev_to_iio_dev(dev);
 	struct srf08_data *data = iio_priv(indio_dev);
-	int len;
 
-	len = sprintf(buf, "%d\n", data->sensitivity);
-
-	return len;
+	return sysfs_emit(buf, "%d\n", data->sensitivity);
 }
 
 static ssize_t srf08_write_sensitivity(struct srf08_data *data,
-- 
2.53.0
Re: [PATCH v5] iio: proximity: srf08: Replace sprintf() with sysfs_emit()
Posted by Andy Shevchenko 1 month, 3 weeks ago
On Wed, Apr 22, 2026 at 07:45:05AM -0500, Maxwell Doose wrote:
> Replace sprintf() function calls with sysfs_emit() and
> sysfs_emit_at(). While the current code is fine, sysfs_emit() is
> preferred over sprintf(), and will help modernize the driver.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>

...

>  v5:
>  - Reversed decision to put sysfs_emit() call on one line per Jonathan
>    Cameron's request.

Oh, I missed that. In any case I consider my suggestion is still better,
it keeps driver in limits and makes the wrap on logical boundary.

>  - Fixed some of my editor's tab-spacing issues

-- 
With Best Regards,
Andy Shevchenko
Re: [PATCH v5] iio: proximity: srf08: Replace sprintf() with sysfs_emit()
Posted by Jonathan Cameron 1 month, 3 weeks ago
On Wed, 22 Apr 2026 15:53:55 +0300
Andy Shevchenko <andriy.shevchenko@intel.com> wrote:

> On Wed, Apr 22, 2026 at 07:45:05AM -0500, Maxwell Doose wrote:
> > Replace sprintf() function calls with sysfs_emit() and
> > sysfs_emit_at(). While the current code is fine, sysfs_emit() is
> > preferred over sprintf(), and will help modernize the driver.  
> 
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
> 
> ...
> 
> >  v5:
> >  - Reversed decision to put sysfs_emit() call on one line per Jonathan
> >    Cameron's request.  
> 
> Oh, I missed that. In any case I consider my suggestion is still better,
> it keeps driver in limits and makes the wrap on logical boundary.
I'm a bit lost on which of us is asking for what and can't figure it out
from the patch history.  Anyhow, I did make one tweak whilst applying -
I think some confusion occurred as I don't think we'd disagree on this one
and you called it out in an earlier review.

diff --git a/drivers/iio/proximity/srf08.c b/drivers/iio/proximity/srf08.c
index 2ec8d0732763..92a37ba331f6 100644
--- a/drivers/iio/proximity/srf08.c
+++ b/drivers/iio/proximity/srf08.c
@@ -317,7 +317,7 @@ static ssize_t srf08_show_sensitivity_available(struct device *dev,
        for (i = 0; i < data->chip_info->num_sensitivity_avail; i++)
                if (data->chip_info->sensitivity_avail[i])
                        len += sysfs_emit_at(buf, len, "%d ",
-                               data->chip_info->sensitivity_avail[i]);
+                                            data->chip_info->sensitivity_avail[i]);
 
        len += sysfs_emit_at(buf, len, "\n");

It's only just over 80 chars and flipping to 
		if (!data->chip_info->sensitivity_avail[i])
			continue;
		len += sysfs_emit_at(..

doesn't seem worth the effort.
 
With that applied to the testing branch of iio.git.

Thanks,

Jonathan

> 
> >  - Fixed some of my editor's tab-spacing issues  
>
Re: [PATCH v5] iio: proximity: srf08: Replace sprintf() with sysfs_emit()
Posted by Maxwell Doose 1 month, 3 weeks ago
On Fri, Apr 24, 2026 at 12:53 PM Jonathan Cameron <jic23@kernel.org> wrote:
> I'm a bit lost on which of us is asking for what and can't figure it out
> from the patch history.  Anyhow, I did make one tweak whilst applying -
> I think some confusion occurred as I don't think we'd disagree on this one
> and you called it out in an earlier review.
>
[snip]
>
> With that applied to the testing branch of iio.git.
>
> Thanks,
>
> Jonathan
>

Glad this patch got through and we got this worked out. Looking
forward to contributing more!

best regards,
maxwell