Hi,
I'm building current master - currently at 8508d8749585 ("nu801: Mark as nonshared to build in step 1") - for CONFIG_TARGET_layerscape (profile CONFIG_TARGET_layerscape_armv8_64b_DEVICE_fsl_ls1088a-rdb-sdboot to be precise), and the kernel gets built with the mscc PHY drivers as modules, even though target/linux/layerscape/armv8_64b/config-6.6 has CONFIG_MICROSEMI_PHY=y.
Inside build_dir/target-aarch64_generic_musl/linux-layerscape_armv8_64b/linux-6.6.58, I see:
- .config has CONFIG_MICROSEMI_PHY=m
- .config.modules.save has CONFIG_MICROSEMI_PHY=m
- .config.old has CONFIG_MICROSEMI_PHY=y
- .config.override has no CONFIG_MICROSEMI_PHY definition
- .config.prev has CONFIG_MICROSEMI_PHY=y
- .config.set has CONFIG_MICROSEMI_PHY=y
- .config.target has CONFIG_MICROSEMI_PHY=y
What is going on and how can I correct it?
This matters because the network driver, CONFIG_FSL_DPAA2_ETH in the kernel, is built-in, and it connects to the PHYs at probe time. Since the on-board VSC8514 QSGMII PHYs have drivers compiled as modules in the not-yet-loaded rootfs, the Generic PHY driver will be loaded instead, which does not work as well as the specific PHY driver.
I appreciate any guidance on making CONFIG_MICROSEMI_PHY built-in. I am mostly confused by OpenWRT's tooling surrounding Kbuild.