In this series we first cleanup probe error path and get rid of devm_add/remove_action(). Split code into symmetric init and cleanup functions and use them. Then we streamline RX and TX queue creation and cleanup. The queues can now be created or destroyed by calling the appropriate functions am65_cpsw_create_rxqs/txqs() and am65_cpsw_destroy_rxq/txqs(). Signed-off-by: Roger Quadros <rogerq@xxxxxxxxxx> --- Roger Quadros (4): net: ethernet: am65-cpsw: call netif_carrier_on/off() when appropriate net: ethernet: ti: am65-cpsw: streamline .probe() error handling net: ethernet: ti: am65-cpsw: streamline RX queue creation and cleanup net: ethernet: ti: am65-cpsw: streamline TX queue creation and cleanup drivers/net/ethernet/ti/am65-cpsw-nuss.c | 643 ++++++++++++++++--------------- 1 file changed, 324 insertions(+), 319 deletions(-) --- base-commit: 9c7ad35632297edc08d0f2c7b599137e9fb5f9ff change-id: 20250111-am65-cpsw-streamline-33587ae6e9e5 Best regards, -- Roger Quadros <rogerq@xxxxxxxxxx>