* Re: [PATCH] staging: iio: adc: ad7816: Replace sprintf() with sysfs_emit()
2026-04-24 15:06 [PATCH] staging: iio: adc: ad7816: Replace sprintf() with sysfs_emit() kunjinkao-os
@ 2026-04-24 15:14 ` Greg Kroah-Hartman
2026-04-24 16:50 ` Jonathan Cameron
1 sibling, 0 replies; 3+ messages in thread
From: Greg Kroah-Hartman @ 2026-04-24 15:14 UTC (permalink / raw)
To: kunjinkao-os
Cc: Lars-Peter Clausen, Michael Hennerich, Jonathan Cameron,
David Lechner, Nuno Sá, Andy Shevchenko, linux-iio,
linux-staging, linux-kernel
On Fri, Apr 24, 2026 at 11:06:17PM +0800, kunjinkao-os wrote:
> sysfs_emit() is the preferred function for sysfs show callbacks as it
> is aware of the PAGE_SIZE buffer and prevents potential buffer overflows.
> No functional change intended.
>
> Signed-off-by: kunjinkao-os <kunjinkao.jp@gmail.com>
> ---
> drivers/staging/iio/adc/ad7816.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7816.c
> index 172acf135f3b..0e32a2295990 100644
> --- a/drivers/staging/iio/adc/ad7816.c
> +++ b/drivers/staging/iio/adc/ad7816.c
> @@ -124,8 +124,8 @@ static ssize_t ad7816_show_mode(struct device *dev,
> struct ad7816_chip_info *chip = iio_priv(indio_dev);
>
> if (chip->mode)
> - return sprintf(buf, "power-save\n");
> - return sprintf(buf, "full\n");
> + return sysfs_emit(buf, "power-save\n");
> + return sysfs_emit(buf, "full\n");
> }
>
> static ssize_t ad7816_store_mode(struct device *dev,
> @@ -156,7 +156,7 @@ static ssize_t ad7816_show_available_modes(struct device *dev,
> struct device_attribute *attr,
> char *buf)
> {
> - return sprintf(buf, "full\npower-save\n");
> + return sysfs_emit(buf, "full\npower-save\n");
> }
>
> static IIO_DEVICE_ATTR(available_modes, 0444, ad7816_show_available_modes,
> @@ -169,7 +169,7 @@ static ssize_t ad7816_show_channel(struct device *dev,
> struct iio_dev *indio_dev = dev_to_iio_dev(dev);
> struct ad7816_chip_info *chip = iio_priv(indio_dev);
>
> - return sprintf(buf, "%d\n", chip->channel_id);
> + return sysfs_emit(buf, "%d\n", chip->channel_id);
> }
>
> static ssize_t ad7816_store_channel(struct device *dev,
> @@ -231,9 +231,9 @@ static ssize_t ad7816_show_value(struct device *dev,
> data &= AD7816_TEMP_FLOAT_MASK;
> if (value < 0)
> data = BIT(AD7816_TEMP_FLOAT_OFFSET) - data;
> - return sprintf(buf, "%d.%.2d\n", value, data * 25);
> + return sysfs_emit(buf, "%d.%.2d\n", value, data * 25);
> }
> - return sprintf(buf, "%u\n", data);
> + return sysfs_emit(buf, "%u\n", data);
> }
>
> static IIO_DEVICE_ATTR(value, 0444, ad7816_show_value, NULL, 0);
> @@ -281,9 +281,9 @@ static ssize_t ad7816_show_oti(struct device *dev,
> value = AD7816_BOUND_VALUE_MIN +
> (chip->oti_data[chip->channel_id] -
> AD7816_BOUND_VALUE_BASE);
> - return sprintf(buf, "%d\n", value);
> + return sysfs_emit(buf, "%d\n", value);
> }
> - return sprintf(buf, "%u\n", chip->oti_data[chip->channel_id]);
> + return sysfs_emit(buf, "%u\n", chip->oti_data[chip->channel_id]);
> }
>
> static inline ssize_t ad7816_set_oti(struct device *dev,
> --
> 2.43.0
>
Hi,
This is the friendly patch-bot of Greg Kroah-Hartman. You have sent him
a patch that has triggered this response. He used to manually respond
to these common problems, but in order to save his sanity (he kept
writing the same thing over and over, yet to different people), I was
created. Hopefully you will not take offence and will fix the problem
in your patch and resubmit it so that it can be accepted into the Linux
kernel tree.
You are receiving this message because of the following common error(s)
as indicated below:
- It looks like you did not use your "real" name for the patch on either
the Signed-off-by: line, or the From: line (both of which have to
match). Please read the kernel file,
Documentation/process/submitting-patches.rst for how to do this
correctly.
- You sent a patch that has been sent multiple times in the past few
days, and is identical to ones that has been recently rejected.
Please always look at the mailing list traffic to determine if you are
duplicating other people's work.
If you wish to discuss this problem further, or you have questions about
how to resolve this issue, please feel free to respond to this email and
Greg will reply once he has dug out from the pending patches received
from other developers.
thanks,
greg k-h's patch email bot
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] staging: iio: adc: ad7816: Replace sprintf() with sysfs_emit()
2026-04-24 15:06 [PATCH] staging: iio: adc: ad7816: Replace sprintf() with sysfs_emit() kunjinkao-os
2026-04-24 15:14 ` Greg Kroah-Hartman
@ 2026-04-24 16:50 ` Jonathan Cameron
1 sibling, 0 replies; 3+ messages in thread
From: Jonathan Cameron @ 2026-04-24 16:50 UTC (permalink / raw)
To: kunjinkao-os
Cc: Greg Kroah-Hartman, Lars-Peter Clausen, Michael Hennerich,
David Lechner, Nuno Sá, Andy Shevchenko, linux-iio,
linux-staging, linux-kernel
On Fri, 24 Apr 2026 23:06:17 +0800
kunjinkao-os <kunjinkao.jp@gmail.com> wrote:
> sysfs_emit() is the preferred function for sysfs show callbacks as it
> is aware of the PAGE_SIZE buffer and prevents potential buffer overflows.
> No functional change intended.
>
> Signed-off-by: kunjinkao-os <kunjinkao.jp@gmail.com>
Before sending a patch out, check if anyone else is working on the same code.
Currently this is the 3rd instance of the same thing. I think
the first one was in this series:
https://lore.kernel.org/all/20260331072453.6530-1-mdmahmudulhasan1511@gmail.com/
> ---
> drivers/staging/iio/adc/ad7816.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7816.c
> index 172acf135f3b..0e32a2295990 100644
> --- a/drivers/staging/iio/adc/ad7816.c
> +++ b/drivers/staging/iio/adc/ad7816.c
> @@ -124,8 +124,8 @@ static ssize_t ad7816_show_mode(struct device *dev,
> struct ad7816_chip_info *chip = iio_priv(indio_dev);
>
> if (chip->mode)
> - return sprintf(buf, "power-save\n");
> - return sprintf(buf, "full\n");
> + return sysfs_emit(buf, "power-save\n");
> + return sysfs_emit(buf, "full\n");
> }
>
> static ssize_t ad7816_store_mode(struct device *dev,
> @@ -156,7 +156,7 @@ static ssize_t ad7816_show_available_modes(struct device *dev,
> struct device_attribute *attr,
> char *buf)
> {
> - return sprintf(buf, "full\npower-save\n");
> + return sysfs_emit(buf, "full\npower-save\n");
> }
>
> static IIO_DEVICE_ATTR(available_modes, 0444, ad7816_show_available_modes,
> @@ -169,7 +169,7 @@ static ssize_t ad7816_show_channel(struct device *dev,
> struct iio_dev *indio_dev = dev_to_iio_dev(dev);
> struct ad7816_chip_info *chip = iio_priv(indio_dev);
>
> - return sprintf(buf, "%d\n", chip->channel_id);
> + return sysfs_emit(buf, "%d\n", chip->channel_id);
> }
>
> static ssize_t ad7816_store_channel(struct device *dev,
> @@ -231,9 +231,9 @@ static ssize_t ad7816_show_value(struct device *dev,
> data &= AD7816_TEMP_FLOAT_MASK;
> if (value < 0)
> data = BIT(AD7816_TEMP_FLOAT_OFFSET) - data;
> - return sprintf(buf, "%d.%.2d\n", value, data * 25);
> + return sysfs_emit(buf, "%d.%.2d\n", value, data * 25);
> }
> - return sprintf(buf, "%u\n", data);
> + return sysfs_emit(buf, "%u\n", data);
> }
>
> static IIO_DEVICE_ATTR(value, 0444, ad7816_show_value, NULL, 0);
> @@ -281,9 +281,9 @@ static ssize_t ad7816_show_oti(struct device *dev,
> value = AD7816_BOUND_VALUE_MIN +
> (chip->oti_data[chip->channel_id] -
> AD7816_BOUND_VALUE_BASE);
> - return sprintf(buf, "%d\n", value);
> + return sysfs_emit(buf, "%d\n", value);
> }
> - return sprintf(buf, "%u\n", chip->oti_data[chip->channel_id]);
> + return sysfs_emit(buf, "%u\n", chip->oti_data[chip->channel_id]);
> }
>
> static inline ssize_t ad7816_set_oti(struct device *dev,
^ permalink raw reply [flat|nested] 3+ messages in thread