Linux驱动之设备注册和驱动注册分析

本文介绍了Linux驱动中的设备注册和驱动注册方法。设备注册包括以module方式和虚拟平台方式,后者通过修改Kconfig、添加设备结构体并重新编译内核实现。驱动注册涉及platform_driver_register函数,通过probe函数匹配设备并进行驱动初始化,如字符设备和杂项设备的注册过程。
摘要由CSDN通过智能技术生成

最近在学习讯为的linux驱动,学习了接近两个月的时间,一直对设备注册和驱动注册方式方法有一些模糊,今天刚注册CSDN,第一篇文章就理清一下设备注册和驱动注册的思路,方便后面的学习,仅仅个人理解:
1.设备注册
设备注册方式:
1、以module方式注册设备:这个是教程开始讲解的,大概目的是为了让学者对设备 注册有更加深刻的认识,而非项目实际中运用方法。
2、采用虚拟平台方式注册设备(目前用的最多的也是这种):
a.进入kernel文件目录,进入你想将设备添加到的目录,vim Kconfig 命令添加你需要添加的设备,例如:vim drivers/char/Kconfig
config LEDS_CTL
bool “Enable LEDS config”
default y
help
Enable LEDS config

b.进入平台文件,添加设备结构体:vim arch/arm/mach-exynos/mach-itop4412.c
#ifdef CONFIG_LEDS_CTL
struct platform_device s3c_device_leds_ctl = {
.name = “leds”,
.id = -1,
};
#endif

#ifdef CONFIG_LEDS_CTL
&s3c_device_leds_ctl,
#endif

c.进入kernel根目录,make menuconfig命令进入配置界面,勾选你刚才添加的设备,退出保存,最后 make zImage,生成zImage,重新烧写开发板zImage文件,至此,设备注册完成。

2.驱动注册:
1.虚拟总线驱动注册函数platform_driver_register(struct platform_driver *)
struct platform_driver {
int (*probe)(struct platform_device *);
int (*remove)(struct platform_device *);
void (*shutdown)(struct platform_de

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值