On 03/07/2019 12:52, Mark Brown wrote:
On Wed, Jul 03, 2019 at 09:49:37AM +0100, Srinivas Kandagatla wrote:
On 02/07/2019 17:57, Mark Brown wrote:
This is a driver for a single device, you should be able to instantiate things without requiring binding through DT (and hence support non-DT systems such as those using ACPI).
My view point atleast from hw side was that Codec is Parent which is encompassing these different blocks and bus interface. DT representation clearly showed that relationship between the parent and child devices. Binding it through DT will make sure that resources are ready before they are instantiated.
All the child devices also have some machine/board specific properties and dependency on resources from parent like regmap, clks, and bus.
In ACPI case, am not 100% sure how these will be represented inline with hw representation.
Are you suggesting to use MFD here?
I'm saying that you should be using a MFD here like all the other CODECs with multiple functions and that you shouldn't have compatible strings in DT for the subfunctions since you already know they'll be there simply from enumerating the chip as a whole and how exactly they are divided up is a function of how Linux currently has subsystems, not of the hardware.
Got it!, thanks for the input, I will change that in v2.
--srin