[PATCH] arm64: defconfig: Build STMMAC Ethernet driver into the kernel for NFS boot
Geert Uytterhoeven
geert at linux-m68k.org
Thu Jun 19 08:07:38 PDT 2025
On Thu, 12 Jun 2025 at 16:30, Thierry Reding <thierry.reding at gmail.com> wrote:
> On Thu, Jun 12, 2025 at 02:34:32PM +0200, Geert Uytterhoeven wrote:
> > On Thu, 12 Jun 2025 at 14:20, Jon Hunter <jonathanh at nvidia.com> wrote:
> > > On 23/05/2025 12:54, Krzysztof Kozlowski wrote:
> > > > On 23/05/2025 13:39, Geert Uytterhoeven wrote:
> > > >> On Tue, 6 May 2025 at 12:47, Prabhakar <prabhakar.csengg at gmail.com> wrote:
> > > >>> From: Lad Prabhakar <prabhakar.mahadev-lad.rj at bp.renesas.com>
> > > >>>
> > > >>> Enable `CONFIG_STMMAC_ETH` as built-in (`y`) instead of a module (`m`) to
> > > >>> ensure the Ethernet driver is available early in the boot process. This
> > > >>> is necessary for platforms mounting the root filesystem via NFS, as the
> > > >>> driver must be available before the root filesystem is accessed.
> > > >>>
> > > >>> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj at bp.renesas.com>
> > > >>> ---
> > > >>> With this change, the Renesas RZ/V2H EVK board can boot from NFS
> > > >>> which has the DWMAC IP.
> > > >>
> > > >> Reviewed-by: Geert Uytterhoeven <geert+renesas at glider.be>
> > > >> i.e. will queue in renesas-devel for v6.17.
> > > >
> > > > With my Nacked, please.
> > >
> > > I was surprised to see this change in -next. We also use NFS for testing
> > > and we use the dwmac drivers. To date we are explictly building these
> > > drivers into the initramfs but I noticed that that is now failing
> > > because this driver is no longer a module by default. This is easy for
> >
> > Oops, sorry for that...
> >
> > > us to fix.
> >
> > Good ;-)
> >
> > > I do agree that if we start to build every networking driver into the
> > > kernel it is going to bloat. Yes I do see the kernel image growing
> > > regardless of this, but nonetheless it seems better to just build as a
> > > module IMO.
> >
> > Not _every_ networking driver, of course. AFAIK, making network
> > drivers built-in for systems where development is done using nfsroot
> > has always been acceptable for the arm64 defconfig before. For things
> > not critical for booting, modular is indeed the preferred way.
>
> Last time I tried to merge something like this I was told that we
> shouldn't bloat the kernel for everyone just for our own convenience. I
> tend to agree with this now. It's trivial to make local adjustments for
> things like this. In fact, that's what I do all the time. I will use
> defconfig as a base line and if I want the convenience of having network
> drivers included because I don't want to update the initramfs every time
> I update the kernel, I'll just change the driver to built-in in my local
> .config.
>
> I think of the defconfig as more of a reference for what a typical
> development system would need. So it gives you reasonable build coverage
> and such for a wide variety of boards.
>
> If we start building too many things into the kernel, then at some point
> it's going to become uselessly large for everyone. That's essentially
> trading everyone's convenience for your own.
As discussed with Arnd on #armlinux, I will drop this patch.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
More information about the linux-arm-kernel
mailing list