drivers/staging/iio/adc/ad7816.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Use sysfs_streq() to compare the input buffer with the mode strings.
This is more robust as it ignores trailing newlines, making it safer
for sysfs store functions.
Signed-off-by: Md. Mahmudul Hasan Mabud <mdmahmudulhasan1511@gmail.com>
---
drivers/staging/iio/adc/ad7816.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7816.c
index 172acf135..c2544415e 100644
--- a/drivers/staging/iio/adc/ad7816.c
+++ b/drivers/staging/iio/adc/ad7816.c
@@ -136,7 +136,7 @@ static ssize_t ad7816_store_mode(struct device *dev,
struct iio_dev *indio_dev = dev_to_iio_dev(dev);
struct ad7816_chip_info *chip = iio_priv(indio_dev);
- if (strcmp(buf, "full") == 0) {
+ if (sysfs_streq(buf, "full")) {
gpiod_set_value(chip->rdwr_pin, 1);
chip->mode = AD7816_FULL;
} else {
--
2.34.1
On Mon, Mar 30, 2026 at 01:48:50PM +0600, Md. Mahmudul Hasan Mabud wrote:
> Use sysfs_streq() to compare the input buffer with the mode strings.
> This is more robust as it ignores trailing newlines, making it safer
> for sysfs store functions.
...
> struct iio_dev *indio_dev = dev_to_iio_dev(dev);
> struct ad7816_chip_info *chip = iio_priv(indio_dev);
>
> - if (strcmp(buf, "full") == 0) {
> + if (sysfs_streq(buf, "full")) {
> gpiod_set_value(chip->rdwr_pin, 1);
> chip->mode = AD7816_FULL;
I think it might be better to do more work on this.
First of all, convert to use IIO_DEVICE_ATTR_RW().
Second, convert to use sysfs_emit() instead of sprintf().
But with that, switch to use a static array
static const char * const modes[] = {
[_FULL] = "full";
[_PD] = "power-save";
};
This will need redefinition to start from 0 (I don't see why it needs to
start from 1).
#define _FULL 0
#define _PD 1
This allows to switch to sysfs_match_string() and return an error on
unrecognized input (which is absent right now).
So, something like series out of ~3-4 patches is expected.
--
With Best Regards,
Andy Shevchenko
© 2016 - 2026 Red Hat, Inc.