Re: [PATCH] staging: greybus: light: use sysfs_emit() instead of sprintf()

From: Alex Elder

Date: Tue Nov 03 2026 - 10:06:34 EST


On 10/31/26 3:46 AM, Ken wrote:
According to Documentation/filesystems/sysfs.rst, the show() callback
should use sysfs_emit() instead of sprintf() or snprintf().
Convert fade_*_show() and color_show() to use sysfs_emit() for safer
buffer handling and consistency with other greybus drivers.

Signed-off-by: Ken <ken3009le@xxxxxxxxx>

I presume "Ken" is not like "Cher" or "Ronaldo" or "Drake".

Please use real, full names in your signoffs.

Also review the mailing list history for other instances of
patches like this.

-Alex
---
drivers/staging/greybus/light.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/greybus/light.c b/drivers/staging/greybus/light.c
index cab02b5da..2689f9a75 100644
--- a/drivers/staging/greybus/light.c
+++ b/drivers/staging/greybus/light.c
@@ -173,7 +173,7 @@ static ssize_t fade_##__dir##_show(struct device *dev, \
struct led_classdev *cdev = dev_get_drvdata(dev); \
struct gb_channel *channel = get_channel_from_cdev(cdev); \
\
- return sprintf(buf, "%u\n", channel->fade_##__dir); \
+ return sysfs_emit(buf, "%u\n", channel->fade_##__dir); \
} \
\
static ssize_t fade_##__dir##_store(struct device *dev, \
@@ -220,7 +220,7 @@ static ssize_t color_show(struct device *dev, struct device_attribute *attr,
struct led_classdev *cdev = dev_get_drvdata(dev);
struct gb_channel *channel = get_channel_from_cdev(cdev);
- return sprintf(buf, "0x%08x\n", channel->color);
+ return sysfs_emit(buf, "0x%08x\n", channel->color);
}
static ssize_t color_store(struct device *dev, struct device_attribute *attr,