2015年4月20日 星期一

Linux kernel 開發基礎 (三)- 新增platform device

新增platform device


並不複雜,

只需要更改三個地方

1. makefile

根據kconfig的設定,

定義要build的檔案

例如範例中的

obj-$(CONFIG_HELLO_DRIVER) += hello.o

這裡定義了:

CONFIG_HELLO_DRIVER為y

就將hello這個檔案build進kernel



2. kconfig

定義了driver 簡易描述以及預設值,

與makefile一起,

為kernel建立tree管理之用,

在make menuconfig時,

可將該driver相關訊息顯示在視窗界面

config HELLO_DRIVER
    default y
    tristate "Hello Driver"
help
 Say Y here if you want to enable hello driver.

這裡定義了一個新的driver HELLO_DRIVER,,

預設值為y

3. driver本身

static struct platform_driver hello_driver = {
.probe = hello_probe,
.remove = __devexit_p(hello_remove),
.driver = {
.name = "hello",
.owner = THIS_MODULE,
},
.suspend = hello_suspend,
.resume = hello_resume,
};

driver定義著platform device的功能,

如果還是不是很了解,

可以下載範例程式去build 看看

沒有留言: