在linux内核3.14.43添加自己的驱动源码,linux内核如何加入自己的驱动

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mynameislinduan/article/details/89401001

原创,转载请标明出处

1. 添加自己的文件夹

在驱动里面加入自己的文件夹,例如我在driver/char/文件夹里面加入自己的pwm驱动,我需要在char目录下,新建一个pwm_bl目录,在此目录里面放入你的驱动源码 am335x_backlight.c。

2. 添加Makefile

同时,在pwm_bl目录里面,加入自己的Makefile,对应文件am335x_backlight.c, 里面写入一句话即可:

obj-y += am335x_backlight.o

注意,名字一定要对应am335x_backlight.c, 这样才能被编译工具识别,否无效报错。
这表示把驱动源码编译到内核里面,如果做成menuconfig中可选M或者*的话,需要这样写:

obj-$(CONFIG_AM335X_BACKLIGHT) += am335x_backlight.o

3. 添加Kconfig

在同一目录中,新建Kconfig文件,文件加入如下内容,这个内容可以在内核menuconifg里面看到:

menu "WQ-pwm-driver "
comment "am335X pwm backlight"


config AM335X_BACKLIGHT
	tristate "wq pwm driver"
	help
	this is WQ pwm driver
endmenu

同样,注意名字: AM335X_BACKLIGHT

4. 在上一层目录中修改Makefile和Kconfig

我们在上一层目录中,也就是:driver/char中,修改当前的Makefile和Kconfig:

  • 在Kconfig中的文件末尾,加入:
source "drivers/char/pwm_bl/Kconfig"
  • 在driver/char的Makefile中,末尾添加:
 obj-y += pwm_bl/

表示编译此代码到内核里面去!也就是menuconfig的星号,如果不想直接编到内核里面去的话,需要修改一下。

  • 在driver/char的Makefile中,末尾添加:
obj-$(AM335X_BACKLIGHT)		+= pwm_bl/

5. Make,编译内核!

make modules SUBDIRS=drivers/char/pwm_bl
这样可以只是编译drivers/char/pwm_bl/目录下的ko模块

猜你喜欢

转载自blog.csdn.net/mynameislinduan/article/details/89401001
今日推荐