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. > > > This will instantiate all the child devices like pinctrl, SoundWire > > > Controller and so on. > > Just create platform devices like normal... > These are already modeled as platform devices, except the fact that > these are children of Codec device. No, you've got them as DT nodes.
Attachment:
signature.asc
Description: PGP signature