Platform bus is a bus under Linux which manages devices that do not have any discovery-mechanism built in. Linux learns about platform devices directly from device-tree during boot-up phase.
Afterwards if userspace wants to use some particular device driver being usually a mixture of vdev/rawdev gets developed. In order to simplify that introduce a DPDK platform bus which provides auto-probe experience and separates a bus logic from the driver itself. Now only devices which are backed-by vfio-platform kernel driver are supported, though other options may be added if necessary. Tomasz Duszynski (2): lib: add helper to read strings from sysfs files bus: add platform bus MAINTAINERS | 4 + app/test/test_eal_fs.c | 108 +++- doc/guides/rel_notes/release_23_03.rst | 5 + drivers/bus/meson.build | 1 + drivers/bus/platform/bus_platform_driver.h | 174 ++++++ drivers/bus/platform/meson.build | 16 + drivers/bus/platform/platform.c | 604 +++++++++++++++++++++ drivers/bus/platform/platform_params.c | 70 +++ drivers/bus/platform/private.h | 48 ++ drivers/bus/platform/version.map | 10 + lib/eal/common/eal_filesystem.h | 6 + lib/eal/unix/eal_filesystem.c | 24 +- lib/eal/version.map | 1 + 13 files changed, 1053 insertions(+), 18 deletions(-) create mode 100644 drivers/bus/platform/bus_platform_driver.h create mode 100644 drivers/bus/platform/meson.build create mode 100644 drivers/bus/platform/platform.c create mode 100644 drivers/bus/platform/platform_params.c create mode 100644 drivers/bus/platform/private.h create mode 100644 drivers/bus/platform/version.map -- 2.34.1