drivers/edac/amd64_edac.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
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
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
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
© 2016 - 2026 Red Hat, Inc.