The rte_dpaa2_device object keeps track of a device class object (cryptodev, dmadev, ethdev, rawdev) which is a layer violation.
Make use of the device class respective infrastructure and remove those back references. Disclaimer: this series is untested as I don't have the hardware. I only based those changes on look at the code and other drivers. -- David Marchand David Marchand (5): crypto/dpaa2_sec: remove crypto device in bus device dma/dpaa2: remove DMA device in bus device net/dpaa2: remove dead code in loopback mode net/dpaa2: remove ethdev device in bus device bus/fslmc: remove raw device in bus device drivers/bus/fslmc/bus_fslmc_driver.h | 6 --- drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 8 ++-- drivers/dma/dpaa2/dpaa2_qdma.c | 9 ++-- drivers/net/dpaa2/dpaa2_ethdev.c | 6 ++- drivers/net/dpaa2/dpaa2_ethdev.h | 6 --- drivers/net/dpaa2/dpaa2_recycle.c | 50 --------------------- 6 files changed, 14 insertions(+), 71 deletions(-) -- 2.51.0

