On Wed, Apr 18, 2018 at 06:18:44PM +0530, Mukunda,Vijendar wrote:
On Wednesday 18 April 2018 04:54 PM, Mark Brown wrote:
On Wed, Apr 18, 2018 at 04:34:52PM +0530, Vijendar Mukunda wrote:
When multiple I2S controller instances created, i2s_instance parameter refers to i2s controller instance value.
You're missing the point here a bit - it's not just the defines for the magic numbers that are the problem, it's the whole idea of passing instance numbers around like this that's the big problem. Whatever you
In Audio Coprocessor (ACP), There are three I2S controllers can be configured/enabled.(I2S SP, I2S MICSP, BT I2S) Default enabled I2S controller instance is I2S SP instance. There is a requirement to enable BT I2S controller Instance along with I2S SP controller instance in one of our platforms Which has multiple codecs connected to each instance.
Describing how the system is wired up is the function of the machine driver. The individual drivers should just take configuration from the machine driver.
We have added one more parameter i2s instance to dwc platform data. So that AMDGPU ACP Driver will pass I2S controller instance value to dwc driver while creating device nodes for I2S Controllers.
This is not the way to do this - you can already get the struct device for all the children from when they were instantiated, you should be able to use this to reference them so you can bind the machine driver. There's facilities for doing this (mostly serializing into dev_name() as this was mostly used by board file based machines) which are already used, if there's problems we should extend those rather than hacking things into every single driver.