Android 添加驅動的兩種方式
下面介紹,在Android系統中如何將驅動添加到kernel中。
要求:將驅動queue.c添加kernel中。
方案:下面介紹2種實現方案。2種方案的本質是一樣的,區別是一種在menuconfig中單獨建立菜單,而另一種則不在menuconfig中單獨新建菜單,而是修改已有的配置文件。
1方案一
方案一中,采取的方法是:不新建config菜單,直接將驅動添加到已有的Kconfig中。下面介紹詳細步驟。
1.1修改已有配置文件
(1)修改配置文件driver/char/Kconfig,添加如下內容:
config SKYWANG_CQUEUE tristate "skywang char queue driver" help add this to support skywang char queueue
(2)修改配置文件driver/char/Makefile,添加如下內容:
obj-$(CONFIG_SKYWANG_CQUEUE) += cqueue.o
1.2 添加“驅動代碼”
添加驅動文件,驅動文件路徑如下:
drivers/char/cqueue.c
1.3 添加驅動
執行make menuconfig打開配置界面,並將驅動cqueue.c添加到kernel中。
如圖01,是添加cqueue.c前的選項:

如圖02,是添加cqueue.c后的選項:

1.4 驗證是否添加成功
查看.config文件,應該有如下配置選項:
CONFIG_SKYWANG_CQUEUE=y
2方案二
方案二中,采取的方法是:新建config菜單,將驅動添加到新建的Kconfig中。下面介紹詳細步驟。
2.1修改已有配置文件
(1)修改配置文件driver/char/Kconfig,添加如下內容:
source "drivers/char/skywang/Kconfig"
(2)修改配置文件driver/char/Makefile,添加如下內容:
obj-$(CONFIG_SKYWANG_CQUEUE) += skywang/
2.2新建“驅動配置”
(1)在driver/char下新建目錄,新建后的目錄完整路徑如下:
driver/char/skywang
(2)新建drivers/char/skywang/Kconfig文件,內容如下:
menu "skywang test devices" config SKYWANG_CQUEUE tristate "skywang char queue driver" help add this to support skywang char queueue endmenu
(3)新建drivers/char/skywang/Makefile文件,內容如下:
obj-$(CONFIG_SKYWANG_CQUEUE) += cqueue.o
2.3 添加“驅動代碼”
拷貝驅動文件,拷貝后的文件路徑如下:
drivers/char/skywang/cqueue.c
2.4 添加驅動
執行make menuconfig打開配置界面,並將驅動cqueue.c添加到kernel中。
如圖03,是添加cqueue.c前的選項:

如圖04,是添加cqueue.c后的選項:

如圖05,選擇“skywang test drivers”后進入的子菜單界面:

2.5 驗證是否添加成功
查看.config文件,應該有如下配置選項:
CONFIG_SKYWANG_CQUEUE=y
