Subject: Re: Revisited, audio codec device tree entries.

From: Timur Tabi <[email-masked]>
Date: Mon, 19 Nov 2007 10:44:13 -0600

Grant Likely wrote:

> You probably mean "don't use the of_platform bus to load the fabric
> driver". 

Yes, that is what I meant.

> He still needs to use the data in the device tree to decide
> what fabric drivers to use. 

I'm not sure about that.  The fabric driver is tied to the platform itself, 
mostly because the fabric driver isn't really a device driver.  It's a 
platform driver, in that its job is to initialize the other device drivers, or 
make sure the kernel initializes them.  It's also responsible for telling ALSA 
  which driver does what and how they're connected.

With the current version of ASoC (V1), I don't think it's possible to have an 
independent platform driver.  V2 is in development, but it's not ready yet and 
I haven't had a chance to study it.  V2 is intended to address the problems 
that a device tree model raises.

> In this case; it probably is appropriate to have the platform code
> instantiate a platform_device for the fabric (instead of an
> of_platform device) which the fabric driver can bind against.
> 
> Another option is to explicitly call of_platform_device_create in the
> platform code on the fabric node (which should be a child of the root
> node) so that you can have an of_platform_bus fabric driver.

I don't fully understand platform drivers.  Do we really need a full-blown OF 
platform driver for this?

-- 
Timur Tabi
Linux Kernel Developer @ Freescale