LINUX驱动模型中bus与platform_bus区别和异同



LINUX驱动模型中busplatform_bus区别和异同

首先要明确的是platform_busBUS的一个字集,也就是说platform_busBUS定义的一个总线类型。可以看到platform与其它BUS下的总线是等级的。也就是说platform也是总线的一种。我们可以看到I2C,USB等总线下面都可以挂接多个相关设备,这说明i2c usb等总线是管理这类设备的一个主控制器。因此对于一个主控制器可以管理很多同类外围设备的就可以用bus_register注册一个总线,会对应的建立一个/sys/bus/xx总线名。这样就可以用device_register driver_register函数来完在对应子设备的添加和驱动注册。同时这个/sys/bus/xxp完成这类设备的管理和相关共用低层驱动的框架。那platform是什么了。我们从前面分析可以知道对于不具备主控制器功能既可以挂载多个子设备的,为了方便驱动和与设备的方便管理我们引入了虚拟总线platfrom平台设备总线。这个平台设备总线是由bus_register创建的。它下面可以挂载多个不同类型的设备,它们不具同一个类型的驱动关系。我们仅仅是借用platfrom来管理它们。这样platform就与其它平级的总一样挂载了多个子设备。但它们不具同类型的功能。Palftformusb等总线是平级的。但usb总线下面挂载是同一个类型的设备。Plaftrom则相反。因此我们称plaftform为虚拟总线,并不是真正的总线的意思。Plaftform下面的子设备由platform_device_register  platform_driver_register函数来完成建立。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值