DMA.c驱动函数分析

// 使用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]; // 返回设置的通道
}
c 文件大小:6.26KB