linux总线,设备,驱动注册

遵守UDEV设备模型,

首先注册总线,然后是总线设备,之后是具体设备注册,注册完之后就可以在sys/bus相应的目录下面找到挂载这个总线上的设备,最后是注册驱动,驱动会查询总线上的设备进行绑定。

比如:自定义一个设备是my_vir_device,使用总线是vir_bus。

1.注册总线类型

struct bus_type vir_bus_type = {

.name = "my_vir",

.match = my_vir_match,

}

bus_register(&vir_bus_type);

2.注册总线设备

struct device my_vir_bus = {

.bus_id = "my_vir",

}

device_register(&my_vir_bus);

3.注册设备驱动

struct device my_vir_device;

my_vir_device.bus = &vir_bus_type;

my_vir_device.parent = &my_vir_bus;

my_vir_device.bus_id = "my_vir";

device_register(&my_vir_device);

3.驱动注册

struct device_driver my_vir_driver;

my_vir_driver.bus = &vir_bus_type;

my_vir_driver.probe = vir_probe;

driver_register(&my_vir_driver); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值