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>
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>
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>
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>
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>