aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/blackfin/include/asm/dma.h1
-rw-r--r--arch/blackfin/kernel/bfin_dma_5xx.c5
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 */