> I was just trying to understand the call trace for mdio bus which got > me confused. > > [0] https://lore.kernel.org/all/Z3fKkTSFFcU9gQLg@ryzen/ There is nothing particularly unusual in there. We see PCI bus enumeration has found a device and bound a driver to it. The driver has instantiated an MDIO bus, which has scanned the MDIO bus and found a PHY. The phylib core then tried to load the kernel module needed to drive the PHY. Just because it is a PCI device does not mean firmware has to control all the hardware. Linux has no problems controlling all this, and it saves reinventing the wheel in firmware, avoids firmware bugs, and allows new features to be added etc. Andrew