]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - sound/aoa/soundbus/i2sbus/i2sbus.h
Merge branches 'release' and 'hp-cid' into release
[linux-2.6-omap-h63xx.git] / sound / aoa / soundbus / i2sbus / i2sbus.h
index 0c69d209be503db173fb6e7ca979425a7ed9a73a..ff29654782c96efdee2c3f9ba21064ea49bba393 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/interrupt.h>
 #include <linux/spinlock.h>
 #include <linux/mutex.h>
+#include <linux/completion.h>
 
 #include <sound/pcm.h>
 
@@ -34,6 +35,7 @@ struct dbdma_command_mem {
        void *space;
        int size;
        u32 running:1;
+       u32 stopping:1;
 };
 
 struct pcm_info {
@@ -45,6 +47,7 @@ struct pcm_info {
        u32 frame_count;
        struct dbdma_command_mem dbdma_ring;
        volatile struct dbdma_regs __iomem *dbdma;
+       struct completion *stop_completion;
 };
 
 enum {
@@ -97,9 +100,12 @@ i2sbus_attach_codec(struct soundbus_dev *dev, struct snd_card *card,
 extern void
 i2sbus_detach_codec(struct soundbus_dev *dev, void *data);
 extern irqreturn_t
-i2sbus_tx_intr(int irq, void *devid, struct pt_regs *regs);
+i2sbus_tx_intr(int irq, void *devid);
 extern irqreturn_t
-i2sbus_rx_intr(int irq, void *devid, struct pt_regs *regs);
+i2sbus_rx_intr(int irq, void *devid);
+
+extern void i2sbus_wait_for_stop_both(struct i2sbus_dev *i2sdev);
+extern void i2sbus_pcm_prepare_both(struct i2sbus_dev *i2sdev);
 
 /* control specific functions */
 extern int i2sbus_control_init(struct macio_dev* dev,