drivers/i3c/master.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-)
Replace sprintf() function calls with sysfs_emit() and
sysfs_emit_at() function calls where appropriate. This will help
harden the driver and help modernize it. While at it, add missing
newlines at the end of some sysfs_emit() (formerly sprintf()) calls.
Signed-off-by: Maxwell Doose <m32285159@gmail.com>
---
v2:
- Change commit message to use imperative voice as suggested by Frank
Li.
drivers/i3c/master.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
index 9e6be49bebb2..c0d19eae06b9 100644
--- a/drivers/i3c/master.c
+++ b/drivers/i3c/master.c
@@ -174,7 +174,7 @@ static ssize_t bcr_show(struct device *dev,
i3c_bus_normaluse_lock(bus);
desc = dev_to_i3cdesc(dev);
- ret = sprintf(buf, "0x%02x\n", desc->info.bcr);
+ ret = sysfs_emit(buf, "0x%02x\n", desc->info.bcr);
i3c_bus_normaluse_unlock(bus);
return ret;
@@ -191,7 +191,7 @@ static ssize_t dcr_show(struct device *dev,
i3c_bus_normaluse_lock(bus);
desc = dev_to_i3cdesc(dev);
- ret = sprintf(buf, "0x%02x\n", desc->info.dcr);
+ ret = sysfs_emit(buf, "0x%02x\n", desc->info.dcr);
i3c_bus_normaluse_unlock(bus);
return ret;
@@ -208,7 +208,7 @@ static ssize_t pid_show(struct device *dev,
i3c_bus_normaluse_lock(bus);
desc = dev_to_i3cdesc(dev);
- ret = sprintf(buf, "%llx\n", desc->info.pid);
+ ret = sysfs_emit(buf, "%llx\n", desc->info.pid);
i3c_bus_normaluse_unlock(bus);
return ret;
@@ -225,7 +225,7 @@ static ssize_t dynamic_address_show(struct device *dev,
i3c_bus_normaluse_lock(bus);
desc = dev_to_i3cdesc(dev);
- ret = sprintf(buf, "%02x\n", desc->info.dyn_addr);
+ ret = sysfs_emit(buf, "%02x\n", desc->info.dyn_addr);
i3c_bus_normaluse_unlock(bus);
return ret;
@@ -256,7 +256,7 @@ static ssize_t hdrcap_show(struct device *dev,
if (!hdrcap_strings[mode])
continue;
- ret = sprintf(buf + offset, offset ? " %s" : "%s",
+ ret = sysfs_emit_at(buf, offset, offset ? " %s" : "%s",
hdrcap_strings[mode]);
if (ret < 0)
goto out;
@@ -264,7 +264,7 @@ static ssize_t hdrcap_show(struct device *dev,
offset += ret;
}
- ret = sprintf(buf + offset, "\n");
+ ret = sysfs_emit_at(buf, offset, "\n");
if (ret < 0)
goto out;
@@ -290,10 +290,10 @@ static ssize_t modalias_show(struct device *dev,
ext = I3C_PID_EXTRA_INFO(devinfo.pid);
if (I3C_PID_RND_LOWER_32BITS(devinfo.pid))
- return sprintf(buf, "i3c:dcr%02Xmanuf%04X", devinfo.dcr,
+ return sysfs_emit(buf, "i3c:dcr%02Xmanuf%04X\n", devinfo.dcr,
manuf);
- return sprintf(buf, "i3c:dcr%02Xmanuf%04Xpart%04Xext%04X",
+ return sysfs_emit(buf, "i3c:dcr%02Xmanuf%04Xpart%04Xext%04X\n",
devinfo.dcr, manuf, part, ext);
}
static DEVICE_ATTR_RO(modalias);
@@ -578,9 +578,9 @@ static ssize_t mode_show(struct device *dev,
if (i3cbus->mode < 0 ||
i3cbus->mode >= ARRAY_SIZE(i3c_bus_mode_strings) ||
!i3c_bus_mode_strings[i3cbus->mode])
- ret = sprintf(buf, "unknown\n");
+ ret = sysfs_emit(buf, "unknown\n");
else
- ret = sprintf(buf, "%s\n", i3c_bus_mode_strings[i3cbus->mode]);
+ ret = sysfs_emit(buf, "%s\n", i3c_bus_mode_strings[i3cbus->mode]);
i3c_bus_normaluse_unlock(i3cbus);
return ret;
@@ -595,7 +595,7 @@ static ssize_t current_master_show(struct device *dev,
ssize_t ret;
i3c_bus_normaluse_lock(i3cbus);
- ret = sprintf(buf, "%d-%llx\n", i3cbus->id,
+ ret = sysfs_emit(buf, "%d-%llx\n", i3cbus->id,
i3cbus->cur_master->info.pid);
i3c_bus_normaluse_unlock(i3cbus);
@@ -611,7 +611,7 @@ static ssize_t i3c_scl_frequency_show(struct device *dev,
ssize_t ret;
i3c_bus_normaluse_lock(i3cbus);
- ret = sprintf(buf, "%ld\n", i3cbus->scl_rate.i3c);
+ ret = sysfs_emit(buf, "%ld\n", i3cbus->scl_rate.i3c);
i3c_bus_normaluse_unlock(i3cbus);
return ret;
@@ -626,7 +626,7 @@ static ssize_t i2c_scl_frequency_show(struct device *dev,
ssize_t ret;
i3c_bus_normaluse_lock(i3cbus);
- ret = sprintf(buf, "%ld\n", i3cbus->scl_rate.i2c);
+ ret = sysfs_emit(buf, "%ld\n", i3cbus->scl_rate.i2c);
i3c_bus_normaluse_unlock(i3cbus);
return ret;
--
2.53.0
On Tue, 21 Apr 2026 16:48:37 -0500, Maxwell Doose wrote:
> Replace sprintf() function calls with sysfs_emit() and
> sysfs_emit_at() function calls where appropriate. This will help
> harden the driver and help modernize it. While at it, add missing
> newlines at the end of some sysfs_emit() (formerly sprintf()) calls.
Applied, thanks!
[1/1] i3c: master: Replace sprintf() with sysfs_emit() family
https://git.kernel.org/i3c/c/14236919b0e6
Best regards,
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
On Tue, Apr 21, 2026 at 04:48:37PM -0500, Maxwell Doose wrote: > Replace sprintf() function calls with sysfs_emit() and > sysfs_emit_at() function calls where appropriate. This will help > harden the driver and help modernize it. While at it, add missing > newlines at the end of some sysfs_emit() (formerly sprintf()) calls. > > Signed-off-by: Maxwell Doose <m32285159@gmail.com> > --- Reviewed-by: Frank Li <Frank.Li@nxp.com> > v2: > - Change commit message to use imperative voice as suggested by Frank > Li. > > drivers/i3c/master.c | 26 +++++++++++++------------- > 1 file changed, 13 insertions(+), 13 deletions(-) > > diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c > index 9e6be49bebb2..c0d19eae06b9 100644 > --- a/drivers/i3c/master.c > +++ b/drivers/i3c/master.c > @@ -174,7 +174,7 @@ static ssize_t bcr_show(struct device *dev, > > i3c_bus_normaluse_lock(bus); > desc = dev_to_i3cdesc(dev); > - ret = sprintf(buf, "0x%02x\n", desc->info.bcr); > + ret = sysfs_emit(buf, "0x%02x\n", desc->info.bcr); > i3c_bus_normaluse_unlock(bus); > > return ret; > @@ -191,7 +191,7 @@ static ssize_t dcr_show(struct device *dev, > > i3c_bus_normaluse_lock(bus); > desc = dev_to_i3cdesc(dev); > - ret = sprintf(buf, "0x%02x\n", desc->info.dcr); > + ret = sysfs_emit(buf, "0x%02x\n", desc->info.dcr); > i3c_bus_normaluse_unlock(bus); > > return ret; > @@ -208,7 +208,7 @@ static ssize_t pid_show(struct device *dev, > > i3c_bus_normaluse_lock(bus); > desc = dev_to_i3cdesc(dev); > - ret = sprintf(buf, "%llx\n", desc->info.pid); > + ret = sysfs_emit(buf, "%llx\n", desc->info.pid); > i3c_bus_normaluse_unlock(bus); > > return ret; > @@ -225,7 +225,7 @@ static ssize_t dynamic_address_show(struct device *dev, > > i3c_bus_normaluse_lock(bus); > desc = dev_to_i3cdesc(dev); > - ret = sprintf(buf, "%02x\n", desc->info.dyn_addr); > + ret = sysfs_emit(buf, "%02x\n", desc->info.dyn_addr); > i3c_bus_normaluse_unlock(bus); > > return ret; > @@ -256,7 +256,7 @@ static ssize_t hdrcap_show(struct device *dev, > if (!hdrcap_strings[mode]) > continue; > > - ret = sprintf(buf + offset, offset ? " %s" : "%s", > + ret = sysfs_emit_at(buf, offset, offset ? " %s" : "%s", > hdrcap_strings[mode]); > if (ret < 0) > goto out; > @@ -264,7 +264,7 @@ static ssize_t hdrcap_show(struct device *dev, > offset += ret; > } > > - ret = sprintf(buf + offset, "\n"); > + ret = sysfs_emit_at(buf, offset, "\n"); > if (ret < 0) > goto out; > > @@ -290,10 +290,10 @@ static ssize_t modalias_show(struct device *dev, > ext = I3C_PID_EXTRA_INFO(devinfo.pid); > > if (I3C_PID_RND_LOWER_32BITS(devinfo.pid)) > - return sprintf(buf, "i3c:dcr%02Xmanuf%04X", devinfo.dcr, > + return sysfs_emit(buf, "i3c:dcr%02Xmanuf%04X\n", devinfo.dcr, > manuf); > > - return sprintf(buf, "i3c:dcr%02Xmanuf%04Xpart%04Xext%04X", > + return sysfs_emit(buf, "i3c:dcr%02Xmanuf%04Xpart%04Xext%04X\n", > devinfo.dcr, manuf, part, ext); > } > static DEVICE_ATTR_RO(modalias); > @@ -578,9 +578,9 @@ static ssize_t mode_show(struct device *dev, > if (i3cbus->mode < 0 || > i3cbus->mode >= ARRAY_SIZE(i3c_bus_mode_strings) || > !i3c_bus_mode_strings[i3cbus->mode]) > - ret = sprintf(buf, "unknown\n"); > + ret = sysfs_emit(buf, "unknown\n"); > else > - ret = sprintf(buf, "%s\n", i3c_bus_mode_strings[i3cbus->mode]); > + ret = sysfs_emit(buf, "%s\n", i3c_bus_mode_strings[i3cbus->mode]); > i3c_bus_normaluse_unlock(i3cbus); > > return ret; > @@ -595,7 +595,7 @@ static ssize_t current_master_show(struct device *dev, > ssize_t ret; > > i3c_bus_normaluse_lock(i3cbus); > - ret = sprintf(buf, "%d-%llx\n", i3cbus->id, > + ret = sysfs_emit(buf, "%d-%llx\n", i3cbus->id, > i3cbus->cur_master->info.pid); > i3c_bus_normaluse_unlock(i3cbus); > > @@ -611,7 +611,7 @@ static ssize_t i3c_scl_frequency_show(struct device *dev, > ssize_t ret; > > i3c_bus_normaluse_lock(i3cbus); > - ret = sprintf(buf, "%ld\n", i3cbus->scl_rate.i3c); > + ret = sysfs_emit(buf, "%ld\n", i3cbus->scl_rate.i3c); > i3c_bus_normaluse_unlock(i3cbus); > > return ret; > @@ -626,7 +626,7 @@ static ssize_t i2c_scl_frequency_show(struct device *dev, > ssize_t ret; > > i3c_bus_normaluse_lock(i3cbus); > - ret = sprintf(buf, "%ld\n", i3cbus->scl_rate.i2c); > + ret = sysfs_emit(buf, "%ld\n", i3cbus->scl_rate.i2c); > i3c_bus_normaluse_unlock(i3cbus); > > return ret; > -- > 2.53.0 > > > -- > linux-i3c mailing list > linux-i3c@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-i3c
© 2016 - 2026 Red Hat, Inc.