24 #include <linux/module.h>
25 #include <linux/device.h>
27 #include <linux/slab.h>
40 #define MOD_REG_BIT(val, mask, set) do { \
57 snd_soc_dai_get_drvdata(rtd->
cpu_dai);
75 struct davinci_vcif_dev *davinci_vcif_dev =
76 snd_soc_dai_get_drvdata(rtd->
cpu_dai);
77 struct davinci_vc *davinci_vc = davinci_vcif_dev->
davinci_vc;
94 struct davinci_vcif_dev *davinci_vcif_dev = snd_soc_dai_get_drvdata(dai);
95 struct davinci_vc *davinci_vc = davinci_vcif_dev->
davinci_vc;
101 davinci_vcif_stop(substream);
102 davinci_vcif_start(substream);
161 davinci_vcif_start(substream);
166 davinci_vcif_stop(substream);
178 struct davinci_vcif_dev *
dev = snd_soc_dai_get_drvdata(dai);
180 snd_soc_dai_set_dma_data(dai, substream, dev->
dma_params);
184 #define DAVINCI_VCIF_RATES SNDRV_PCM_RATE_8000_48000
187 .startup = davinci_vcif_startup,
188 .trigger = davinci_vcif_trigger,
189 .hw_params = davinci_vcif_hw_params,
203 .ops = &davinci_vcif_dai_ops,
209 struct davinci_vc *davinci_vc = pdev->
dev.platform_data;
210 struct davinci_vcif_dev *davinci_vcif_dev;
214 sizeof(
struct davinci_vcif_dev),
216 if (!davinci_vcif_dev) {
218 "could not allocate memory for private data\n");
239 dev_err(&pdev->
dev,
"could not register dai\n");
245 dev_err(&pdev->
dev,
"register PCM failed: %d\n", ret);
262 .probe = davinci_vcif_probe,
263 .remove = davinci_vcif_remove,
265 .name =
"davinci-vcif",