New "Faux Bus" API Merged For Linux 6.14 - Including Both Rust & C Bindings
([Linux Kernel] 112 Minutes Ago
Faux Bus)
- Reference: 0001527783
- News link: https://www.phoronix.com/news/Linux-6.14-Faux-Bus-Merged
- Source link:
A few weeks back [1]the Linux kernel "Faux Bus" was proposed by Greg Kroah-Hartman as a "fake" bus solution for simple devices. Today ahead of the Linux 6.14-rc3 tagging, the faux bus code was merged and comes at the same time both with C and Rust language bindings.
In some cases of virtual devices or simple hardware devices are abusing the platform device driver API as rather engineering overkill and unnecessary complexity. The faux bus aims to address these situations rather than drivers targeting the full platform device interface. As this is new code and not risking existing code, it was submitted today and already merged ahead of the upcoming Linux 6.14-rc3 release this afternoon.
Greg Kroah-Hartman further explained of the faux bus with today's [2]pull request :
"Here is a driver core new api for 6.14-rc3 that is being added to allow platform devices from stop being abused. It adds a new "faux_device" structure and bus and api to allow almost a straight or simpler conversion from platform devices that were not really a platform device. It also comes with a binding for rust, with an example driver in rust showing how it's used.
I'm adding this now so that the patches that convert the different drivers and subsystems can all start flowing into linux-next now through their different development trees, in time for 6.15-rc1. We have a number that are already reviewed and tested, but adding those conversions now doesn't seem right. For now, no one is using this, and it passes all build tests from 0-day and linux-next, so all should be good."
This is also one of the first times that a new bus/interface is being added while being completed by Rust bindings in the initial commit rather than after the fact.
It's an interesting late addition for [3]Linux 6.14 on top of [4]all the other new features/changes this kernel cycle .
[1] https://www.phoronix.com/news/Linux-Faux-Bus-Proposal
[2] https://lore.kernel.org/lkml/Z7IAjdCB8Ly5GIjW@kroah.com/
[3] https://www.phoronix.com/search/Linux+6.14
[4] https://www.phoronix.com/review/linux-614-features
In some cases of virtual devices or simple hardware devices are abusing the platform device driver API as rather engineering overkill and unnecessary complexity. The faux bus aims to address these situations rather than drivers targeting the full platform device interface. As this is new code and not risking existing code, it was submitted today and already merged ahead of the upcoming Linux 6.14-rc3 release this afternoon.
Greg Kroah-Hartman further explained of the faux bus with today's [2]pull request :
"Here is a driver core new api for 6.14-rc3 that is being added to allow platform devices from stop being abused. It adds a new "faux_device" structure and bus and api to allow almost a straight or simpler conversion from platform devices that were not really a platform device. It also comes with a binding for rust, with an example driver in rust showing how it's used.
I'm adding this now so that the patches that convert the different drivers and subsystems can all start flowing into linux-next now through their different development trees, in time for 6.15-rc1. We have a number that are already reviewed and tested, but adding those conversions now doesn't seem right. For now, no one is using this, and it passes all build tests from 0-day and linux-next, so all should be good."
This is also one of the first times that a new bus/interface is being added while being completed by Rust bindings in the initial commit rather than after the fact.
It's an interesting late addition for [3]Linux 6.14 on top of [4]all the other new features/changes this kernel cycle .
[1] https://www.phoronix.com/news/Linux-Faux-Bus-Proposal
[2] https://lore.kernel.org/lkml/Z7IAjdCB8Ly5GIjW@kroah.com/
[3] https://www.phoronix.com/search/Linux+6.14
[4] https://www.phoronix.com/review/linux-614-features
skeevy420