Re: [PATCH] soundwire: debugfs: use controller id instead of link_id

From: Pierre-Louis Bossart
Date: Tue Jan 19 2021 - 14:27:03 EST



link_id can be zero and if we have multiple controller instances
in a system like Qualcomm debugfs will end-up with duplicate namespace
resulting in incorrect debugfs entries.

Using id should give a unique debugfs directory entry and should fix below
warning too.
"debugfs: Directory 'master-0' with parent 'soundwire' already present!"

Yeah id is guaranteed to be unique so this will work.

Applied, thanks

This patch is a no-op for Intel, but I am not convinced it's the right fix or the definitions are not consistent.

It depends if the intention is to represent full Hierarchy in debugfs, then I agree. Its was consistent even before!

Indeed, we don't currently have a notion of controller in debugfs.

currently we have
/sys/kernel/debug/soundwire/master-*

Are you suggesting that we have something like this:

/sys/kernel/debug/soundwire/xyz-controller/master-<LINK-ID> ??

Yes this is what I was thinking about.

/sys/kernel/debug/soundwire/xyz-controller/master-<LINK-ID>/xyz-slave/master-<LINK-ID> ??

This would be for a bridge which to the best of my knowledge hasn't been implemented by anyone (clocking and command/control timing issues).

Or may be something much simpler like:

/sys/kernel/debug/soundwire/master-<ID>.<LINK_ID>

the bus->id is an IDA, which is useful for to avoid conflicts, but it's not really meaningful for debugfs. I remember seeing a case where we had links 2 and 4 enabled, and the bus->id were 0 and 1, a completely artificial value that doesn't really help in debugging.