* [PATCH v4 0/2] sysfs: finalize the constification of 'struct bin_attribute'
@ 2025-08-11 9:13 Thomas Weißschuh
2025-08-11 9:13 ` [PATCH v4 1/2] sysfs: remove bin_attribute::read_new/write_new() Thomas Weißschuh
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Thomas Weißschuh @ 2025-08-11 9:13 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rafael J. Wysocki, Danilo Krummrich
Cc: linux-kernel, Thomas Weißschuh
All users have been migrated to the new const types and variables.
Get rid of the transition machinery.
After applying, make sure no leftovers are left:
$ git grep bin_attrs_new
$ git grep read_new ':!drivers/block/swim_asm.S'
$ git grep write_new ':!drivers/cpufreq/powernow-k8.c' ':!drivers/s390/char/monwriter.c'
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
Changes in v4:
- Drop already applied patches
- Rebase on v6.17-rc1
- Link to v3: https://lore.kernel.org/r/20250530-sysfs-const-bin_attr-final-v3-0-724bfcf05b99@weissschuh.net
Changes in v3:
- Drop already applied patches
- Constify internal references in fs/sysfs/file.c
- Update const_structs.checkpatch
- Rebase on linux-next/master
- Link to v2: https://lore.kernel.org/r/20250313-sysfs-const-bin_attr-final-v2-0-96284e1e88ce@weissschuh.net
Changes in v2:
- Rebase onto current driver-core-next.
- Remove prerequisites list from cover letter.
- Link to v1: https://lore.kernel.org/r/20250219-sysfs-const-bin_attr-final-v1-0-02828d86af3c@weissschuh.net
---
Thomas Weißschuh (2):
sysfs: remove bin_attribute::read_new/write_new()
sysfs: remove attribute_group::bin_attrs_new
fs/sysfs/file.c | 22 +++++-----------------
include/linux/sysfs.h | 11 ++---------
2 files changed, 7 insertions(+), 26 deletions(-)
---
base-commit: 8f5ae30d69d7543eee0d70083daf4de8fe15d585
change-id: 20250217-sysfs-const-bin_attr-final-d9e4d0cf8a1d
Best regards,
--
Thomas Weißschuh <linux@weissschuh.net>
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v4 1/2] sysfs: remove bin_attribute::read_new/write_new() 2025-08-11 9:13 [PATCH v4 0/2] sysfs: finalize the constification of 'struct bin_attribute' Thomas Weißschuh @ 2025-08-11 9:13 ` Thomas Weißschuh 2025-08-11 9:13 ` [PATCH v4 2/2] sysfs: remove attribute_group::bin_attrs_new Thomas Weißschuh 2025-08-19 11:12 ` [PATCH v4 0/2] sysfs: finalize the constification of 'struct bin_attribute' Greg Kroah-Hartman 2 siblings, 0 replies; 4+ messages in thread From: Thomas Weißschuh @ 2025-08-11 9:13 UTC (permalink / raw) To: Greg Kroah-Hartman, Rafael J. Wysocki, Danilo Krummrich Cc: linux-kernel, Thomas Weißschuh These transitional fields are now unused and unnecessary. Remove them and their logic in the sysfs core. Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> --- fs/sysfs/file.c | 22 +++++----------------- include/linux/sysfs.h | 4 ---- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c index 1ca143d2f22ad2d6b0b74b261514f8bc3cb5153c..3825e780cc580df4a1a511d12b3ee3fa2e6bdb37 100644 --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c @@ -97,12 +97,9 @@ static ssize_t sysfs_kf_bin_read(struct kernfs_open_file *of, char *buf, count = size - pos; } - if (!battr->read && !battr->read_new) + if (!battr->read) return -EIO; - if (battr->read_new) - return battr->read_new(of->file, kobj, battr, buf, pos, count); - return battr->read(of->file, kobj, battr, buf, pos, count); } @@ -161,12 +158,9 @@ static ssize_t sysfs_kf_bin_write(struct kernfs_open_file *of, char *buf, if (!count) return 0; - if (!battr->write && !battr->write_new) + if (!battr->write) return -EIO; - if (battr->write_new) - return battr->write_new(of->file, kobj, battr, buf, pos, count); - return battr->write(of->file, kobj, battr, buf, pos, count); } @@ -335,19 +329,13 @@ int sysfs_add_bin_file_mode_ns(struct kernfs_node *parent, const struct kernfs_ops *ops; struct kernfs_node *kn; - if (battr->read && battr->read_new) - return -EINVAL; - - if (battr->write && battr->write_new) - return -EINVAL; - if (battr->mmap) ops = &sysfs_bin_kfops_mmap; - else if ((battr->read || battr->read_new) && (battr->write || battr->write_new)) + else if (battr->read && battr->write) ops = &sysfs_bin_kfops_rw; - else if (battr->read || battr->read_new) + else if (battr->read) ops = &sysfs_bin_kfops_ro; - else if (battr->write || battr->write_new) + else if (battr->write) ops = &sysfs_bin_kfops_wo; else ops = &sysfs_file_kfops_empty; diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index f418aae4f1134f8126783d9e8eb575ba4278e927..7544f6d81c05982b5d168624f376cd647127ab51 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h @@ -308,12 +308,8 @@ struct bin_attribute { struct address_space *(*f_mapping)(void); ssize_t (*read)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t); - ssize_t (*read_new)(struct file *, struct kobject *, const struct bin_attribute *, - char *, loff_t, size_t); ssize_t (*write)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t); - ssize_t (*write_new)(struct file *, struct kobject *, - const struct bin_attribute *, char *, loff_t, size_t); loff_t (*llseek)(struct file *, struct kobject *, const struct bin_attribute *, loff_t, int); int (*mmap)(struct file *, struct kobject *, const struct bin_attribute *attr, -- 2.50.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v4 2/2] sysfs: remove attribute_group::bin_attrs_new 2025-08-11 9:13 [PATCH v4 0/2] sysfs: finalize the constification of 'struct bin_attribute' Thomas Weißschuh 2025-08-11 9:13 ` [PATCH v4 1/2] sysfs: remove bin_attribute::read_new/write_new() Thomas Weißschuh @ 2025-08-11 9:13 ` Thomas Weißschuh 2025-08-19 11:12 ` [PATCH v4 0/2] sysfs: finalize the constification of 'struct bin_attribute' Greg Kroah-Hartman 2 siblings, 0 replies; 4+ messages in thread From: Thomas Weißschuh @ 2025-08-11 9:13 UTC (permalink / raw) To: Greg Kroah-Hartman, Rafael J. Wysocki, Danilo Krummrich Cc: linux-kernel, Thomas Weißschuh This transitional field is now unused and unnecessary. Remove it. Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> --- include/linux/sysfs.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index 7544f6d81c05982b5d168624f376cd647127ab51..9a25a29116528fab77d667390dd3ef5957b86554 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h @@ -106,10 +106,7 @@ struct attribute_group { const struct bin_attribute *, int); struct attribute **attrs; - union { - const struct bin_attribute *const *bin_attrs; - const struct bin_attribute *const *bin_attrs_new; - }; + const struct bin_attribute *const *bin_attrs; }; #define SYSFS_PREALLOC 010000 @@ -293,7 +290,7 @@ __ATTRIBUTE_GROUPS(_name) #define BIN_ATTRIBUTE_GROUPS(_name) \ static const struct attribute_group _name##_group = { \ - .bin_attrs_new = _name##_attrs, \ + .bin_attrs = _name##_attrs, \ }; \ __ATTRIBUTE_GROUPS(_name) -- 2.50.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v4 0/2] sysfs: finalize the constification of 'struct bin_attribute' 2025-08-11 9:13 [PATCH v4 0/2] sysfs: finalize the constification of 'struct bin_attribute' Thomas Weißschuh 2025-08-11 9:13 ` [PATCH v4 1/2] sysfs: remove bin_attribute::read_new/write_new() Thomas Weißschuh 2025-08-11 9:13 ` [PATCH v4 2/2] sysfs: remove attribute_group::bin_attrs_new Thomas Weißschuh @ 2025-08-19 11:12 ` Greg Kroah-Hartman 2 siblings, 0 replies; 4+ messages in thread From: Greg Kroah-Hartman @ 2025-08-19 11:12 UTC (permalink / raw) To: Thomas Weißschuh; +Cc: Rafael J. Wysocki, Danilo Krummrich, linux-kernel On Mon, Aug 11, 2025 at 11:13:34AM +0200, Thomas Weißschuh wrote: > All users have been migrated to the new const types and variables. > Get rid of the transition machinery. > > After applying, make sure no leftovers are left: > $ git grep bin_attrs_new > $ git grep read_new ':!drivers/block/swim_asm.S' > $ git grep write_new ':!drivers/cpufreq/powernow-k8.c' ':!drivers/s390/char/monwriter.c' Looks good, thanks! Finally queued up, sorry for the delay. greg k-h ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-08-19 11:12 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-08-11 9:13 [PATCH v4 0/2] sysfs: finalize the constification of 'struct bin_attribute' Thomas Weißschuh 2025-08-11 9:13 ` [PATCH v4 1/2] sysfs: remove bin_attribute::read_new/write_new() Thomas Weißschuh 2025-08-11 9:13 ` [PATCH v4 2/2] sysfs: remove attribute_group::bin_attrs_new Thomas Weißschuh 2025-08-19 11:12 ` [PATCH v4 0/2] sysfs: finalize the constification of 'struct bin_attribute' Greg Kroah-Hartman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox