一. 简介
我们在前面几章编写的设备驱动都非常的简单,都是对
IO
进行最简单的读写操作。
像
I2C
、SPI
、
LCD
等这些复杂外设的驱动就不能这么去写了,
Linux
系统要考虑到驱动的可重用性,因
此,提出了驱动的分离与分层这样的软件思路,在这个思路下诞生了我们将来最常打交道的
platform
设备驱动,也叫做平台设备驱动。
接下来我们就来学习一下
Linux
下的驱动分离与分层,
以及
platform
框架下的设备驱动该如何编写。
二. Linux驱动分离与分层的简介
对于
Linux
这样一个成熟、庞大、复杂的操作系统,代码的重用性非常重要,否则的话,就会在
Linux 内核中存在大量无意义的重复代码。
尤其是驱动程序,因为驱动程序占用了
Linux
内核代码量的大头,如果不对驱动程序加以管理,任由重复的代码肆意增加,那么用不了多久
Linux
内核的文件数量就庞大到无法接受的地步。
假如,现在有三个平台
A
、
B
和
C