Re: [PATCH] EDAC/amd64: replace sprintf with sysfs_emit in show functions

From: Marcelo Moreira
Date: Mon Jun 30 2025 - 20:03:22 EST


Em seg., 30 de jun. de 2025 às 02:07, Greg KH
<gregkh@xxxxxxxxxxxxxxxxxxx> escreveu:
>
> On Sun, Jun 29, 2025 at 03:24:48PM -0300, Marcelo Moreira wrote:
> > Update all device attribute 'show' callbacks in the EDAC AMD64 driver to
> > utilize sysfs_emit(). This change adheres to the recommendation outlined
> > in Documentation/filesystems/sysfs.rst.
> >
> > This modification aligns with current sysfs subsystem guidelines.
> >
> > Signed-off-by: Marcelo Moreira <marcelomoreira1905@xxxxxxxxx>
> > ---
> > drivers/edac/amd64_edac.c | 10 +++++-----
> > 1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
> > index b681c0663203..b6d211255ef0 100644
> > --- a/drivers/edac/amd64_edac.c
> > +++ b/drivers/edac/amd64_edac.c
> > @@ -552,7 +552,7 @@ static ssize_t reg##_show(struct device *dev, \
> > struct mem_ctl_info *mci = to_mci(dev); \
> > struct amd64_pvt *pvt = mci->pvt_info; \
> > \
> > - return sprintf(data, "0x%016llx\n", (u64)pvt->reg); \
> > + return sysfs_emit(data, "0x%016llx\n", (u64)pvt->reg); \
>
> Why the extra ' '?

I didn't notice, sorry.



>
> > }
> >
> > EDAC_DCT_ATTR_SHOW(dhar);
> > @@ -571,7 +571,7 @@ static ssize_t dram_hole_show(struct device *dev, struct device_attribute *mattr
> >
> > get_dram_hole_info(mci, &hole_base, &hole_offset, &hole_size);
> >
> > - return sprintf(data, "%llx %llx %llx\n", hole_base, hole_offset,
> > + return sysfs_emit(data, "%llx %llx %llx\n", hole_base, hole_offset,
> > hole_size);
> > }
> >
> > @@ -602,7 +602,7 @@ static ssize_t inject_section_show(struct device *dev,
> > {
> > struct mem_ctl_info *mci = to_mci(dev);
> > struct amd64_pvt *pvt = mci->pvt_info;
> > - return sprintf(buf, "0x%x\n", pvt->injection.section);
> > + return sysfs_emit(buf, "0x%x\n", pvt->injection.section);
> > }
> >
> > /*
> > @@ -638,7 +638,7 @@ static ssize_t inject_word_show(struct device *dev,
> > {
> > struct mem_ctl_info *mci = to_mci(dev);
> > struct amd64_pvt *pvt = mci->pvt_info;
> > - return sprintf(buf, "0x%x\n", pvt->injection.word);
> > + return sysfs_emit(buf, "0x%x\n", pvt->injection.word);
> > }
> >
> > /*
> > @@ -675,7 +675,7 @@ static ssize_t inject_ecc_vector_show(struct device *dev,
> > {
> > struct mem_ctl_info *mci = to_mci(dev);
> > struct amd64_pvt *pvt = mci->pvt_info;
> > - return sprintf(buf, "0x%x\n", pvt->injection.bit_map);
> > + return sysfs_emit(buf, "0x%x\n", pvt->injection.bit_map);
>
> There's nothing wrong with these sprintf() lines, so no need to change
> them, right?
>
> I only recommend making this type of change when adding new sysfs files,
> no need for churn on old files when it is not needed at all.
>

Understood Greg, thanks for the feedback :)

--
Cheers,
Marcelo Moreira