On Fri, Jul 26, 2024 at 9:15 PM Jose Ignacio Tornos Martinez
<jtornosm@xxxxxxxxxx> wrote:
> What this does appear to do is differentiate between 'pre' which will
> load the kernel module before it is requested. Since there is no 'pre'
> for this, it seems pointless whacking this mole.
Precisely, we need to fix the lan78xx case with micrel phy (and other
possible phy modules) too, due to the commented issue generating initramfs
in order to include the phy module.
> What to me make more sense it to look at all the existing 'pre'
> drivers and determine if they can be converted to use this macro.
Of course, now that we have the possibility we can do this with other cases
that have been already detected (and fixed with a softdep pre) and others
still not detected (if anyone apart from lan78xx).
I am not familiar with MAC/PHY interface, but perhaps the
situation might be different on internal/external PHYs?
I do not know if "micrel" is an internal or an external PHY, though.
[1] internal PHY
Commit e57cf3639c323eeed05d3725fd82f91b349adca8 moved the
internal PHY code from drivers/net/usb/lan78xx.c
to drivers/net/phy/microchip.c
So, lan78xx.ko is likely to use microchip.ko
Perhaps, is the following useful?
MODULE_WEAKDEP("microchip"); /* internal PHY */
Or, is this the case for MODULE_SOFTDEP()?
[2] external PHY
When an external PHY device is connected, the MAC/PHY combination is
pretty much board-specific. We may end up with
a bunch of MODULE_WEAKDEP().
The second question is, is it so important to enable network
at the initramfs time? Personally, I am fine with having network
drivers in the root file system.
Is this useful when the root file system is nfs or something?