Merge branch 'linus' into sched/core, to resolve conflicts
[linux.git] / sound / soc / samsung / dma.h
1 /*
2  *  dma.h --
3  *
4  *  This program is free software; you can redistribute  it and/or modify it
5  *  under  the terms of  the GNU General  Public License as published by the
6  *  Free Software Foundation;  either version 2 of the  License, or (at your
7  *  option) any later version.
8  *
9  *  ALSA PCM interface for the Samsung SoC
10  */
11
12 #ifndef _S3C_AUDIO_H
13 #define _S3C_AUDIO_H
14
15 #include <sound/dmaengine_pcm.h>
16
17 struct s3c_dma_params {
18         struct s3c2410_dma_client *client;      /* stream identifier */
19         int channel;                            /* Channel ID */
20         dma_addr_t dma_addr;
21         int dma_size;                   /* Size of the DMA transfer */
22         unsigned ch;
23         struct samsung_dma_ops *ops;
24         char *ch_name;
25         struct snd_dmaengine_dai_dma_data dma_data;
26 };
27
28 void samsung_asoc_init_dma_data(struct snd_soc_dai *dai,
29                                 struct s3c_dma_params *playback,
30                                 struct s3c_dma_params *capture);
31 int samsung_asoc_dma_platform_register(struct device *dev);
32 void samsung_asoc_dma_platform_unregister(struct device *dev);
33
34 #endif