[alsa-devel] ASoC driver parts probing order (MPC5200/MPC5121)

David Jander david.jander at protonic.nl
Thu Oct 20 15:26:33 CEST 2011

On Thu, 20 Oct 2011 13:35:13 +0100
Mark Brown <broonie at opensource.wolfsonmicro.com> wrote:
> > of the probe function. So obviously, it is supposed that the DMA driver
> > somehow gets probed before the PSC driver, but I can't see where this is
> > enforced. AFAIK, the order is fairly random, so it could be the other way
> > around.... and indeed, in my case it is.
> The order the device model devices get probed in is entirely random and
> any driver which is relying on this is buggy.

That's what I understood, but I was being reluctant to fix something I
couldn't prove to be broken, nor being able to verify the fix. Fortunately
Wolfram Sang offered to help out with testing on the MPC5200B.

> > 2.- Simply turning the dev_get/set_drvdata and chip initialization order
> > around does work in my case, but doesn't seem a robust solution to me. Any
> > idea how this should be handled?
> I'd expect that delaying whatever relies on both devices being there
> until the ASoC level probes happen is the way forward - you're
> guaranteed that both deivces will be present there and the probe
> ordering is guaranteed stable.

Thanks. I will investigate that path.
If you have a quick look at the named files(mpc5200-ac97.c and mpc5200_dma.c)
in mainline, can you confirm that it is indeed the wrong way of doing this?

Best regards,

David Jander
Protonic Holland.

More information about the Alsa-devel mailing list