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

Marcelo Moreira posted 1 patch 3 months, 1 week ago
drivers/edac/amd64_edac.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
[PATCH] EDAC/amd64: replace sprintf with sysfs_emit in show functions
Posted by Marcelo Moreira 3 months, 1 week ago
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@gmail.com>
---
 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);		\
 }
 
 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);
 }
 
 /*
-- 
2.50.0
Re: [PATCH] EDAC/amd64: replace sprintf with sysfs_emit in show functions
Posted by Greg KH 3 months, 1 week ago
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@gmail.com>
> ---
>  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 ' '?


>  }
>  
>  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.

thanks,

greg k-h
Re: [PATCH] EDAC/amd64: replace sprintf with sysfs_emit in show functions
Posted by Marcelo Moreira 3 months, 1 week ago
Em seg., 30 de jun. de 2025 às 02:07, Greg KH
<gregkh@linuxfoundation.org> 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@gmail.com>
> > ---
> >  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