[linux driver]驱动模型中为什么用一个虚拟的platform_bus/device?

虚拟总线在linux驱动模型中出现,目的很明确,为众多没有“实际领袖”bus的controller找个共同的虚拟的“精神领袖”,既然是虚拟的,当然就可以挂接很多controller了,比如SPI controller, I2C controller等等;

那为什么驱动都要找个Bus挂接一下呢?---- 是为了管理大量的同类资源及其驱动而出现的一种管理方式,Bus-x负责所有X设备及其驱动的load-unload的管理工作;【如sysfs以及电源管理】

虚拟总线和普通总线一样,为Device驱动程序的“可移植”提供了必备的基础,有了Bus,就可以隔离BSP和具体的device driver,BSP上面的x-bus定义了当前board所需x-device的资源及其配置信息,然后随便取一个通用的device driver,就可以调用bus提供的API去获取“data”了,当然,你临时为此board写的driver,也可以被其他board借用了!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值