]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - sound/arm/pxa2xx-pcm.h
sound: aaci: Enable module alias autogeneration for AMBA drivers
[karo-tx-linux.git] / sound / arm / pxa2xx-pcm.h
index 43517597cab9587bb945e9dbb4e42bb95d4685ef..65f86b56ba422a2c28c6d0c70c731c6250df7c63 100644 (file)
@@ -9,21 +9,22 @@
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
+#include <mach/dma.h>
 
-typedef struct {
-       char *name;                     /* stream identifier */
-       u32 dcmd;                       /* DMA descriptor dcmd field */
-       volatile u32 *drcmr;            /* the DMA request channel to use */
-       u32 dev_addr;                   /* device physical address for DMA */
-} pxa2xx_pcm_dma_params_t;
-       
-typedef struct {
-       pxa2xx_pcm_dma_params_t *playback_params;
-       pxa2xx_pcm_dma_params_t *capture_params;
-       int (*startup)(snd_pcm_substream_t *);
-       void (*shutdown)(snd_pcm_substream_t *);
-       int (*prepare)(snd_pcm_substream_t *);
-} pxa2xx_pcm_client_t;
+struct pxa2xx_runtime_data {
+       int dma_ch;
+       struct pxa2xx_pcm_dma_params *params;
+       pxa_dma_desc *dma_desc_array;
+       dma_addr_t dma_desc_array_phys;
+};
 
-extern int pxa2xx_pcm_new(snd_card_t *, pxa2xx_pcm_client_t *, snd_pcm_t **);
+struct pxa2xx_pcm_client {
+       struct pxa2xx_pcm_dma_params *playback_params;
+       struct pxa2xx_pcm_dma_params *capture_params;
+       int (*startup)(struct snd_pcm_substream *);
+       void (*shutdown)(struct snd_pcm_substream *);
+       int (*prepare)(struct snd_pcm_substream *);
+};
+
+extern int pxa2xx_pcm_new(struct snd_card *, struct pxa2xx_pcm_client *, struct snd_pcm **);