diff options
Diffstat (limited to 'sound/aoa/soundbus/i2sbus/i2sbus.h')
-rw-r--r-- | sound/aoa/soundbus/i2sbus/i2sbus.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/aoa/soundbus/i2sbus/i2sbus.h b/sound/aoa/soundbus/i2sbus/i2sbus.h index ec20ee615d7f..ff29654782c9 100644 --- a/sound/aoa/soundbus/i2sbus/i2sbus.h +++ b/sound/aoa/soundbus/i2sbus/i2sbus.h | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <linux/interrupt.h> | 10 | #include <linux/interrupt.h> |
11 | #include <linux/spinlock.h> | 11 | #include <linux/spinlock.h> |
12 | #include <linux/mutex.h> | 12 | #include <linux/mutex.h> |
13 | #include <linux/completion.h> | ||
13 | 14 | ||
14 | #include <sound/pcm.h> | 15 | #include <sound/pcm.h> |
15 | 16 | ||
@@ -34,6 +35,7 @@ struct dbdma_command_mem { | |||
34 | void *space; | 35 | void *space; |
35 | int size; | 36 | int size; |
36 | u32 running:1; | 37 | u32 running:1; |
38 | u32 stopping:1; | ||
37 | }; | 39 | }; |
38 | 40 | ||
39 | struct pcm_info { | 41 | struct pcm_info { |
@@ -45,6 +47,7 @@ struct pcm_info { | |||
45 | u32 frame_count; | 47 | u32 frame_count; |
46 | struct dbdma_command_mem dbdma_ring; | 48 | struct dbdma_command_mem dbdma_ring; |
47 | volatile struct dbdma_regs __iomem *dbdma; | 49 | volatile struct dbdma_regs __iomem *dbdma; |
50 | struct completion *stop_completion; | ||
48 | }; | 51 | }; |
49 | 52 | ||
50 | enum { | 53 | enum { |
@@ -101,6 +104,9 @@ i2sbus_tx_intr(int irq, void *devid); | |||
101 | extern irqreturn_t | 104 | extern irqreturn_t |
102 | i2sbus_rx_intr(int irq, void *devid); | 105 | i2sbus_rx_intr(int irq, void *devid); |
103 | 106 | ||
107 | extern void i2sbus_wait_for_stop_both(struct i2sbus_dev *i2sdev); | ||
108 | extern void i2sbus_pcm_prepare_both(struct i2sbus_dev *i2sdev); | ||
109 | |||
104 | /* control specific functions */ | 110 | /* control specific functions */ |
105 | extern int i2sbus_control_init(struct macio_dev* dev, | 111 | extern int i2sbus_control_init(struct macio_dev* dev, |
106 | struct i2sbus_control **c); | 112 | struct i2sbus_control **c); |