I had to fix these to get my drivers to load.
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 1ead550..4358f74 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1330,7 +1331,7 @@ int snd_soc_codec_add_dai(struct snd_soc_codec *codec, if (dai_runtime == NULL) goto err; - dai_runtime->dai = dai; + dai_runtime->dai = dai++; dai_runtime->codec = codec; list_add(&dai_runtime->list, &codec->dai_list); @@ -1382,7 +1383,7 @@ int snd_soc_platform_add_dai(struct snd_soc_platform *platform, if (dai_runtime == NULL) goto err; - dai_runtime->dai = dai; + dai_runtime->dai = dai++; dai_runtime->platform = platform; list_add(&dai_runtime->list, &platform->dai_list); @@ -1479,6 +1480,7 @@ int snd_soc_codec_create(struct snd_soc_machine *machine, codec->dev.parent = machine->dev; codec->dev.release = codec_dev_release; codec->machine = machine; + codec->name = (char *)codec_id; mutex_init(&codec->mutex); INIT_LIST_HEAD(&codec->dai_list);