几周前,Greg Kroah-Hartman 提出了 Linux 内核 “Faux Bus” 作为简单设备的 “fake” 总线解决方案。今天,在 Linux 6.14-rc3 标记之前,仿总线代码被合并,并同时带有 C 和 Rust 语言绑定。
在某些情况下,虚拟设备或简单的硬件设备滥用平台设备驱动程序 API,认为其工程过度和不必要的复杂性。仿总线旨在解决这些情况,而不是以完整平台设备接口为目标的驱动程序。由于这是新代码,不会冒现有代码的风险,因此它是今天提交的,并且在今天下午即将发布的 Linux 6.14-rc3 版本之前已经合并。
Greg Kroah-Hartman 在今天的拉取请求中进一步解释了 faux bus:
“这是 6.14-rc3 的驱动程序核心新 API,正在添加以允许平台设备停止被滥用。它添加了一个新的 “faux_device” 结构以及总线和 API,以允许从不是真正平台设备的平台设备进行几乎直接或更简单的转换。它还带有一个 rust 的绑定,rust 中的示例驱动程序展示了它的使用方式。
我现在添加它,以便转换不同驱动程序和子系统的补丁现在都可以通过它们不同的开发树开始流入 linux-next,及时进入 6.15-rc1。我们有一些数据已经过审核和测试,但现在添加这些转化似乎不太合适。目前,没有人在使用它,它通过了 0-day 和 linux-next 的所有构建测试,所以一切都应该很好。
这也是第一次在初始提交中由 Rust 绑定完成时添加新的总线/接口,而不是在事后。
这是 Linux 6.14 的一个有趣的后期添加,在这个内核周期的所有其他新功能/变化之上。
转自 New “Faux Bus” API Merged For Linux 6.14 – Including Both Rust & C Bindings – Phoronix