Re: [alsa-devel] [RFC PATCH 2/7] soundwire: add Slave sysfs support

Pierre-Louis Bossart
2019-05-06T16:46:10Z

On 5/6/19 11:22 AM, Vinod Koul wrote:
> On 06-05-19, 17:19, Greg KH wrote:
>> On Mon, May 06, 2019 at 09:42:35AM -0500, Pierre-Louis Bossart wrote:
>>>>> +
>>>>> +int sdw_sysfs_slave_init(struct sdw_slave *slave)
>>>>> +{
>>>>> + struct sdw_slave_sysfs *sysfs;
>>>>> + unsigned int src_dpns, sink_dpns, i, j;
>>>>> + int err;
>>>>> +
>>>>> + if (slave->sysfs) {
>>>>> + dev_err(&slave->dev, "SDW Slave sysfs is already initialized\n");
>>>>> + err = -EIO;
>>>>> + goto err_ret;
>>>>> + }
>>>>> +
>>>>> + sysfs = kzalloc(sizeof(*sysfs), GFP_KERNEL);
>>>>
>>>> Same question as patch 1, why a new device?
>>>
>>> yes it's the same open. In this case, the slave devices are defined at a
>>> different level so it's also confusing to create a device to represent the
>>> slave properties. The code works but I am not sure the initial directions
>>> are correct.
>>
>> You can just make a subdir for your attributes by using the attribute
>> group name, if a subdirectory is needed just to keep things a bit more
>> organized.
>
> The key here is 'a subdir' which is not the case here. We did discuss
> this in the initial patches for SoundWire which had sysfs :)
>
> The way MIPI disco spec organized properties, we have dp0 and dpN
> properties each of them requires to have a subdir of their own and that
> was the reason why I coded it to be creating a device.

Vinod, the question was not for dp0 and dpN, it's fine to have
subdirectories there, but rather why we need separate devices for the
master and slave properties.

>
> Do we have a better way to handle this?
>
>> Otherwise, you need to mess with having multiple "types" of struct
>> device all associated with the same bus. It is possible, and not that
>> hard, but I don't think you are doing that here.
>>
>> thnaks,
>>
>> greg k-h
>