[PATCH RFC 00/10] driver core: constify groups arrays in several structs

Heiner Kallweit posted 10 patches 1 month, 2 weeks ago
drivers/base/base.h              |  6 ++++--
drivers/base/core.c              |  5 +++--
drivers/base/driver.c            |  4 ++--
drivers/infiniband/core/device.c |  9 ++++-----
drivers/rtc/sysfs.c              |  8 ++++----
fs/sysfs/group.c                 | 10 +++++-----
include/linux/device.h           |  8 ++++----
include/linux/device/bus.h       |  6 +++---
include/linux/device/class.h     |  4 ++--
include/linux/device/driver.h    |  4 ++--
include/linux/kobject.h          |  2 +-
include/linux/sysfs.h            | 16 ++++++++--------
12 files changed, 42 insertions(+), 40 deletions(-)
[PATCH RFC 00/10] driver core: constify groups arrays in several structs
Posted by Heiner Kallweit 1 month, 2 weeks ago
This series constifies the attribute group groups arrays in a number
of structs, plus some preparation work. This allows to assign constant
arrays, w/o "discards const qualifier" compiler warning.
This is a step towards to goal to e.g. create constant arrays in macro
__ATTRIBUTE_GROUPS().

There may be drivers not covered by my test scenarios which conflict
with this series. Therefore I send it as RFC for now.
Hopefully some CI checking this series provides additional hints.

Heiner Kallweit (10):
  IB/core: Prepare for immutable device groups
  rtc: prepare for struct device member groups becoming a constant array
  sysfs: constify group arrays in function arguments
  driver: core: constify groups array argument in device_add_groups and
    device_remove_groups
  driver core: make struct device member groups a constant array
  driver core: make struct device_type member groups a constant array
  driver core: make struct bus_type groups members constant arrays
  driver core: make struct class groups members constant arrays
  driver core: make struct device_driver groups members contact arrays
  kobject: make struct kobject member default_groups a constant array

 drivers/base/base.h              |  6 ++++--
 drivers/base/core.c              |  5 +++--
 drivers/base/driver.c            |  4 ++--
 drivers/infiniband/core/device.c |  9 ++++-----
 drivers/rtc/sysfs.c              |  8 ++++----
 fs/sysfs/group.c                 | 10 +++++-----
 include/linux/device.h           |  8 ++++----
 include/linux/device/bus.h       |  6 +++---
 include/linux/device/class.h     |  4 ++--
 include/linux/device/driver.h    |  4 ++--
 include/linux/kobject.h          |  2 +-
 include/linux/sysfs.h            | 16 ++++++++--------
 12 files changed, 42 insertions(+), 40 deletions(-)

-- 
2.53.0