On Wed, May 06, 2026 at 05:51:32PM +0200, David Marchand wrote: > This is a continuation of the work I started on the bus infrastructure, > but this time, a lot of the changes were done by a AI "friend". > It is still an unfinished topic as the current series focuses on probing > only. The detaching/cleanup aspect is postponed to another release/time. > > My AI "friend" really *sucked* at git and at separating unrelated changes, > so it required quite a lot of massage/polishing afterwards. > But it seems good enough now for upstream submission. > > I would like to see this series merged in 26.07, so that we have enough > time to stabilize it before the next LTS. > And seeing how it affects drivers, it is probably better to merge it > the sooner possible (so Thomas does not have to solve too many conflicts > when pulling next-* subtrees after, especially wrt the last patch). > > > This series refactors the DPDK bus infrastructure to consolidate common > operations and reduce code duplication across all bus drivers. > Currently, each bus implements its own specific device/driver lists, > probe logic, and lookup functions. > This series moves these common patterns into the EAL bus layer, > providing generic helpers that all buses can use. > > The refactoring removes approximately 1,400 lines of duplicated code across > the codebase while maintaining full functional equivalence. > > Key changes: > - Factorize device and driver lists into struct rte_bus > - Implement generic probe, device/driver lookup, and iteration helpers in EAL > - Introduce conversion macros (RTE_BUS_DEVICE, RTE_BUS_DRIVER, > RTE_CLASS_TO_BUS_DEVICE) > to safely convert between generic and bus-specific types > - Remove bus-specific device/driver types from most driver code > - Move probe logic from individual buses to rte_bus_generic_probe() > - Separate NXP-specific metadata from generic bus structures > > Benefits: > - Significant code reduction (~1,400 lines removed) > - Consistent behavior across all bus types > - Simplified bus driver implementation > - Easier maintenance and future enhancements > > The series is structured as a progressive refactoring: > - Remove redundant checks and helpers (patches 1-5) > - Add conversion macros and factorize lists (patches 6-8) > - Consolidate device/driver lookup and iteration (patches 9-11) > - Refactor probe logic (patches 12-15) > - Remove bus-specific types from drivers (patches 16-23) > > Note on ABI: > This series breaks the ABI for drivers (changes to rte_pci_device, > rte_pci_driver, and similar structures for other buses). However, the DPDK > ABI policy does not provide guarantees for driver-level interfaces. > > > -- > David Marchand > > Changes since v1: > - fix typo in Windows code for net/mlx5, > In general a fan of cleanups in code, and this all seems reasonable.
With a fix added for idxd driver, Series-Acked-by: Bruce Richardson <[email protected]>

