X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=sound%2Faoa%2Fsoundbus%2Fi2sbus%2Fi2sbus.h;h=ff29654782c96efdee2c3f9ba21064ea49bba393;hb=e3f9678c36dc81fde5dc86848d6d6077659ecaf0;hp=0c69d209be503db173fb6e7ca979425a7ed9a73a;hpb=225ec70a8cf5086a70d755e394c56186a30053d3;p=linux-2.6-omap-h63xx.git diff --git a/sound/aoa/soundbus/i2sbus/i2sbus.h b/sound/aoa/soundbus/i2sbus/i2sbus.h index 0c69d209be5..ff29654782c 100644 --- a/sound/aoa/soundbus/i2sbus/i2sbus.h +++ b/sound/aoa/soundbus/i2sbus/i2sbus.h @@ -10,6 +10,7 @@ #include #include #include +#include #include @@ -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,