On 1/2/08, Jon Smirl jonsmirl@gmail.com wrote:
On 1/2/08, Grant Likely grant.likely@secretlab.ca wrote:
Alternatively, the best place for this device would be on the ASOC bus, but the ASOC bus hasn't been created when the platform code runs. Maybe I can figure out a place in the platform code to create this device after the ASOC driver has loaded and created the bus. Does the platform code get control back after loading all of the device drivers?
Yes, but it requires the core ASoC code to not be a module. Then you can use machine_device_initcall() to register the device at a later time.
How about this for a simpler solution? My mpc5200-psc-ac97 and mpc5200-psc-i2c drivers can create a device on the ASOC bus named after the first entry in the compatible field of the root node. That will cause the correct driver to get activated. I'm in the process of making ASOC drivers dynamically loadable like the i2c ones.
I little icky, but it doesn't sound dangerous (as in shouldn't cause any name conflicts). That may be the best we can do for the time being. But I don't think it is a good idea for the long term.
Cheers, g.