Note, this is a redone version of a very old series I wrote back in 2022: https://lore.kernel.org/r/20220824135951.3604059-1-gregkh@xxxxxxxxxxxxxxxxxxx but everyone has forgotten about it now, and I've reworked it, so I'm considering it a "new" version, and not v2. Here's a series that adds the functionality to the driver core to hide entire attribute groups, in a much saner way than we have attempted in the past (i.e. dynamically figuring it out.) Many thanks to Dan for this patch. I'll also be taking this into my driver-core branch and creating a stable tag for anyone else to pull from to get it into their trees, as I think it will want to be in many for this development cycle. After the driver core change, there's cleanups to the soundwire core for how the attribute groups are created, to remove the "manual" creation of them, and allow the driver core to create them correctly, as needed, when needed, which makes things much smaller for the soundwire code to manage. Comments appreciated! thanks, greg k-h Dan Williams (1): sysfs: Introduce a mechanism to hide static attribute_groups Greg Kroah-Hartman (5): soundwire: sysfs: move sdw_slave_dev_attr_group into the existing list of groups soundwire: sysfs: cleanup the logic for creating the dp0 sysfs attributes soundwire: sysfs: have the driver core handle the creation of the device groups soundwire: sysfs: remove sdw_slave_sysfs_init() soundwire: sysfs: remove unneeded ATTRIBUTE_GROUPS() comments drivers/soundwire/bus_type.c | 5 ++- drivers/soundwire/sysfs_local.h | 4 +- drivers/soundwire/sysfs_slave.c | 64 ++++++++++++++--------------- drivers/soundwire/sysfs_slave_dpn.c | 3 ++ fs/sysfs/group.c | 45 ++++++++++++++++---- include/linux/sysfs.h | 63 ++++++++++++++++++++++------ 6 files changed, 126 insertions(+), 58 deletions(-) -- 2.43.0