Commit Graph

1679 Commits (master)

Author SHA1 Message Date
John Crispin 0a9adc7ee5 kernel: backport the upstream Motorcomm YT92xx DSA driver
The GL-BE14000 carries a Motorcomm YT9224 switch. Add the yt921x DSA
driver, its tagging protocol and the Motorcomm PHY patches as the series
was merged upstream, so the driver tracks net-next.

The YT922x support in 967-27 is not upstream yet. It is a rework by
Shi Jiayang of the net-next v1 posting by Kyle Switch,
<20260813104137.55550-1-kyle.switch@motor-comm.com>. The rework adds
the switch setup, the eFuse calibration, the SerDes configuration, the
phylink PCS handling and the CPU port recovery that the GL-BE14000
needs, ports them to Linux 6.18, and keeps separate YT921x and YT922x
tag drivers. Its mtk-usxgmii change moves to the mediatek patch 978,
later in this series. On top of the rework, 967-27 keeps the LAG
offload of the YT9215, and 967-36 releases its package lock on the
error paths of yt8824_config_aneg().

The driver is not specific to MediaTek, so the patches go to the generic
patch set. The upstream patches go to backport-6.18. 967-27 and the
quad 2.5G PHY driver in 967-36 go to pending-6.18.

YT921X and YT922X take tag protocol 32 and 33, because MXL862 already
holds 30 and 31 here. The OOB, RALINK, QCA_ETYPE and RTL_OTTO tag
protocols of the ipq40xx, ramips, qualcommax and realtek targets move
from 32 to 35. The YT92xx tags hold 32 and 33 on all targets, and the
YT922x fixes add 34 for the four-byte tag.

Enable CONFIG_NET_DSA_YT92XX, CONFIG_NET_DSA_TAG_YT921X,
CONFIG_NET_DSA_TAG_YT922X and CONFIG_MOTORCOMM_PHY in the filogic
config. Mark the YT92xx symbols as unset in the generic config, so that
the other targets do not stop at a kconfig prompt.

Signed-off-by: Kyle Switch <kyle.switch@motor-comm.com>
Signed-off-by: Shi Jiayang <shi05275@163.com>
Signed-off-by: Nilanka de Silva <nilankadsilva@gmail.com>
Signed-off-by: John Crispin <john@phrozen.org>
2026-11-03 18:40:42 +01:00
John Crispin eba504d70d kernel: add kmod-serial-sc16is7xx
Nothing packages the NXP SC16IS7xx UART bridges. Since 6.7 the driver
is split into a core and one module per bus, which the core selects.
Ship the core and the SPI glue.

Signed-off-by: John Crispin <john@phrozen.org>
2026-11-03 18:40:42 +01:00
John Crispin 19c0e79b81 kernel: add kmod-can-mcp251xfd
The MCP2517FD, MCP2518FD and MCP251863 are not covered by the mcp251x
driver, which only handles the older MCP2510, MCP2515 and MCP2525
parts. Package the mcp251xfd driver for them.

Signed-off-by: John Crispin <john@phrozen.org>
2026-11-03 18:40:42 +01:00
John Crispin c14c181a24 kernel: can: add vxcan package
Package the vxcan driver, which implements a local CAN traffic tunnel
between two virtual CAN network devices, analogous to what veth does
for ethernet.

Signed-off-by: John Crispin <john@phrozen.org>
2026-11-03 18:40:42 +01:00
Sander van Deijck cd46a39b20 kernel: drop modules of other packages from AUTOLOAD
These packages list modules they do not ship:

- ata-ahci, ata-ahci-platform: libahci (kmod-ata-core)
- serial-8250-exar: 8250 and 8250_base (kmod-serial-8250)
- usb2: ehci-hcd (kmod-usb-ehci, which loads it at boot)
- backlight, backlight-pwm: video (the ACPI video driver, which
  kmod-acpi-video ships and loads)

kmodloader loads the dependencies of every module it loads, at boot as
well, so libahci, the 8250 core and ehci-hcd are still loaded first.

Assisted-by: Gary Dotzler <geldot@protonmail.com>
Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26279
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-11-03 11:45:53 +01:00
Sander van Deijck 0392b74485 kernel: fix AUTOLOAD lists extended with a second AutoLoad call
AUTOLOAD holds the load priority and boot flag followed by the module
names. crypto-ghash/arm-ce and sound-core/uml append a complete
$(call AutoLoad,...) to the list they inherit from the base package, so
its priority and boot flag ("09 0" and "30 0") end up as module names,
which kmodloader skips.

crypto-ghash/arm-ce now appends only the module name. sound-core/uml
replaces FILES with soundcore and hostaudio, so it replaces AUTOLOAD as
well, which also drops a duplicate soundcore and the sound modules it
does not ship.

Assisted-by: Gary Dotzler <geldot@protonmail.com>
Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26279
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-11-03 11:45:53 +01:00
Sander van Deijck e66d9da8d4 kernel: drop KCONFIG symbols that no longer exist
- sound-core: CONFIG_HOSTAUDIO (renamed to CONFIG_UML_SOUND, which the
  uml variant already sets)
- mac80211: CONFIG_AVERAGE (lib/average, replaced by the EWMA helpers)

Neither symbol exists in Linux 6.18, so the kernel configuration does
not change.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26279
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-11-03 11:45:53 +01:00
Sander van Deijck da936eccb2 kernel: drop .ko suffix from AUTOLOAD names
kmodloader strips the suffix, so this is cosmetic, but AUTOLOAD lists
module names everywhere else.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26279
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-11-03 11:45:53 +01:00
Sander van Deijck 988fb4b79a kernel: drop non-existent modules from AUTOLOAD
These modules are no longer built by the kernel, but are still listed
next to the modules that replaced them:

- can-usb-esd: esd_usb2 (renamed to esd_usb)
- nf-flow: nf_flow_table_hw (part of nf_flow_table)
- nft-netdev: nf_tables_netdev (part of nf_tables)
- drm-imx: imx-ipuv3-crtc (part of imxdrm)

ipt-tee and ipt-u32 also list nf_tee, which is not a kernel module. The
packet duplication behind TEE is in nf_dup_ipv4 and nf_dup_ipv6, which
kmod-nf-dup-inet ships, and ipt-u32 has nothing to do with TEE.

Assisted-by: Gary Dotzler <geldot@protonmail.com>
Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26279
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-11-03 11:45:53 +01:00
Sander van Deijck ab4b4d1370 kernel: fix module names in AUTOLOAD
These packages list a module name in AUTOLOAD that does not match the
module they ship. kmodloader silently skips names it cannot find, so the
module is not loaded at boot unless something else pulls it in:

- iio-hmc5843: hmc5843 -> hmc5843_i2c
- industrialio-buffer-cb: industrialio-triggered-buffer-cb -> industrialio-buffer-cb
- iio-fxas21002c: fxas21002c -> fxas21002c_core
- iio-fxos8700: fxos8700 -> fxos8700_core
- sound-soc-imx: snd-soc-imx-pcm -> imx-pcm-dma
- keys-trusted: trusted-keys -> trusted
- netem: netem -> sch_netem
- drm-panel-backlight-quirks: panel-backlight-quirks -> drm_panel_backlight_quirks

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26279
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-11-03 11:45:53 +01:00
Paul Spooren b3a3e4bdd0
kernel: pcnet32: load module at boot
config_generate runs from preinit (82_config_generate), which comes before
kmodloader loads /etc/modules.d from /etc/init.d/boot. On targets without a
board-specific network config, such as malta, 99-default_network only adds a
wan interface if eth1 exists at that point:

  [ -d /sys/class/net/eth1 ] && ucidef_set_interface_wan 'eth1'

Since pcnet32 was not loaded yet, eth1 never showed up in time, so malta images
never got a wan interface, even with a second NIC attached. QEMU with two pcnet
NICs, as used by openwrt-tests, shows the problem: ubus call
network.interface.wan status returns "Not found".

Add pcnet32 to modules-boot.d, as is already done for r8169 and e1000e, so the
NICs exist when the board config is generated. Its dependency kmod-mii already
loads at boot.

Link: https://github.com/openwrt/openwrt/pull/26374
Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-11-01 23:11:43 +01:00
John Audia 9ea2ee3974 kernel: bump 6.18 to 6.18.59
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.59

Removed upstreamed:
  linux/generic/backport-6.18/950-v7.3-cgroup-fix-spurious-SIGKILL-of-CLONE_INTO_CGROUP-children.patch[1]
  linux/bcm27xx/patches-6.18/0783-drm-vc4-hdmi-Move-packet-RAM-enable-to-pm_runtime.patch[2]
  linux/qualcommax/patches-6.18/0092-v7.3-pinctrl-qcom-ipq5018-add-missing-pwm3-function-on-gpio13.patch[3]

All other patches automatically rebased via update_kernel.sh

Linux 6.18.59 makes ICE select LIBETH_XDP, so add kmod-libeth-xdp
to package libeth_xdp.ko and make kmod-ice depend on it.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.59&id=2f9dd8214d4213cac785e4e4441538053cce52fb
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.59&id=6b03e354526f6bad60ed3a7f08fec8b7d29d2f27
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.59&id=e76e6284de2ba2c0da9aa21ab4e17a885186a4b2

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/25925
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-10-31 23:24:46 +01:00
John Audia fb7bd8633b kernel: bump 6.18 to 6.18.57
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.57

Removed upstreamed:
  linux/generic/backport-6.18/948-v7.1-net-dsa-mt7530-fix-.get_stats64-sleeping-in-atomic-c.patch[1]
  linux/rockchip/patches-6.18/045-15-v7.0-media-v4l2-mem2mem-Add-a-kref-to-the-v4l2_m2m_dev-structure.patch[2]
  linux/rockchip/patches-6.18/045-16-v7.0-media-verisilicon-Avoid-G2-bus-error-while-decoding-H.264-an.patch[3]
  linux/rockchip/patches-6.18/045-43-v7.0-media-verisilicon-Fix-kernel-panic-due-to-__initconst-misuse.patch[4]

Manually rebased:
  linux/generic/backport-6.18/706-03-v7.2-netfilter-flowtable-bail-out-if-forward-path-cannot-b.patch
  linux/generic/pending-6.18/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch
  linux/bcm27xx/patches-6.18/0319-drivers-iommu-Add-BCM2712-IOMMU.patch
  linux/bcm27xx/patches-6.18/0351-brcmfmac-Fix-interoperating-DPP-and-other-encryption.patch

All other patches automatically rebased via update_kernel.sh

mac80211: 6.18.57 backports struct sockaddr_unsized[5], so add
160-backports-sockaddr_unsized-is-in-6.18.57.patch to only define it
in backports for older kernels.

kernel: 6.18.57 makes rpcsec_gss_krb5 use crypto/krb5[6], so add
kmod-crypto-krb5 and make kmod-fs-nfs-common-rpcsec depend on it.

ltq-ifxos: 6.18.57 converts proto_ops bind() to sockaddr_unsized[5],
so cast the bind address accordingly on 6.18.57+.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.57&id=af98611ad109efcbfe3ba68eb10124ebc3257224
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.57&id=6c5d98f24f99596c0075c05d17b099d298f0246b
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.57&id=5133ef7c893c2c3aee7dd12503dc480de9dbfbb5
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.57&id=07861e84b766c6db8014bc34138f3be4a62aad2a
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.57&id=946dc5835c8fbe5eb5ceb13f5717778911ff4586
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.57&id=08efba8d6256053ac1f2fabd2b7b2ac60ab97aae

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Co-developed-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/25925
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-10-31 23:24:46 +01:00
Jonas Jelonek 2968547158
kernel: i2c: load PCA954x muxes during early boot
PCA954x muxes can provide the I2C adapters used by SFP cages. Load the
module during early boot so these suppliers are available for preinit
networking and failsafe instead of waiting for normal module autoload.

Link: https://github.com/openwrt/openwrt/pull/26243
Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>
2026-10-30 22:04:42 +01:00
Jonas Jelonek 41ab3e1f38
kernel: add GPIO seven-segment display module package
Package the GPIO seven-segment driver together with the line-display
core, enable the required AUXDISPLAY menu and autoload the driver.

Add generic kernel configuration defaults for the options exposed by
AUXDISPLAY to avoid interactive configuration prompts. Disable unused
display drivers and custom boot messages while retaining the upstream
character LCD backlight default.

Link: https://github.com/openwrt/openwrt/pull/26243
Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>
2026-10-30 22:04:40 +01:00
Daniel Golle 9115e6ee48 kernel: modules: add kmod-phy-ax88796b-rust package
Package ax88796b_rust, the Rust reference driver for the Asix PHYs used
by the AX88772 USB Ethernet adapters. It is equivalent to the C driver
of kmod-phy-ax88796b and provides that package, so kmod-usb-net-asix
works with either; the C driver stays the default variant.

Upstream builds only one of the two drivers. A hack patch makes
AX88796B_RUST_PHY a module of its own so that both are built. The Rust
PHY abstractions are part of the kernel's Rust crate in vmlinux and
need a built-in PHY library, so the package enables
RUST_PHYLIB_ABSTRACTIONS and PHYLIB=y. Answer the options these make
visible in the generic configuration.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-30 12:06:08 +02:00
Georgi Valkov ca454c00b6 netfilter: fix file clash during install of kmod-iptables
A regression in #21078 caused ip_tables.ko and x_tables.ko to be installed
by both kmod-nf-ipt and kmod-iptables, which results in build errors with
linux-6.18:

 * check_data_file_clashes: Package kmod-nf-ipt wants to install file .../ip_tables.ko
	But that file is already provided by package  * kmod-iptables
 * check_data_file_clashes: Package kmod-nf-ipt wants to install file .../x_tables.ko

Fix: drop kmod-iptables and move its flags:
- CONFIG_IP_NF_IPTABLES_LEGACY     -> kmod-nf-ipt
- CONFIG_NETFILTER_XTABLES_LEGACY  -> kmod-nf-ipt
- CONFIG_IP6_NF_IPTABLES_LEGACY    -> kmod-nf-ipt6
- CONFIG_BRIDGE_NF_EBTABLES_LEGACY -> kmod-ebtables

Also drop CONFIG_NETFILTER_XTABLES, because it is already present in
KCONFIG_NF_IPT.

Fixes: 94c7f4a25f ("packages: 6.18: update modules files")
Fixes: https://github.com/openwrt/openwrt/issues/23630
Link: https://github.com/openwrt/openwrt/pull/21078

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23631
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-29 15:12:04 +01:00
Sander van Deijck 313889ee5c netfilter: remove nf-log6
Since Linux 5.13, IPv4 and IPv6 packet logging are handled by
nf_log_syslog, which is part of kmod-nf-log. nf_log_ipv4, nf_log_ipv6
and nf_log_common no longer exist, so kmod-nf-log6 is an empty package.

Remove it, and drop the entries for the old modules from
include/netfilter.mk. CONFIG_NF_LOG_IPV4 and CONFIG_NF_LOG_IPV6 are
backwards-compatibility options that only select NF_LOG_SYSLOG, which
kmod-nf-log already enables.

CONFIG_NF_LOG_IPV6 was only configured through the KCONFIG of
kmod-nf-log6. Add it to the generic config as not set, next to
CONFIG_NF_LOG_IPV4, as it would otherwise be left unconfigured when
nf_tables is enabled and abort the kernel configuration. It is still
enabled when selected by NETFILTER_XT_TARGET_LOG for ip6tables.

kmod-nf-ipt6 now depends on kmod-nf-log directly, which it previously
got through kmod-nf-log6.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26067
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-23 15:32:43 +02:00
Sander van Deijck bcfb04cd6c treewide: drop references to removed bcm63xx target
The bcm63xx target was removed in commit 5cd8e037b5 ("bcm63xx: drop
target"), but a few references to TARGET_bcm63xx remained:

- bcm63xx-cfe: listed bcm63xx next to bcm4908 and bmips
- kmod-ssb and the b43 SSB bus option: excluded on bcm63xx

The SSB exclusions existed because bcm63xx built SSB into the kernel
(CONFIG_SSB=y). bmips, which replaces bcm63xx, does not, so the
exclusions are dropped rather than moved to bmips.

TARGET_bcm63xx can no longer be set, so there is no functional change.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26110
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-23 13:00:55 +02:00
Daniel Schwierzeck 7aaf3cc208 kernel: sound: add support for Airoha AN7581 with Wolfson Audio WM8960
Support for sound on Airoha AN7581 is currently enabled as built-in
driver in the Airoha kernel default config. But the majority of Airoha-based boards
don't need sound support. Thus sound support should be optional.

Follow the similar MediaTek MT7986 example and add kmod packages for the
AN7581 SoC with the Wolfson Audio WM8960 codec.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24266
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-23 11:31:47 +02:00
Daniel Schwierzeck 49d2296988 kernel: sound: fix kmod-sound-core not being auto-selected
The AddDepends/sound macro used a bare kmod-sound-core dependency,
which generates a Kconfig 'depends on' instead of 'select'. This
means kmod-sound-core is never automatically enabled, breaking
the entire sound module dependency chain.

Change the dependency to a select (+kmod-sound-core) so that
kmod-sound-core is automatically pulled in when any sound module
package is enabled.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24266
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-23 11:31:47 +02:00
Sander van Deijck dbf68ebca8 kernel: kmod-crypto-sha1: package libsha1.ko
On kernel 6.18 the SHA-1 implementations live in lib/crypto/libsha1,
which crypto/sha1.ko depends on. It is usually built in (e.g. selected
by IPv6), but when it ends up as a module it was not packaged, so
sha1.ko and SCTP could not be loaded. Add it, like libsha256.ko and
libsha512.ko for the other SHA packages.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26052
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 18:22:12 +02:00
Sander van Deijck 1557444f9f treewide: drop LINUX_6_18 conditions
All targets use kernel 6.18, so LINUX_6_18 is always set. Make the
conditional dependencies and autoload entries unconditional and drop
the @LINUX_6_18 requirements.

Also drop snd-hda-codec-realtek and snd-hda-codec-cirrus from the HDA
codec autoload lists; these 6.12 modules were split up and no longer
exist on 6.18.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26052
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 18:22:12 +02:00
Sander van Deijck 1ca53fffae kernel: drop @lt6.18/@ge6.18 version filters
All targets use kernel 6.18, so drop the version filters from the kmod
definitions: remove items only used before 6.18 and strip the @ge6.18
suffix from the others. Also remove the crypto-md5 octeon/powerpc
variants, which only contained 6.12 modules.

The generated package metadata is unchanged.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26052
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 18:22:12 +02:00
Sander van Deijck 94eb0d7a09 kernel: kmod-sctp: update for kernel 6.18
Kernel 6.18 converted SCTP to the crypto library: cookie and AUTH HMACs
use the SHA-1/SHA-256 library functions, and the only cookie
authentication methods left are HMAC-SHA256 and none. The MD5/SHA1
cookie options and SCTP_DBG_MSG no longer exist, and the crypto API is
no longer used.

Drop the stale options and explicitly select the upstream default
HMAC-SHA256. The previous configuration already ended up with that
default, as none of the options it set exist any more. The cookie is
generated and verified by the same endpoint, so this does not affect
interoperability.

Also drop the kmod-crypto-md5 and kmod-crypto-hmac dependencies, which
are no longer needed.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/25965
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 10:19:04 +02:00
Sander van Deijck 8d3ef6d76b kernel: kmod-stmmac-core: fix CONFIG_DWMAC_DWC_QOS_ETH typo
The symbol was listed as CONFIG_CONFIG_DWMAC_DWC_QOS_ETH, so the
intended override never took effect. Fix the doubled prefix.

No functional change: kmod-stmmac-core is only available on armsr,
loongarch64 and x86_64, where CONFIG_DWMAC_DWC_QOS_ETH is already
disabled in the generic kernel config.

Fixes: 1816e53062 ("armsr: Move kmod-stmmac-core to common place")
Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/25965
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 10:19:04 +02:00
Sander van Deijck 452b35cf4e kernel: drop stale KCONFIG symbols from kmod definitions
Remove KCONFIG symbols that no longer exist in kernel 6.18 from the kmod
definitions. Some were renamed and the new symbol is already listed in
the same package (e.g. CRYPTO_GF128MUL -> CRYPTO_LIB_GF128MUL,
USB_YEALINK -> INPUT_YEALINK, MEDIA_RC_SUPPORT -> RC_CORE). The others
belong to options and drivers that were removed upstream (e.g. CAN_LEDS,
E1000_NAPI, NF_FLOW_TABLE_HW, the Keyspan firmware options).

The generated package metadata is unchanged apart from the
Kernel-Config field of the affected packages.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/25965
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 10:19:04 +02:00
Sander van Deijck 6c862d0fe4 kernel: kmod-crypto-test: use CONFIG_CRYPTO_BENCHMARK
The tcrypt module is now built via CONFIG_CRYPTO_BENCHMARK, which
replaced CONFIG_CRYPTO_TEST. With the old symbol, tcrypt.ko is not
built on kernel 6.18 and the package is empty.

Switch to the new symbol and drop the stale CONFIG_CRYPTO_TEST entry
from the generic 6.18 kernel config.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/25965
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 10:19:03 +02:00
Sander van Deijck 37521b9ec8 kernel: remove kmods for drivers dropped upstream
ReiserFS was removed from the kernel in 6.13 and the STM32 CRC32
driver is no longer part of kernel 6.18, so kmod-fs-reiserfs and
kmod-stm32-crc32 can no longer be built.

Remove both packages and drop kmod-fs-reiserfs from the gemini NAS
default packages. Also remove the KERNEL_REISER_FS_POSIX_ACL option,
which never mapped to an existing kernel symbol
(CONFIG_REISERFS_FS_POSIX_ACL), and the stale CONFIG_REISERFS_* symbols
from the generic 6.18 kernel config.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/25965
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 10:19:03 +02:00
Sander van Deijck ccc8ff037e kernel: remove kmods only used with kernel 6.12
kmod-lib-crc32c, kmod-phy-rtl8261n and kmod-echo could only be selected
with kernel 6.12. With all targets on kernel 6.18 they are no longer
available, so remove their definitions.

On kernel 6.18, CRC32C is provided by the built-in CRC library, and the
RTL8261N is supported by the upstream Realtek PHY driver
(kmod-phy-realtek). Remove the out-of-tree RTL8261N driver sources and
the hack patch hooking them into the 6.12 kernel build as well.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/25965
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 10:19:03 +02:00
Sander van Deijck 4eb34d0434 kernel: drop kernel 6.12 conditionals from kmod definitions
All targets have been switched to kernel 6.18, so LINUX_6_12 is never
set any more. Clean up the kmod definitions accordingly:

- '@!LINUX_6_12' conditions are always true: drop them
- '+!LINUX_6_12:kmod-foo' dependencies become '+kmod-foo'
- '+LINUX_6_12:kmod-foo' dependencies are never active: drop them
- AutoLoad entries guarded by LINUX_6_12 are never used: drop them
- 'ifeq ($(KERNEL_PATCHVER),6.12)' blocks are never used: drop them

With kernel 6.18 the resulting package metadata is unchanged apart from
the dropped dependency conditions. The kmods that only exist on kernel
6.12 are removed in a follow-up commit.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/25965
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 10:19:03 +02:00
Julius Bairaktaris 3948687bb8 kernel: split sch_gred out of kmod-sched
sch_gred is only available inside kmod-sched. Package it on its own, 9K
compressed on ipq807x. kmod-sched depends on it, so what it installs is
unchanged.

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Julius Bairaktaris <julius@bairaktaris.de>
Link: https://github.com/openwrt/openwrt/pull/25700
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-18 12:50:08 +02:00
Julius Bairaktaris a55f94d6b9 kernel: split sch_ets and act_pedit out of kmod-sched
sch_ets and act_pedit are only available inside kmod-sched, a bundle of
fifteen modules. Package each on its own, 9K and 7K compressed on ipq807x
against 190K for the bundle. kmod-sched depends on both, so what it
installs is unchanged.

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Julius Bairaktaris <julius@bairaktaris.de>
Link: https://github.com/openwrt/openwrt/pull/25700
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-18 12:50:07 +02:00
Martin Schiller a0737f84e1 modules: drm-imx-ldb: fix dependencies on 6.18
add drm-display-helper as a dependency on 6.18 and add
imx-legacy-bridge.ko to the drm-imx-ldb package to fix:

Package kmod-drm-imx-ldb is missing dependencies for the following libraries:
drm_display_helper.ko
imx-legacy-bridge.ko

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2026-10-18 12:22:31 +02:00
Daniel Golle 2a01c95d6f kernel: backport the V4L2 generic ISP framework
Backport the V4L2 generic ISP types and the v4l2-isp helpers that ISP
drivers use for their parameters and statistics buffers: the two v6.19
commits and a rename that followed them, and the four v7.3 commits that
add the extensible statistics buffer, the per-block validation callback
and the statistics helpers.

Add kmod-video-v4l2-isp for the v4l2-isp module.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-17 18:03:04 +01:00
Satoshi Ikeuchi d2d4d5fdbc kernel: allow QRTR SMD on qualcommbe
Make kmod-qrtr-smd available on qualcommbe for the IPQ9574 integrated
radio. Preserve its availability on qualcommax.

Signed-off-by: Satoshi Ikeuchi <satosan.ikm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25595
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-16 13:58:49 +02:00
Gary Dotzler c081f54842 kernel: fs: remove obsolete Kconfig options
Remove filesystem options no longer present in supported kernels:

CONFIG_NFS_USE_NEW_IDMAPPER: removed in linux-3.4
CONFIG_EXT4_ENCRYPTION: removed in linux-5.1
CONFIG_NFSD_FAULT_INJECTION: removed in linux-5.10
CONFIG_AUTOFS4_FS: removed in linux-6.5
CONFIG_BTRFS_FS_CHECK_INTEGRITY: removed in linux-6.7

reiserfs fixes deferred due to pending removal alongside 6.12.

Signed-off-by: Gary Dotzler <geldot@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/20592
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-10-15 00:37:27 +02:00
Jan Klos 07b3c86b35 kernel: modules: add kmod-tpm-crb kernel module package
It is used by firmware-based TPMs in modern AMD/Intel/ARM processors.

Signed-off-by: Jan Klos <jan@klos.xyz>
Link: https://github.com/openwrt/openwrt/pull/24443
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-10-13 00:45:26 +02:00
André Valentin ef552acd91 linux/modules: add kmod-leds-lp5569
Add a kernel module package for the TI LP5569 RGB LED controller driver,
used by the front panel LEDs of the Zyxel NBG7815.

The driver registers an i2c and an of device table, so AutoProbe is
enough and no load priority is needed. The boot flag is kept, as the
other LED modules do, so that the module is available to preinit on a
device that signals boot state through one of its LEDs.

Signed-off-by: André Valentin <avalentin@marcant.net>
2026-10-11 21:28:57 +02:00
Julius Bairaktaris cd649934dc kernel: crypto: package the ChaCha20 cipher for chacha20poly1305 on 6.18
On 6.18 the rfc7539(chacha20,poly1305) template takes its ChaCha20
skcipher from crypto/chacha.ko, which CRYPTO_CHACHA20POLY1305 selects
but no package ships, and which needs lib/crypto/libchacha.ko.
Instantiating rfc7539esp(chacha20,poly1305) for IPsec then fails with
ENOSYS.

Ship chacha.ko with kmod-crypto-chacha20poly1305 on 6.18, load it
before the template and depend on kmod-crypto-lib-chacha20 for
libchacha.ko.

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Julius Bairaktaris <julius@bairaktaris.de>
Link: https://github.com/openwrt/openwrt/pull/25544
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-11 20:59:07 +02:00
Julius Bairaktaris f2ec42706e kernel: select evdev for HID only with input-support
Since kmod-input-evdev depends on input-support, kmod-hid and
kmod-usb-hid are hidden without it, and so is everything selecting
kmod-hid: kmod-bluetooth, kmod-hci-uart and kmod-btusb. A device that
lists one of them in DEVICE_PACKAGES fails to build as a single profile:

  ERROR: unable to select packages:
    kmod-hci-uart (no such package):

Neither module needs evdev, so select it only with input-support.

Fixes: a7c50f7d73 ("input-support: add a package for input device handling")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Julius Bairaktaris <julius@bairaktaris.de>
Link: https://github.com/openwrt/openwrt/pull/25565
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-10-11 20:08:34 +02:00
Gary Dotzler acd6f78a80 kernel: add kmod-phram package
phram exposes a physical memory range as a read-write MTD device. This
can be used to access RAM regions reserved by firmware or described in
the device tree.

Of particular interest, phram nodes carved out of the reserved region
can survive soft reboots, making it a useful primitive to pass one-shot
bootenv overrides to uboot (fw_setenv -c) without the risk of bricking,
having to wire up a serial console etc.

This patch does the kernel module enablement, paving the way for
potential userspace integrations further down the line (ubus, procd,
sysupgrade etc.)

Run-tested on Linksys E8450 (UBI) with OpenWrt uboot.

Signed-off-by: Gary Dotzler <geldot@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/25692
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-10-11 09:53:36 +02:00
Nick Hainke a000ba05a4 kernel: netsupport: add kmod-sched-dualpi2
Add the Dual Queue Coupled AQM (RFC 9332) queuing discipline, which
gives L4S traffic a low latency without starving classic traffic. It
is available since kernel 6.17, tc supports it already.

Link: https://github.com/openwrt/openwrt/pull/25779
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-10-11 09:36:43 +02:00
Nick Hainke 26ad76b186 kernel: netsupport: add kmod-sched-act-gate
Add the gate tc action (IEEE 802.1Qci), which passes or drops ingress
packets based on a time schedule. It is used for Time-Sensitive
Networking.

Link: https://github.com/openwrt/openwrt/pull/25777
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-10-11 09:29:58 +02:00
Nick Hainke 75db232e46 kernel: netsupport: add kmod-sched-etf
Add the Earliest TxTime First queuing discipline, which sends packets
at the time set with SO_TXTIME. It is used for Time-Sensitive
Networking, also together with taprio in txtime-assist mode.

Link: https://github.com/openwrt/openwrt/pull/25777
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-10-11 09:29:58 +02:00
Nick Hainke 08071e1036 kernel: netsupport: add kmod-sched-taprio
Add the Time Aware Priority (IEEE 802.1Qbv) queuing discipline, used
for Time-Sensitive Networking.

The Hellcreek switch driver depends on taprio, so disable it to avoid
a new config prompt.

Link: https://github.com/openwrt/openwrt/pull/25777
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-10-11 09:29:57 +02:00
Nick Hainke 63ebf08f1f kernel: netsupport: add kmod-sched-cbs
Add the Credit Based Shaper (IEEE 802.1Qav) queuing discipline, used
for Time-Sensitive Networking.

Link: https://github.com/openwrt/openwrt/pull/25777
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-10-11 09:29:57 +02:00
Rosen Penev 7f434d332a kernel: dsa-qca8k: depend on kmod-phy-qca83xx
The internal PHYs of the QCA8327/8334/8337 switches are handled by the
qca83xx PHY driver. Without it they silently fall back to genphy and
lose the chip-specific setup and fixups. Every device using
kmod-dsa-qca8k already pulls it in manually except the MikroTik
RB960PGS, which was missing it.

Add the dependency, like other DSA packages do with their PHY drivers,
and drop the now-redundant device package entries.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25767
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-11 09:04:47 +02:00
Daniel Golle 61f19fda28 kernel: add the IMX415 camera sensor module
The Sony IMX415 is the sensor on the Radxa Camera 4K and on several
other MIPI CSI-2 modules, and the driver is in the kernel already. Add
kmod-video-imx415 so a board with a camera connector has a sensor to
go with its capture driver.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-07 10:12:13 +01:00
Daniel Golle a9f9bd074f kernel: add ASoC simple card, HDMI and ES8316 codec modules
Package the simple-audio-card and audio-graph-card drivers with their
shared utilities, the HDMI codec used by DRM bridges with an HDMI
audio path, and the Everest ES8316 codec.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-07 10:12:12 +01:00