On Sat, May 23, 2015 at 11:21:56AM +0530, Vinod Koul wrote:
On Fri, May 22, 2015 at 08:13:45PM +0200, Takashi Iwai wrote:
The point is that a HD-audio object can be inherited to two different level of objects, legacy and ASoC. Both are bound on the same bus, but to the corresponding drivers. Both objects use the very same bus ops, thus they share the same hdac_bus.
Thanks a bunch Takashi for clarifying :)
I guess one clarification may still help, The SKL Audio controller is PCI device, the PCM driver in this series will load against the PCI device. Now the driver will go ahead and initialize the HDA bus. Also we provide our own matching function here.
The matching function is for matching the devices on HDA link. The probing of the bus will find the HDA codecs present in the bus and we will match them based on Vendor ID and Device ID in match function above.
Let us know if you have more questions
To be honest the above isn't really clarifying things for me. I know what a matching function is for, the thing that is really worrying about this is that we've got different matching functions depending on how the HDA bus is instantiated. Given that HDA is an enumerable bus why would we want or need that - why and how does the matching differ depending on the driver we're using for the bus? I would not expect that matching using the HDA identification registers would be something that varies depending on how we register the bus.