您的位置:首页 > 运维架构 > Linux

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

2011-11-25 16:17 423 查看
虚拟总线在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借用了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: