14 #include <linux/device.h>
15 #include <linux/kernel.h>
19 #include <linux/module.h>
60 snd_soc_dai_set_dma_data(cpu_dai, substream, (
void *)&host->
dma_params);
67 struct spdif_in_dev *host = snd_soc_dai_get_drvdata(dai);
73 snd_soc_dai_set_dma_data(dai, substream,
NULL);
97 struct spdif_in_dev *host = snd_soc_dai_get_drvdata(dai);
112 struct spdif_in_dev *host = snd_soc_dai_get_drvdata(dai);
124 spdif_in_configure(host);
154 .startup = spdif_in_startup,
155 .shutdown = spdif_in_shutdown,
156 .trigger = spdif_in_trigger,
157 .hw_params = spdif_in_hw_params,
166 SNDRV_PCM_RATE_192000),
170 .
ops = &spdif_in_dai_ops,
183 dev_err(host->
dev,
"spdif in: fifo write error");
185 dev_err(host->
dev,
"spdif in: empty fifo read error");
187 dev_err(host->
dev,
"spdif in: fifo full error");
189 dev_err(host->
dev,
"spdif in: out of range error");
212 resource_size(res), pdev->
name)) {
213 dev_warn(&pdev->
dev,
"Failed to get memory resourse\n");
235 if (IS_ERR(host->
clk))
236 return PTR_ERR(host->
clk);
238 pdata = dev_get_platdata(&pdev->
dev);
253 ret = devm_request_irq(&pdev->
dev, host->
irq, spdif_in_irq, 0,
284 .
probe = spdif_in_probe,
285 .remove = spdif_in_remove,