iio: adc: ad7192: Use sysfs_emit_at
authorAlisa Roman <alisa.roman@analog.com>
Tue, 20 Jun 2023 16:31:35 +0000 (19:31 +0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Thu, 20 Jul 2023 18:21:30 +0000 (19:21 +0100)
Replace scnprintf with sysfs_emit_at which is the preferred alternative.

Also make sure each fractional digit is in its place by padding with
zeros up to 3 digits: "...%03d...".

Signed-off-by: Alisa Roman <alisa.roman@analog.com>
Reviewed-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20230620163135.93780-1-alisa.roman@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/ad7192.c

index e23d9a7dcc9ecbbca2158ebedc35e56b739e856a..c980bc871412660db5e8640e9de8fb585de244eb 100644 (file)
@@ -561,9 +561,8 @@ static ssize_t ad7192_show_filter_avail(struct device *dev,
        ad7192_get_available_filter_freq(st, freq_avail);
 
        for (i = 0; i < ARRAY_SIZE(freq_avail); i++)
-               len += scnprintf(buf + len, PAGE_SIZE - len,
-                                "%d.%d ", freq_avail[i] / 1000,
-                                freq_avail[i] % 1000);
+               len += sysfs_emit_at(buf, len, "%d.%03d ", freq_avail[i] / 1000,
+                                    freq_avail[i] % 1000);
 
        buf[len - 1] = '\n';