Re: [PATCH 4/5] soundwire: sysfs: remove sdw_slave_sysfs_init()

From: Pierre-Louis Bossart
Date: Fri Jul 29 2022 - 11:00:58 EST




> diff --git a/drivers/soundwire/sysfs_slave_dpn.c b/drivers/soundwire/sysfs_slave_dpn.c
> index c4b6543c09fd..a3fb380ee519 100644
> --- a/drivers/soundwire/sysfs_slave_dpn.c
> +++ b/drivers/soundwire/sysfs_slave_dpn.c
> @@ -283,6 +283,9 @@ int sdw_slave_sysfs_dpn_init(struct sdw_slave *slave)
> int ret;
> int i;
>
> + if (!slave->prop.source_ports && !slave->prop.sink_ports)
> + return 0;
> +
> mask = slave->prop.source_ports;
> for_each_set_bit(i, &mask, 32) {
> ret = add_all_attributes(&slave->dev, i, 1);

I am struggling with this one since the driver is still adding
attributes manually. You mentioned in the other thread that

"
That's what the is_visible() callback is for in the groups structure,
you determine if the attribute is visable or not at runtime, you don't
rely on the driver itself to add/remove attributes, that does not scale
and again, is racy.
"

I interpret that as "there's still a race here", no?