//使用DMA 锁
/*EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码公开,不用修改内核代码就
可以在您的内核模块中直接调用,即使用EXPORT_SYMBOL可以将一个函数以符号的方式导
出给其他模块使用 */
EXPORT_SYMBOL(dma_spin_lock);
static dma_t *dma_chan[MAX_DMA_CHANNELS]; //通道对应的指针数组
//申明DMA通道选择函数为内联函数
static inline dma_t *dma_channel(unsigned int chan)
{
if(chan >= MAX_DMA_CHANNELS) //判断是否大于最大DMA通道
return NULL; //通道申请失败
else
return dma_chan[chan];//返回设置的通道
}