diff options
| -rw-r--r-- | sound/soc/soc-utils.c | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/sound/soc/soc-utils.c b/sound/soc/soc-utils.c index 0c12b98484bd..4220bb0f2730 100644 --- a/sound/soc/soc-utils.c +++ b/sound/soc/soc-utils.c | |||
| @@ -58,7 +58,36 @@ int snd_soc_params_to_bclk(struct snd_pcm_hw_params *params) | |||
| 58 | } | 58 | } |
| 59 | EXPORT_SYMBOL_GPL(snd_soc_params_to_bclk); | 59 | EXPORT_SYMBOL_GPL(snd_soc_params_to_bclk); |
| 60 | 60 | ||
| 61 | static struct snd_soc_platform_driver dummy_platform; | 61 | static const struct snd_pcm_hardware dummy_dma_hardware = { |
| 62 | .formats = 0xffffffff, | ||
| 63 | .channels_min = 1, | ||
| 64 | .channels_max = UINT_MAX, | ||
| 65 | |||
| 66 | /* Random values to keep userspace happy when checking constraints */ | ||
| 67 | .info = SNDRV_PCM_INFO_INTERLEAVED | | ||
| 68 | SNDRV_PCM_INFO_BLOCK_TRANSFER, | ||
| 69 | .buffer_bytes_max = 128*1024, | ||
| 70 | .period_bytes_min = PAGE_SIZE, | ||
| 71 | .period_bytes_max = PAGE_SIZE*2, | ||
| 72 | .periods_min = 2, | ||
| 73 | .periods_max = 128, | ||
| 74 | }; | ||
| 75 | |||
| 76 | static int dummy_dma_open(struct snd_pcm_substream *substream) | ||
| 77 | { | ||
| 78 | snd_soc_set_runtime_hwparams(substream, &dummy_dma_hardware); | ||
| 79 | |||
| 80 | return 0; | ||
| 81 | } | ||
| 82 | |||
| 83 | static struct snd_pcm_ops dummy_dma_ops = { | ||
| 84 | .open = dummy_dma_open, | ||
| 85 | .ioctl = snd_pcm_lib_ioctl, | ||
| 86 | }; | ||
| 87 | |||
| 88 | static struct snd_soc_platform_driver dummy_platform = { | ||
| 89 | .ops = &dummy_dma_ops, | ||
| 90 | }; | ||
| 62 | 91 | ||
| 63 | static __devinit int snd_soc_dummy_probe(struct platform_device *pdev) | 92 | static __devinit int snd_soc_dummy_probe(struct platform_device *pdev) |
| 64 | { | 93 | { |
