diff options
-rw-r--r-- | arch/blackfin/include/asm/dma.h | 1 | ||||
-rw-r--r-- | arch/blackfin/kernel/bfin_dma_5xx.c | 5 |
2 files changed, 2 insertions, 4 deletions
diff --git a/arch/blackfin/include/asm/dma.h b/arch/blackfin/include/asm/dma.h index 045bd1ce72bf..c327135ff9dd 100644 --- a/arch/blackfin/include/asm/dma.h +++ b/arch/blackfin/include/asm/dma.h | |||
@@ -118,7 +118,6 @@ struct dma_channel { | |||
118 | struct dmasg *sg; /* large mode descriptor */ | 118 | struct dmasg *sg; /* large mode descriptor */ |
119 | unsigned int ctrl_num; /* controller number */ | 119 | unsigned int ctrl_num; /* controller number */ |
120 | unsigned int irq; | 120 | unsigned int irq; |
121 | irq_handler_t irq_callback; | ||
122 | void *data; | 121 | void *data; |
123 | unsigned int dma_enable_flag; | 122 | unsigned int dma_enable_flag; |
124 | unsigned int loopback_flag; | 123 | unsigned int loopback_flag; |
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c index b6cf643f5935..bdebab41419f 100644 --- a/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/arch/blackfin/kernel/bfin_dma_5xx.c | |||
@@ -140,7 +140,7 @@ int request_dma(unsigned int channel, const char *device_id) | |||
140 | #endif | 140 | #endif |
141 | 141 | ||
142 | dma_ch[channel].device_id = device_id; | 142 | dma_ch[channel].device_id = device_id; |
143 | dma_ch[channel].irq_callback = NULL; | 143 | dma_ch[channel].irq = 0; |
144 | 144 | ||
145 | /* This is to be enabled by putting a restriction - | 145 | /* This is to be enabled by putting a restriction - |
146 | * you have to request DMA, before doing any operations on | 146 | * you have to request DMA, before doing any operations on |
@@ -169,7 +169,6 @@ int set_dma_callback(unsigned int channel, irq_handler_t callback, void *data) | |||
169 | "Request irq in DMA engine failed.\n"); | 169 | "Request irq in DMA engine failed.\n"); |
170 | return -EPERM; | 170 | return -EPERM; |
171 | } | 171 | } |
172 | dma_ch[channel].irq_callback = callback; | ||
173 | } | 172 | } |
174 | return 0; | 173 | return 0; |
175 | } | 174 | } |
@@ -185,7 +184,7 @@ void free_dma(unsigned int channel) | |||
185 | disable_dma(channel); | 184 | disable_dma(channel); |
186 | clear_dma_buffer(channel); | 185 | clear_dma_buffer(channel); |
187 | 186 | ||
188 | if (dma_ch[channel].irq_callback != NULL) | 187 | if (dma_ch[channel].irq) |
189 | free_irq(dma_ch[channel].irq, dma_ch[channel].data); | 188 | free_irq(dma_ch[channel].irq, dma_ch[channel].data); |
190 | 189 | ||
191 | /* Clear the DMA Variable in the Channel */ | 190 | /* Clear the DMA Variable in the Channel */ |