diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 6cee97e23da67c453013de5ddf760186744b9a71..63c80e634a37cd858966ae85d27308813fb3f9af 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -3051,8 +3051,11 @@ int snd_soc_register_dais(struct device *dev, } dai->dev = dev; - dai->id = i; dai->driver = &dai_drv[i]; + if (dai->driver->id) + dai->id = dai->driver->id; + else + dai->id = i; if (!dai->driver->ops) dai->driver->ops = &null_dai_ops;