[PATCH net 4/4] net: axienet: Split into MAC and MDIO drivers

Jakub Kicinski kuba at kernel.org
Thu Jun 19 16:10:30 PDT 2025


On Thu, 19 Jun 2025 16:05:37 -0400 Sean Anderson wrote:
> Returning EPROBE_DEFER after probing a bus may result in an infinite
> probe loop if the EPROBE_DEFER error is never resolved. For example, if
> the PCS is located on another MDIO bus and that MDIO bus is missing its
> driver then we will always return EPROBE_DEFER. But if there are any
> devices on our own MDIO bus (such as PHYs), those devices will be
> successfully bound before we fail our own probe. This will cause the
> deferred probing infrastructure to continuously try to probe our device.
> 
> To prevent this, split the MAC and MDIO functionality into separate
> auxiliary devices. These can then be re-probed independently.

There's a, pardon the expression, C++-like build failure here
culminating in:

drivers/net/ethernet/xilinx/xilinx_axienet_main.c:3225:1: error: redefinition of '__exittest'
drivers/net/ethernet/xilinx/xilinx_axienet_main.c:3225:1: error: redefinition of '__inittest'
drivers/net/ethernet/xilinx/xilinx_axienet_main.c:3225:1: error: redefinition of 'init_module'
drivers/net/ethernet/xilinx/xilinx_axienet_main.c:3225:1: error: redefinition of 'cleanup_module'

I'm guessing the existing module_platform_driver() and the new
module_auxiliary_driver() don't want to be friends when this 
code is built as a module?
-- 
pw-bot: cr



More information about the linux-arm-kernel mailing list