On Wed, 2010-08-11 at 10:44 +0200, Sascha Hauer wrote:
On Tue, Aug 10, 2010 at 03:07:43PM +0100, Liam Girdwood wrote:
On Tue, 2010-08-10 at 15:15 +0200, Sascha Hauer wrote:
I just looked at the i.MX part in the multi-component update and this is currently far from being in a working state, so there's still some work to do before thinking about possible conflicts...
Ok, I don't think it's that far off. Everything builds for i.MX and all components should register. The part I can't test is the component probe() and playback/capture.
Have you seen an oops ?
Besides the patch that I just sent I get a null pointer deref without the following patch. I couldn't find who should set codec->ac97->bus->card, but it's null when I get here. Is this an i.MX fault or is there something else missing here?
That is set in the AC97 core and did work at the time of the RFC (when I could test on my now non working Zylonite). Although since the RFC there had been changes to use the dev_name for component binding and a little re-reordering on the bind (and would have affected this piece of code too).
Sascha
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 81a77e0..eddb26e 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -312,7 +312,7 @@ static int soc_ac97_dev_register(struct snd_soc_codec *codec) codec->ac97->dev.release = soc_ac97_device_release;
dev_set_name(&codec->ac97->dev, "%d-%d:%s",
codec->ac97->bus->card->number, 0, codec->name);
err = device_register(&codec->ac97->dev); if (err < 0) { snd_printk(KERN_ERR "Can't register ac97 bus\n");codec->snd_card->number, 0, codec->name);
This looks good to me, as card will be set after the device_register.
Thanks
Liam