* [PATCH] staging: iio: adc: ad7816: replace sprintf with sysfs_emit
@ 2026-04-19 1:05 Maxwell Doose
2026-04-19 11:33 ` Jonathan Cameron
2026-04-20 13:54 ` Dan Carpenter
0 siblings, 2 replies; 5+ messages in thread
From: Maxwell Doose @ 2026-04-19 1:05 UTC (permalink / raw)
To: lars, Michael.Hennerich, jic23, gregkh
Cc: dlechner, nuno.sa, andy, linux-iio, linux-staging, linux-kernel
This patch replaces sprintf calls in ad7816.c with sysfs_emit to help
modernize the driver, ensure bounds checking, and to increase stability.
Signed-off-by: Maxwell Doose <m32285159@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.53.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] staging: iio: adc: ad7816: replace sprintf with sysfs_emit
2026-04-19 1:05 [PATCH] staging: iio: adc: ad7816: replace sprintf with sysfs_emit Maxwell Doose
@ 2026-04-19 11:33 ` Jonathan Cameron
2026-04-19 15:28 ` Maxwell Doose
2026-04-20 13:54 ` Dan Carpenter
1 sibling, 1 reply; 5+ messages in thread
From: Jonathan Cameron @ 2026-04-19 11:33 UTC (permalink / raw)
To: Maxwell Doose
Cc: lars, Michael.Hennerich, gregkh, dlechner, nuno.sa, andy,
linux-iio, linux-staging, linux-kernel, Md. Mahmudul Hasan Mabud
On Sat, 18 Apr 2026 20:05:37 -0500
Maxwell Doose <m32285159@gmail.com> wrote:
> This patch replaces sprintf calls in ad7816.c with sysfs_emit to help
> modernize the driver, ensure bounds checking, and to increase stability.
>
> Signed-off-by: Maxwell Doose <m32285159@gmail.com>
Hi Maxwell,
There is a more substantial rework of this code undergoing revisions.
https://lore.kernel.org/all/20260331072453.6530-1-mdmahmudulhasan1511@gmail.com/
Both because that's been underway for a little time and because it makes
a wider set of improvements, I'd rather we took that one forwards.
However, as I noted in that thread, the ABI is likely to go away anyway as
part of dragging this driver into a state suitable for moving out of staging.
I don't mind cleaning it up as an intermediate state however as that graduation
from staging may take a while!
Thanks,
Jonathan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] staging: iio: adc: ad7816: replace sprintf with sysfs_emit
2026-04-19 11:33 ` Jonathan Cameron
@ 2026-04-19 15:28 ` Maxwell Doose
0 siblings, 0 replies; 5+ messages in thread
From: Maxwell Doose @ 2026-04-19 15:28 UTC (permalink / raw)
To: Jonathan Cameron
Cc: lars, Michael.Hennerich, gregkh, dlechner, nuno.sa, andy,
linux-iio, linux-staging, linux-kernel, Md. Mahmudul Hasan Mabud
On Sun, Apr 19, 2026 at 6:33 AM Jonathan Cameron <jic23@kernel.org> wrote:
>
> Both because that's been underway for a little time and because it makes
> a wider set of improvements, I'd rather we took that one forwards.
Sorry, I didn't see the other patch. I'll focus on the v2 for the srf08
patch for the time being then.
best regards,
maxwell
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] staging: iio: adc: ad7816: replace sprintf with sysfs_emit
2026-04-19 1:05 [PATCH] staging: iio: adc: ad7816: replace sprintf with sysfs_emit Maxwell Doose
2026-04-19 11:33 ` Jonathan Cameron
@ 2026-04-20 13:54 ` Dan Carpenter
2026-04-20 14:46 ` Maxwell Doose
1 sibling, 1 reply; 5+ messages in thread
From: Dan Carpenter @ 2026-04-20 13:54 UTC (permalink / raw)
To: Maxwell Doose
Cc: lars, Michael.Hennerich, jic23, gregkh, dlechner, nuno.sa, andy,
linux-iio, linux-staging, linux-kernel
On Sat, Apr 18, 2026 at 08:05:37PM -0500, Maxwell Doose wrote:
> This patch replaces sprintf calls in ad7816.c with sysfs_emit to help
> modernize the driver, ensure bounds checking, and to increase stability.
This says that changing to sysfs_emit() will increase the stability of
the driver, but actually that's not true. I am fine with these sorts of
hardening patches but I want the commit message to say that "The original
code is fine as is" instead of implying it is unstable.
If the commit did fix a real issue, then we would need a Fixes tag.
regards,
dan carpenter
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] staging: iio: adc: ad7816: replace sprintf with sysfs_emit
2026-04-20 13:54 ` Dan Carpenter
@ 2026-04-20 14:46 ` Maxwell Doose
0 siblings, 0 replies; 5+ messages in thread
From: Maxwell Doose @ 2026-04-20 14:46 UTC (permalink / raw)
To: Dan Carpenter
Cc: lars, Michael.Hennerich, jic23, gregkh, dlechner, nuno.sa, andy,
linux-iio, linux-staging, linux-kernel
On Mon, Apr 20, 2026 at 8:54 AM Dan Carpenter <error27@gmail.com> wrote:
>
> This says that changing to sysfs_emit() will increase the stability of
> the driver, but actually that's not true.
Sorry. Like I've said in previous emails to you, I'm still figuring it
all out. When I made this patch, I was under the impression that since
sysfs_emit() improved security by preventing overflow errors, that it
would inherently improve stability as well. Thanks for pointing out my
error.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-04-20 14:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-19 1:05 [PATCH] staging: iio: adc: ad7816: replace sprintf with sysfs_emit Maxwell Doose
2026-04-19 11:33 ` Jonathan Cameron
2026-04-19 15:28 ` Maxwell Doose
2026-04-20 13:54 ` Dan Carpenter
2026-04-20 14:46 ` Maxwell Doose
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox