Re: [PATCH v2 5/5] arm64: defconfig: Switch Ethernet drivers to modules

Linus Walleij
2026-05-05T09:52:25Z

On Wed, Apr 29, 2026 at 8:50 PM Krzysztof Kozlowski
<krzysztof.kozlowski@oss.qualcomm.com> wrote:

> Development of Linux kernel progressed over last 10 years and it is easy
> to generate now initramfs for building own kernel, e.g. with Yocto or
> mkosi. Therefore for a few years of reviews on mailing lists, all new
> options enabled in arm64 defconfig were with assumption of having
> initramfs which can load bare minimum of modules to mount filesystem
> from network or disk. Basically network driver as built-in is not
> anymore essential to boot the system, so switch almost all Ethernet
> drivers to modules to save on kernel image size.
>
> Similarly 9P network filesystem for QEMU, especially that testing kernel
> unuder QEMU does not have any size or build process constraints and can
> use initramfs with -initrd argument. Note that having network drivers
> does not break NFS root, because whatever loading method, e.g. TFTP,
> which brought the kernel image can bring also the initramfs with network
> adapters (and I have been using such method for years for my Samsung
> boards).
>
> Notable exceptions / diff explanations:
>
> 1. Mark I2C as built-in, used by CONFIG_IGB as a module.
>
> 2. CONFIG_BCM4908_ENET and CONFIG_BCMASP appear in the diff, because
> they were default=y (via ARCH_BCMBCA or ARCH_BCM_IPROC).
>
> 3. CONFIG_HNS3_HCLGE and CONFIG_HNS3_ENET are removed, because they are
> default=m.
>
> Moving code to modules has positive impact on kernel image size, thus
> boot time of all users not using above drivers and ability to flash
> fixed-size boot partitions.
>
> Old Image size: 41.2 MiB (Image.gz: 14.8 MiB)
> New Image size: 39.1 MiB (Image.gz: 13.8 MiB)
>
> bloat-o-meter of vmlinux:
> add/remove: 3/6972 grow/shrink: 6/45 up/down: 66659/-2333659 (-2267000)
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>

OK it's probably the right thing to do, no reaction from the netdev
people so let's go.
Reviewed-by: Linus Walleij <linusw@kernel.org>

Yours,
Linus Walleij