【设备注册到内核】

设备注册到内核

说起驱动开发,都不可能绕过的就是设备注册啦,也不得不提到devfs.

devfs是Linux 2.4内核被引入的,可以通过程序在设备初始化时在/dev目录里创建设备文件,也可以卸载它们.使用devfs也可以指定设备名|所有者|权限位(用户空间仍可以修改后俩者),可以使用register_chrdev()传递0以获得可用主设备号,devfs_register()指定次设备号.(方法比较老,可以bd些新东西)

现在主流都很少看到那玩意了,我们该咋整呢?
拿platform举例子哈:

int platform_device_register(struct platform_device *)
void platform_device_unregister(struct platform_device *)

是不是很简单,当然我们得了解一下,咱们现在设备和驱动匹配是靠设备名来的,所以platform__device结构体中是这样的:

 struct platform_device {           //  platform总线设备
     const char    * name;          //  平台设备的名字
     int        id;                 //   ID 是用来区分如果设备名字相同的时候(通过在后面添加一个数字来代表不同的设备,因为有时候有这种需求)
     struct device    dev;          //   内置的device结构体
     u32        num_resources;      //   资源结构体数量
     struct resource    * resource; //   指向一个资源结构体数组
 
     const struct platform_device_id    *id_entry; //  用来进行与设备驱动匹配用的id_table表
 
     /* arch specific additions */
     struct pdev_archdata    archdata;             //  自留地    添加自己的东西
 };

读完是不是豁然开朗?qwq

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值