[PATCH v3 0/5] driver core: Allow the constification of device attributes

Thomas Weißschuh posted 5 patches 1 month ago
drivers/base/core.c    |  54 +++++++++++----------
include/linux/device.h | 129 +++++++++++++++++++++++++++++++++++++------------
2 files changed, 126 insertions(+), 57 deletions(-)
[PATCH v3 0/5] driver core: Allow the constification of device attributes
Posted by Thomas Weißschuh 1 month ago
Allow device attribute to reside in read-only memory.
Both const and non-const attributes are handled by the utility macros
and attributes can be migrated one-by-one.

My goal is to migrate all sysfs attribute of a given driver or subsystem
at once to avoid code churn through. To do that all sysfs features the
subsystem uses need to be const-compatible. Which means that the
migration of device attributes and is_visible() are happening
concurrently.

After device attributes only kobject attributes are missing for a full
conversion.

---
Changes in v3:
- Also constify DEVICE_ATTR_RO(dev)
- Also handle DEVICE_ATTR_*_NAMED()
- Link to v2: https://patch.msgid.link/20260504-sysfs-const-attr-device_attr-prep-v2-0-79d291cb3071@weissschuh.net

Changes in v2:
- Rebase on v7.1-rc1
- Extend cover letter a bit
- Link to v1: https://patch.msgid.link/20260408-sysfs-const-attr-device_attr-prep-v1-0-232934f77b3c@weissschuh.net

To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: "Rafael J. Wysocki" <rafael@kernel.org>
To: Danilo Krummrich <dakr@kernel.org>
Cc: driver-core@lists.linux.dev
Cc: linux-kernel@vger.kernel.org
Signed-of-by: Thomas Weißschuh <linux@weissschuh.net>

---
Thomas Weißschuh (5):
      driver core: Delete DEVICE_ATTR_PREALLOC()
      driver core: Add low-level macros for device attributes
      driver core: Stop using generic sysfs macros for device attributes
      driver core: Allow the constification of device attributes
      driver core: Constify core device attributes

 drivers/base/core.c    |  54 +++++++++++----------
 include/linux/device.h | 129 +++++++++++++++++++++++++++++++++++++------------
 2 files changed, 126 insertions(+), 57 deletions(-)
---
base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731
change-id: 20260408-sysfs-const-attr-device_attr-prep-9971fb4439da

Best regards,
--  
Thomas Weißschuh <linux@weissschuh.net>