]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - sound/arm/omap-aic23.h
[PATCH] ARM: OMAP: Alsa modularisations and support for tsc2101 1/3 (round 2)
[linux-2.6-omap-h63xx.git] / sound / arm / omap-aic23.h
index 50b4afbed83eb71b138f242283c6339c277bbe4b..c471d6cd6bbbc866222c03de6e2593a68f5b6428 100644 (file)
@@ -33,7 +33,8 @@
  *  2005/07/25 INdT-10LE Kernel Team -         Alsa driver for omap osk,
  *                                     original version based in sa1100 driver
  *                                     and omap oss driver.
- *  
+ *
+ *  2005-12-18   Dirk Behme      - Added L/R Channel Interchange fix as proposed by Ajaya Babu
  */
 
 #ifndef __OMAP_AIC23_H
@@ -85,22 +86,22 @@ struct audio_stream {
        snd_pcm_substream_t *stream;    /* the pcm stream */
        unsigned linked:1;      /* dma channels linked */
        int offset;             /* store start position of the last period in the alsa buffer */
+       int (*hw_start)(void);  /* interface to start HW interface, e.g. McBSP */
+       int (*hw_stop)(void);   /* interface to stop HW interface, e.g. McBSP */
 };
 
 /*
  * Alsa card structure for aic23
  */
-struct snd_card_omap_aic23 {
+struct snd_card_omap_codec {
        snd_card_t *card;
        snd_pcm_t *pcm;
        long samplerate;
        struct audio_stream s[2];       /* playback & capture */
 };
 
-/*********** Function Prototypes *************************/
-
-void audio_dma_callback(void *);
-int snd_omap_mixer(struct snd_card_omap_aic23 *);
+/*********** Mixer function prototypes *************************/
+int snd_omap_mixer(struct snd_card_omap_codec *);
 void snd_omap_init_mixer(void);
 /* Clock functions */
 int omap_aic23_clock_on(void);
@@ -111,6 +112,9 @@ void snd_omap_suspend_mixer(void);
 void snd_omap_resume_mixer(void);
 #endif
 
+/*********** function prototype to function called from the dma interrupt handler ******/
+void callback_omap_alsa_sound_dma(void *);
+
 /* Codec AIC23 */
 #if defined(CONFIG_SENSORS_TLV320AIC23) || defined (CONFIG_SENSORS_TLV320AIC23_MODULE)