Symbol: qmc_audio
sound/soc/fsl/fsl_qmc_audio.c
276
struct qmc_audio *qmc_audio = dev_get_drvdata(component->dev);
sound/soc/fsl/fsl_qmc_audio.c
281
for (i = 0; i < qmc_audio->num_dais; i++) {
sound/soc/fsl/fsl_qmc_audio.c
282
dai_driver = qmc_audio->dai_drivers + i;
sound/soc/fsl/fsl_qmc_audio.c
349
struct qmc_audio *qmc_audio = snd_soc_dai_get_drvdata(dai);
sound/soc/fsl/fsl_qmc_audio.c
351
return dai->driver - qmc_audio->dai_drivers;
sound/soc/fsl/fsl_qmc_audio.c
356
struct qmc_audio *qmc_audio = snd_soc_dai_get_drvdata(dai);
sound/soc/fsl/fsl_qmc_audio.c
360
if (index > qmc_audio->num_dais)
sound/soc/fsl/fsl_qmc_audio.c
363
return qmc_audio->dais + index;
sound/soc/fsl/fsl_qmc_audio.c
743
static int qmc_audio_dai_parse(struct qmc_audio *qmc_audio, struct device_node *np,
sound/soc/fsl/fsl_qmc_audio.c
762
qmc_dai->dev = qmc_audio->dev;
sound/soc/fsl/fsl_qmc_audio.c
766
dev_err(qmc_audio->dev, "%pOF: failed to read reg\n", np);
sound/soc/fsl/fsl_qmc_audio.c
771
qmc_dai->name = devm_kasprintf(qmc_audio->dev, GFP_KERNEL, "%s.%d",
sound/soc/fsl/fsl_qmc_audio.c
778
return dev_err_probe(qmc_audio->dev, count,
sound/soc/fsl/fsl_qmc_audio.c
781
return dev_err_probe(qmc_audio->dev, -EINVAL,
sound/soc/fsl/fsl_qmc_audio.c
784
qmc_dai->qmc_chans = devm_kcalloc(qmc_audio->dev, count, sizeof(*qmc_dai->qmc_chans),
sound/soc/fsl/fsl_qmc_audio.c
790
qmc_dai->qmc_chans[i] = devm_qmc_chan_get_byphandles_index(qmc_audio->dev, np,
sound/soc/fsl/fsl_qmc_audio.c
793
return dev_err_probe(qmc_audio->dev, PTR_ERR(qmc_dai->qmc_chans[i]),
sound/soc/fsl/fsl_qmc_audio.c
799
dev_err(qmc_audio->dev, "dai %d get QMC %d channel info failed %d\n",
sound/soc/fsl/fsl_qmc_audio.c
805
dev_err(qmc_audio->dev, "dai %d QMC chan %d mode %d is not QMC_TRANSPARENT\n",
sound/soc/fsl/fsl_qmc_audio.c
821
dev_err(qmc_audio->dev, "dai %d QMC chan %d inconsistent number of Tx timeslots (%u instead of %u)\n",
sound/soc/fsl/fsl_qmc_audio.c
826
dev_err(qmc_audio->dev, "dai %d QMC chan %d inconsistent number of Rx timeslots (%u instead of %u)\n",
sound/soc/fsl/fsl_qmc_audio.c
831
dev_err(qmc_audio->dev, "dai %d QMC chan %d inconsistent Tx frame sample rate (%lu instead of %lu)\n",
sound/soc/fsl/fsl_qmc_audio.c
836
dev_err(qmc_audio->dev, "dai %d QMC chan %d inconsistent Rx frame sample rate (%lu instead of %lu)\n",
sound/soc/fsl/fsl_qmc_audio.c
844
dev_err(qmc_audio->dev, "dai %d get QMC %d channel TS info failed %d\n",
sound/soc/fsl/fsl_qmc_audio.c
853
dev_err(qmc_audio->dev, "dai %d QMC chan %d unordered channels (RX timeslot %d before %d)\n",
sound/soc/fsl/fsl_qmc_audio.c
858
dev_err(qmc_audio->dev, "dai %d QMC chan %d unordered channels (TX timeslot %d before %d)\n",
sound/soc/fsl/fsl_qmc_audio.c
907
struct qmc_audio *qmc_audio;
sound/soc/fsl/fsl_qmc_audio.c
912
qmc_audio = devm_kzalloc(&pdev->dev, sizeof(*qmc_audio), GFP_KERNEL);
sound/soc/fsl/fsl_qmc_audio.c
913
if (!qmc_audio)
sound/soc/fsl/fsl_qmc_audio.c
916
qmc_audio->dev = &pdev->dev;
sound/soc/fsl/fsl_qmc_audio.c
918
qmc_audio->num_dais = of_get_available_child_count(np);
sound/soc/fsl/fsl_qmc_audio.c
919
if (qmc_audio->num_dais) {
sound/soc/fsl/fsl_qmc_audio.c
920
qmc_audio->dais = devm_kcalloc(&pdev->dev, qmc_audio->num_dais,
sound/soc/fsl/fsl_qmc_audio.c
921
sizeof(*qmc_audio->dais),
sound/soc/fsl/fsl_qmc_audio.c
923
if (!qmc_audio->dais)
sound/soc/fsl/fsl_qmc_audio.c
926
qmc_audio->dai_drivers = devm_kcalloc(&pdev->dev, qmc_audio->num_dais,
sound/soc/fsl/fsl_qmc_audio.c
927
sizeof(*qmc_audio->dai_drivers),
sound/soc/fsl/fsl_qmc_audio.c
929
if (!qmc_audio->dai_drivers)
sound/soc/fsl/fsl_qmc_audio.c
935
ret = qmc_audio_dai_parse(qmc_audio, child,
sound/soc/fsl/fsl_qmc_audio.c
936
qmc_audio->dais + i,
sound/soc/fsl/fsl_qmc_audio.c
937
qmc_audio->dai_drivers + i);
sound/soc/fsl/fsl_qmc_audio.c
945
platform_set_drvdata(pdev, qmc_audio);
sound/soc/fsl/fsl_qmc_audio.c
947
ret = devm_snd_soc_register_component(qmc_audio->dev,
sound/soc/fsl/fsl_qmc_audio.c
949
qmc_audio->dai_drivers,
sound/soc/fsl/fsl_qmc_audio.c
950
qmc_audio->num_dais);