[alsa-devel] Thoughts on ASOC v2 driver architecture

Timur Tabi timur at freescale.com
Mon Jun 16 18:01:36 CEST 2008


Jon Smirl wrote:

> The drivers are creating their own platform devices. Constructing them
> in the driver builds in the assumption that if the driver is loaded,
> then the devices are present.  But that's not right in my case, I have
> four fabric drivers built in and I only want one of them active.

You have two choices:

1) Load all drivers.  In each driver's __init section, let it determine whether
it should load or not.  If not, it can fail silently.  Off the top of my head, I
don't remember how to do that.

2) Use the Kernel Module Loader to dynamically load the module you want.  I
don't know how this works either.

> The devices are being created in the wrong place. So instead of my
> proposal of reading the platform name out of the device tree and
> loading the driver from fsl_ssi,  in Timur's case the fabric device
> should be created in arch/powerpc/platforms/86xx/mpc8610_hpcd.c.
> PowerPC is already capable of making the codec device from the device
> tree.

True, but I chose to keep it in sound/soc/fsl so that I wouldn't have to push 3
drivers to alsa-devel and one driver to linuxppc-dev.

-- 
Timur Tabi
Linux kernel developer at Freescale


More information about the Alsa-devel mailing list