第一个驱动程序 - 用于linux的spi框架

时间:2012-12-28 07:38:47

标签: linux-device-driver

这是我第一次为ADS7846的linux SPI框架编写驱动程序。 找到这个优秀的教程来了解linux SPI的概念:--- http://www.jumpnowtek.com/index.php?option=com_content&view=article&id=57&Itemid=62

它还有一个样本co-de。 https://github.com/scottellis/spike/blob/part3/spike.c

1>几点我无法理解为什么我们使用信号量 访问 - spike_dev.user_buff。

我们真的需要信号量吗?因为我的应用程序一次只会读取()或写()或打开()驱动程序?

2 - ;另外要选择我们使用的芯片选择: -    / *指定芯片选择线* /

SPI_BUS_CS1

这就是为什么我们没有指定CS-line连接到哪个PORT?

3>正如我所读的那样,spinlock应该与interupt处理程序一起使用。这个螺旋锁在驱动程序中的用途是什么?    这里我们没有spi Interupt handler.But在访问时 - spi_async& spi_device - 我们使用的是spinlock?

spin_lock_irqsave    spi_async spin_unlock_irqrestore

4>我们也可以在同一个SPI设备上注册多个“协议驱动程序”吗?

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

2 - ;在.controllerdata中可以提到总线num和chipselect是枚举SPI设备

3>它用于可以睡觉的儿童