On 12/28/24 2:13 PM, Thomas Weißschuh wrote: > Most users use this function through the BIN_ATTR_SIMPLE* macros, > they can handle the switch transparently. > Also adapt the two non-macro users in the same change. Changes looks fine to me. Acked-by: Madhavan Srinivasan <maddy@xxxxxxxxxxxxx> > > Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx> > --- > arch/powerpc/platforms/powernv/opal.c | 2 +- > fs/sysfs/file.c | 2 +- > include/linux/sysfs.h | 4 ++-- > kernel/module/sysfs.c | 2 +- > 4 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c > index 5d0f35bb917ebced8c741cd3af2c511949a1d2ef..013637e2b2a8e6a4ec6b93a520f8d5d9d3245467 100644 > --- a/arch/powerpc/platforms/powernv/opal.c > +++ b/arch/powerpc/platforms/powernv/opal.c > @@ -818,7 +818,7 @@ static int opal_add_one_export(struct kobject *parent, const char *export_name, > sysfs_bin_attr_init(attr); > attr->attr.name = name; > attr->attr.mode = 0400; > - attr->read = sysfs_bin_attr_simple_read; > + attr->read_new = sysfs_bin_attr_simple_read; > attr->private = __va(vals[0]); > attr->size = vals[1]; > > diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c > index 785408861c01c89fc84c787848243a13c1338367..6931308876c4ac3b4c19878d5e1158ad8fe4f16f 100644 > --- a/fs/sysfs/file.c > +++ b/fs/sysfs/file.c > @@ -817,7 +817,7 @@ EXPORT_SYMBOL_GPL(sysfs_emit_at); > * Returns number of bytes written to @buf. > */ > ssize_t sysfs_bin_attr_simple_read(struct file *file, struct kobject *kobj, > - struct bin_attribute *attr, char *buf, > + const struct bin_attribute *attr, char *buf, > loff_t off, size_t count) > { > memcpy(buf, attr->private + off, count); > diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h > index 0f2fcd244523f050c5286f19d4fe1846506f9214..2205561159afdb57d0a250bb0439b28c01d9010e 100644 > --- a/include/linux/sysfs.h > +++ b/include/linux/sysfs.h > @@ -511,7 +511,7 @@ __printf(3, 4) > int sysfs_emit_at(char *buf, int at, const char *fmt, ...); > > ssize_t sysfs_bin_attr_simple_read(struct file *file, struct kobject *kobj, > - struct bin_attribute *attr, char *buf, > + const struct bin_attribute *attr, char *buf, > loff_t off, size_t count); > > #else /* CONFIG_SYSFS */ > @@ -774,7 +774,7 @@ static inline int sysfs_emit_at(char *buf, int at, const char *fmt, ...) > > static inline ssize_t sysfs_bin_attr_simple_read(struct file *file, > struct kobject *kobj, > - struct bin_attribute *attr, > + const struct bin_attribute *attr, > char *buf, loff_t off, > size_t count) > { > diff --git a/kernel/module/sysfs.c b/kernel/module/sysfs.c > index 456358e1fdc43e6b5b24f383bbefa37812971174..254017b58b645d4afcf6876d29bcc2e2113a8dc4 100644 > --- a/kernel/module/sysfs.c > +++ b/kernel/module/sysfs.c > @@ -196,7 +196,7 @@ static int add_notes_attrs(struct module *mod, const struct load_info *info) > nattr->attr.mode = 0444; > nattr->size = info->sechdrs[i].sh_size; > nattr->private = (void *)info->sechdrs[i].sh_addr; > - nattr->read = sysfs_bin_attr_simple_read; > + nattr->read_new = sysfs_bin_attr_simple_read; > ++nattr; > } > ++loaded; >