Re: [PATCH] net: broadcom: Add PTP_1588_CLOCK_OPTIONAL dependency for BCMGENET under ARCH_BCM2835

From: Jakub Kicinski
Date: Wed Nov 30 2022 - 23:41:21 EST


On Tue, 29 Nov 2022 12:58:23 +0100 Arnd Bergmann wrote:
> > The original report was for a different bug that resulted in the
> > BROADCOM_PHY driver not being selectable at all.
> >
> > The remaining problem here is this configuration:
> >
> > CONFIG_ARM=y
> > CONFIG_BCM2835=y
> > CONFIG_BCMGENET=y
> > CONFIG_PTP_1588_CLOCK=m
> > CONFIG_PTP_1588_CLOCK_OPTIONAL=m
> > CONFIG_BROADCOM_PHY=m
> >
> > In this case, BCMGENET should 'select BROADCOM_PHY' to make the
> > driver work correctly, but fails to do this because of the
> > dependency. During early boot, this means it cannot access the
> > PHY because that is in a loadable module, despite commit
> > 99addbe31f55 ("net: broadcom: Select BROADCOM_PHY for BCMGENET")
> > trying to ensure that it could.
> >
> > Note that many other ethernet drivers don't have this
> > particular 'select' statement and just rely on the .config
> > to contain a sensible set of drivers. In particular that
> > is true when running 64-bit kernels on the same chip,
> > which is now the normal configuration.
> >
> > The alternative to YueHaibing's fix would be to just revert
> > 99addbe31f55 ("net: broadcom: Select BROADCOM_PHY for BCMGENET")
> > and instead change the defconfig file to include the phy driver,
> > as we do elsewhere.

Ah, got it now, I think. Alternatively we could flip the 'select' to
'depends on' and make the user do the legwork? Enough brain cycles
spend on this simple fix tho, so applying, thanks! :)