Messages in this thread | | | Subject | Re: [PATCH] soundwire: bus: add enumerated slave to device list | From | Pierre-Louis Bossart <> | Date | Wed, 9 Sep 2020 12:00:57 -0500 |
| |
On 9/9/20 10:54 AM, Srinivas Kandagatla wrote: > > > On 09/09/2020 15:39, Pierre-Louis Bossart wrote: >> >>>>> Currently slave devices are only added either from device tree or acpi >>>>> entries. However lets say, there is wrong or no entry of a slave >>>>> device >>>>> in DT that is enumerated, then there is no way for user to know all >>>>> the enumerated devices on the bus. >>>> >>>> Sorry Srinivas, I don't understand your point. >>>> >>>> The sysfs entries will include all devices that are described in >>>> platform firmware (be it DT or ACPI). >>> >>> yes that is true, but it will not include all the enumerated devices >>> on the bus! >>> >>> In my case on a new board I was trying to figure out what devices are >>> on the bus even before even adding any device tree entries! >> >> We've seen this before but dynamic debug provides all the information >> you need. see e.g. the logs from >> https://sof-ci.01.org/linuxpr/PR2425/build4447/devicetest/ >> >> jf-cml-rvp-sdw-1 kernel: [ 289.751974] soundwire sdw-master-0: Slave >> attached, programming device number >> jf-cml-rvp-sdw-1 kernel: [ 289.752121] soundwire sdw-master-0: SDW >> Slave Addr: 10025d070000 <<< HERE > > Yes, I have noticed this too! This will be printed for every call to > sdw_extract_slave_id()! > > ... >> >> Now I get your point but >> a) you already have a dynamic debug trace to list all devices >> b) adding 'undeclared' devices would make things quite murky and is >> only half of the solution. We already struggle because we already have >> 'ghost' devices in sysfs that are not physically present, and no way >> to differentiate between the two. If we did add those entries, then >> we'd need two new sysfs attributes such as >> 'declared' and 'enumerated'. > > I totally agree with you on dealing with the undeclared devices, which > is unnecessary mess!
It's not necessarily that bad. - if the intent is to have a single platform firmware that can deal with different boards, it's a good thing. - but if it's just sloppy platform firmware that just does copy-paste from platform to platform then indeed it becomes a mess.
> May be we could make the enumerated devices discovery bit more verbose!
Maybe adding a device number sysfs entry would help, e.g. reporting NotAttched or a value in [0,11] would tell you if the device is actually present.
| |