Commit Graph
5753 Commits
Author SHA1 Message Date
Rosen Penev aa09799aa2 gpio-button-hotplug: enable get_devtree_pdata everywhere
Upstream prefers fwnode helpers instead of OF ones (already done). This is
important for software nodes, which upstream is migrating to for its non
OF devices.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24348
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-25 22:53:20 +02:00
Hauke Mehrtens aac6df7bdc mac80211: bump to version 6.18.39
This contains many fixes from upstream Linux.

mac80211/371-wifi-mac80211-Add-eMLSR-eMLMR-action-frame-parsing-s.patch
  adapted to upstream split of include/linux/ieee80211.h

Changes:
```
$ git log --oneline  v6.18.26...v6.18.39 -- drivers/net/wireless/ net/mac80211/ net/wireless/ include/linux/ieee80211*
1de92789ce31 wifi: iwlwifi: mld: validate sta_mask before ffs() in BA session handlers
b0b07e04f0c7 wifi: iwlwifi: mld: fix race condition in PTP removal
df626f284cb9 wifi: iwlwifi: mvm: fix race condition in PTP removal
200d58c851b8 wifi: rtw88: usb: fix memory leaks on USB write failures
73d427d271f7 wifi: rtw88: increase TX report timeout to fix race condition
0aeb4d3ff6ce wifi: rtlwifi: rtl8821ae: Fix C2H bit location in RX descriptor
40aa3c2b0cb8 wifi: ath11k: fix warning when unbinding
a7cdc384c9c5 wifi: mt76: mt7925: don't disable AP BSS when removing TDLS peer
7e25b5e22c1f wifi: mt76: mt76x2u: Add support for ELECOM WDC-867SU3S
3c499851753a wifi: mt76: add wcid publish check in mt76_sta_add
37c059d4d92f wifi: mac80211: tests: mark HT check strict
4dac39a4db14 wifi: mac80211: skip ieee80211_verify_sta_ht_mcs_support check in non-strict mode
265c07c09c83 wifi: nl80211: reject oversized EMA RNR lists
ac2000be0cbe wifi: iwlwifi: pcie: simplify the resume flow if fast resume is not used
fb8db813eba2 wifi: fix leak if split 6 GHz scanning fails
9b40c59bab08 wifi: mac80211: limit injected antenna index in ieee80211_parse_tx_radiotap
9dca67624721 wifi: iwlwifi: mvm: don't support the reset handshake for old firmwares
95c82d498d74 wifi: wilc1000: fix dma_buffer leak on bus acquire failure
55c479aae99b wifi: mac80211: fix MLE defragmentation
2d8379834800 wifi: mac80211: bounds-check link_id in ieee80211_ml_epcs
926a08cf19be wifi: ath11k: fix peer resolution on rx path when peer_id=0
3a74aaad0473 wifi: iwlwifi: mld: don't dereference a pointer before NULL checking it
9e360e610a73 wifi: iwlwifi: mld: fix TSO segmentation explosion when AMSDU is disabled
e1b429d8e712 wifi: ath10k: skip WMI and beacon transmission when device is wedged
d94127d04017 wifi: ath11k: fix error path leak in ath11k_tm_cmd_wmi_ftm()
acde4692afcd wifi: ath11k: fix error path leaks in some WMI WOW calls
2dd9304727c7 wifi: mac80211: consume only present negotiated TTLM maps
6cfae4914439 wifi: cfg80211: advance loop vars in cfg80211_merge_profile()
dc31c6947652 wifi: iwlwifi: mld: stop TX during firmware restart
6fe92651b44f wifi: iwlwifi: mvm: fix driver-set TX rates on old devices
614cacec60fe wifi: ath11k: clear shared SRNG pointer state on restart
254633506626 wifi: ath10k: fix station lookup failure during disconnect
a9937a3ac585 wifi: mac80211: handle VHT EXT NSS in ieee80211_determine_our_sta_mode()
cbea71b44803 wifi: brcmfmac: Fix error pointer dereference
6b9694702c37 wifi: rtw89: phy: fix uninitialized variable access in rtw89_phy_cfo_set_crystal_cap()
a1a8a8bdfa21 wifi: mt76: mt7996: fix RRO EMU configuration
dc34c01521bf wifi: mt76: support upgrading passive scans to active
a2cde15af378 wifi: mt76: fix multi-radio on-channel scanning
98e0118ab51c wifi: mt76: mt7996: Decrement sta counter removing the link in mt7996_mac_reset_sta_iter()
e54c6440114d wifi: mt76: mt7996: Switch to the secondary link if the default one is removed
d6f6b3a65660 wifi: mt76: mt7996: use correct link_id when filling TXD and TXP
5a3353b06387 wifi: mt76: mt7996: Remove link pointer dependency in mt7996_mac_sta_remove_links()
7da35e2d2fb7 wifi: mt76: mt7996: Add missing CHANCTX_STA_CSA property
1e0f3e5e2835 wifi: mt76: mt7921: fix 6GHz regulatory update on connection
aa4a31cd89f4 wifi: mt76: mt7996: fix use-after-free bugs in mt7996_mac_dump_work()
6b7cbb13c838 wifi: mt76: mt7915: fix use-after-free bugs in mt7915_mac_dump_work()
419babee9b5c wifi: mt76: mt7996: fix struct mt7996_mcu_uni_event
ae94ef093a15 wifi: mt76: mt7996: fix wrong DMAD length when using MAC TXP
5fc8c5d45e44 wifi: mt76: fix deadlock in remain-on-channel
35180c772f5e wifi: mt76: mt7921: fix potential deadlock in mt7921_roc_abort_sync
153bcba36c87 wifi: mt76: mt7925: fix potential deadlock in mt7925_roc_abort_sync
e125def8b380 wifi: mt76: mt7925: drop puncturing handling from BSS change path
a1a59bd3cd1e wifi: mt76: mt7925: cqm rssi low/high event notify
dcbc13d19bef wifi: mt76: Fix memory leak destroying device
35835ff71e6e wifi: mt76: mt7921: Place upper limit on station AID
e00c27608536 wifi: mt76: mt7996: fix FCS error flag check in RX descriptor
815db7fd57aa wifi: mt76: mt7925: prevent NULL vif dereference in mt7925_mac_write_txwi
93d0694fb56d wifi: mt76: mt7925: prevent NULL pointer dereference in mt7925_tx_check_aggr()
b81a93dc0aed wifi: mt76: mt7915: fix use_cts_prot support
729b4adad191 wifi: mt76: mt7615: fix use_cts_prot support
9aa3b49e1c5b wifi: mt76: mt7925: Fix incorrect MLO mode in firmware control
3880639cec09 wifi: mt76: mt7921: Reset ampdu_state state in case of failure in mt76_connac2_tx_check_aggr()
1e16b0a9b988 wifi: mt76: mt7996: Reset ampdu_state state in case of failure in mt7996_tx_check_aggr()
455a48685fee wifi: mt76: mt7996: Clear wcid pointer in mt7996_mac_sta_deinit_link()
6d7f231d5fff wifi: mt76: mt7996: Reset mtxq->idx if primary link is removed in mt7996_vif_link_remove()
15205c72f1ec wifi: mt76: mt7996: Set mtxq->wcid just for primary link
900579479395 wifi: mt76: mt7996: fix iface combination for different chipsets
096b74331df2 wifi: mt76: mt7996: fix the behavior of radar detection
00c0317cebf4 wifi: libertas: don't kill URBs in interrupt context
a761a1539a55 wifi: libertas: use USB anchors for tracking in-flight URBs
0ee803fc4787 wifi: ieee80211: fix definition of EHT-MCS 15 in MRU
dd827cff429d wifi: ieee80211: split EHT definitions out
df5720d35848 wifi: ieee80211: split HE definitions out
f8d1e8038bc7 wifi: ieee80211: split VHT definitions out
4d5caab09dab wifi: ieee80211: split HT definitions out
3f459076b2d8 wifi: ieee80211: split mesh definitions out
aa10a452e348 wifi: rtlwifi: pci: fix possible use-after-free caused by unfinished irq_prepare_bcn_tasklet
9fe48cacab63 wifi: mwifiex: Fix memory leak in mwifiex_11n_aggregate_pkt()
658d2e46c2e9 wifi: brcmfmac: Fix potential use-after-free issue when stopping watchdog task
d7029879bafd wifi: b43: enforce bounds check on firmware key index in b43_rx()
9e28654f79f4 wifi: mac80211: remove station if connection prep fails
e9f1081bc775 wifi: ath5k: do not access array OOB
7577a4b8a10f wifi: mac80211: use safe list iteration in radar detect work
4f9a4ae8d2c1 wifi: rsi: fix kthread lifetime race between self-exit and external-stop
e131562d6f2b wifi: mac80211: drop stray 'static' from fast-RX rx_result
9d1bc1558029 wifi: b43legacy: enforce bounds check on firmware key index in RX path
6d55948a62ab wifi: mt76: mt7921: fix ROC abort flow interruption in mt7921_roc_work
0aa63d33742b wifi: mt76: mt7921: fix a potential clc buffer length underflow
6fc7c8b414ce wifi: mt76: mt7925: fix incorrect length field in txpower command
5860ab3ddeaa wifi: mt76: mt7925: fix AMPDU state handling in mt7925_tx_check_aggr
8c4339dbab49 wifi: mt76: mt7925: fix incorrect TLV length in CLC command
7d7863018f40 wifi: mt76: mt792x: fix mt7925u USB WFSYS reset handling
0bc155c4ca47 wifi: mt76: mt792x: describe USB WFSYS reset with a descriptor
69c4d137b22d wifi: rtl8xxxu: fix potential use of uninitialized value
4e179a60a60c wifi: mwifiex: fix use-after-free in mwifiex_adapter_cleanup()
000134a20bbf wifi: rtw88: check for PCI upstream bridge existence
```

Link: https://github.com/openwrt/openwrt/pull/24353
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-23 21:47:25 +02:00
Andris PE 1186b585ef kernel: minimize kmod-sched-ctinfo dependencies
Do not pull iptables core for kmod-sched-ctinfo, only nf-conntrack,
reflecting kernel config dependencies.

There is no use of this module in openwrt repos, but it is used by
@hudra0 qosmate
and some less popular qos scripts.

Signed-off-by: Andris PE <neandris@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24104
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-22 10:17:49 +02:00
Carlo Szelinsky d3c5d345d2 kernel: pse-pd: add Hasivo HS104 PoE PSE controller driver
Direct-I2C driver for the HS104 PSE chip (unlike the MCU-fronted
realtek-pse-mcu family). Packaged as kmod-pse-hasivo-hs104.

This driver will be submitted upstream once the pending PSE-core
patches it builds on (above) have landed.

Signed-off-by: Carlo Szelinsky <github@szelinsky.de>
Link: https://github.com/openwrt/openwrt/pull/22245
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-21 18:59:26 +02:00
Daniel Golle 0f256a0a7a kernel: modules: package OP-TEE and fTPM modules
Add kmod packages to support accessing the fTPM (in-firmware TPM) which
can be implemented in the boot firmware of most modern platforms.

 - kmod-optee: Open Portable Trusted Execution Environment
 - kmod-optee-rng: OP-TEE random number generator client
 - kmod-rtc-optee: OP-TEE real-time clock client
 - kmod-scmi-transport-optee: SCMI OP-TEE transport
 - kmod-tee: Generic Trusted Execution Environment
 - kmod-tee-stmm-efi: EFI variable service Trusted Application
 - kmod-tpm-ftpm-tee: Microsoft fTPM Trusted Application

Using the TPM 2.0 can be useful for various security applications,
such as encrypting on-disk credentials. OP-TEE itself alone is also
useful as it can provide a PKCS#11 token for authentication (eg. to
connect to a VPN) and significantly lower the risk of leaking secrets
used for authentication. Also, on some platforms RNG and RTC can only be
accessed via OP-TEE, and some ARM SystemReady platforms require EFI
variables to be access via a TA.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-07-21 11:56:04 +01:00
Andris PE e85fa66006 kernel: load vmware net modules early
Load vmware network modules early to make them available for failsafe
mode and first-time scripts
REF:
`https://knowledge.broadcom.com/external/article/321259/choosing-a-network-adapter-for-a-virtual.html`
Additionally add e1000 which is default on "Other Linux" vm profiles

Signed-off-by: Andris PE <neandris@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24212
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-20 20:15:11 +02:00
Rosen Penev 938a43b522 kernel: remove kmod-crypto-misc
Nothing selects this. In addition, a lot of those algorithms are
legacy/obsolete.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23927
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-17 09:51:18 +02:00
Jonas Jelonek 301d98f81f realtek: add Realtek PSE MCU driver
Add pending patches which add a PSE driver for the PSE setup found on
most of Realtek-based switches. An MCU with a Realtek-defined firmware
and protocol fronts one or more PSE chips (from Realtek or Broadcom) as
a management controller.

The driver provides both I2C/SMBus and UART communication, which varies
among our supported switches. There is no need for complicated userspace
handling anymore, the PSE setup is defined in the device tree and
interfaced in userspace via ethtool, netlink and netifd support.

Those patches have progressed far enough upstream, the bindings are
reviewed. Thus, we can keep this intermediate version downstream to open
it up earlier for usage. Only little changes are expected til the final
version lands.

Link: https://github.com/openwrt/openwrt/pull/23222
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-14 23:45:29 +02:00
Rosen Penev 594b4aef09 gpio-button-hotplug: don't include of_irq.h
Not used. Add the proper headers.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24177
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-11 23:43:29 +02:00
Rosen Penev 5de5bb79fd gpio-button-hotplug: remove pointless void cast
void pointer casting like this is unnecessary.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24177
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-11 23:43:28 +02:00
Rosen Penev a88866c5c4 treewide: remove weird double void casting
This must be some older compiler and kernel warning.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24177
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-11 23:43:28 +02:00
Robert Marko d0d71dcc09 kernel: drop qca-nss-dp and qca-ssdk
Now that all targets using NSS-DP and SSDK have been converted, we can
finally drop these.

Signed-off-by: Robert Marko <robimarko@gmail.com>Link: https://github.com/openwrt/openwrt/pull/22381
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-07-11 22:26:44 +02:00
Rosen Penev b0a03893cb gpio-button-hotplug: fix signed issue
struct gpio_keys_button has an unsigned int for its irq field. A signed
one is needed for fwnode_irq_get. Handle it before passing it to the
button member.

Fixes: 79b9a36959 ("gpio-button-hotplug: use device and fwnode")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24174
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-11 00:32:05 +02:00
Rosen Penev 79b9a36959 gpio-button-hotplug: use device and fwnode
Upstream prefers these instead of OF functions.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24120
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-09 09:33:41 +02:00
Marius Dinu bfa2d2f7c6 kernel-packages: multiplexer: fix menuconfig
One of the drivers appeared outside it's submenu. Fixed.

Signed-off-by: Marius Dinu <m95d+git@psihoexpert.ro>
2026-07-08 19:08:21 +02:00
Robert Marko 273b186ac3 mac80211: ath12k: fix regulatory range for wideband radios
Currently, trying to start a 5GHz radio on 8devices Kiwi will fail as
despite the phy listing the 5GHz channels in iw phy dump, no radio actually
claims the 5GHz range.

This is because driver assumes that if radio supports 6GHz then it cannot
be used for 5Ghz, this is however not correct for wideband radios.

So, similar to the 103-wifi-ath12k-fix-5GHz-operation-on-wideband-QCN.patch
patch ath12k_regd_update() so that 5Ghz range is listed as well.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Link: https://github.com/openwrt/openwrt/pull/24106
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-07-07 10:52:39 +02:00
Joshua Covington fa65dfa9d5 bcm27xx-gpu-fw: update to 20260521
Update to Git HEAD as of 2026-05-21

Signed-off-by: Joshua Covington <joshuacov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23703
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-07 08:48:42 +02:00
Joshua Covington 2935c748f7 bcm27xx-gpu-fw: remove dependency for bcm2712
bcm2712 uses a dedicated eeprom chip with closed-source blobs
provided via rpi-eeprom which is part of the bcm27xx-utils.
No need to install the old firmware files on this target.

Signed-off-by: Joshua Covington <joshuacov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23703
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-07 08:48:41 +02:00
Joshua Covington 11de7145c9 kernel: i2c-designware: disable core on 32-bit bcm27xx targets on 6.18
The bcm27xx/bcm2708 all-kmods CI build fails when modpost reaches the
DesignWare I2C core module:

  ERROR: modpost: "__aeabi_uldivmod"
  [drivers/i2c/busses/i2c-designware-core.ko] undefined!

This is triggered by CONFIG_ALL_KMODS=y. The old 32-bit Raspberry Pi
subtargets do not normally select this driver for runtime use, but all-kmods
forces the kmod package to be built anyway. On 32-bit ARM, raw 64-bit
division in a module can cause GCC to emit the ARM EABI helper
__aeabi_uldivmod, which is not available as a kernel module symbol.

The failing reference comes from i2c-designware-master.c, where clock_calc()
uses raw u64 division for SCL timing calculations (introduced with commit
3805d13c3ead21494f7d00aa44f10e3656363d4c in rpi-6.18.y / "i2c: designware:
Support non-standard bus speeds"). That is a kernel-side portability issue,
but these old bcm27xx subtargets do not use DesignWare I2C hardware. They
use the Broadcom I2C controller instead.

The failure is emitted for i2c-designware-core.ko, so guard the hidden core
package itself rather than only guarding the platform or PCI frontend package.
This prevents CONFIG_ALL_KMODS from selecting the failing core module directly
on the affected 32-bit bcm27xx subtargets.

DesignWare I2C is relevant for newer Raspberry Pi 5 / RP1 based systems, so
keep it available for bcm2712.

A similar issue was reported by NixOS for Raspberry Pi ARM builds, where
i2c-designware-core.ko failed with the same unresolved __aeabi_uldivmod symbol.
Their workaround was to disable the DesignWare I2C symbols for older Raspberry
Pi targets that do not need them.
Link: https://github.com/NixOS/nixpkgs/issues/464515

Until the underlying ARM32 kernel-side issue is fixed, avoid building
the DesignWare core package on bcm2708, bcm2709 and bcm2710.

Signed-off-by: Joshua Covington <joshuacov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23703
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-07 08:48:40 +02:00
Andrew LaMarche 24ab1e83d0 mac80211: read calibration variant from device tree
ath10k and ath11k support reading calibration variants from the device
tree to locate the correct Board Description File (BDF). The ath12k-wsi
binding already describes using qcom,calibration-variant but it is not
implemented in the driver.

Many ath12k designs expose all the radios under a single phy, each of
which typically require a separate BDF. Without this, the radios may not
come up or will not be calibrated correctly.

Fix this by parsing the device tree for the generation-agnostic
qcom,calibration-variant. This allows the driver to properly select,
read and apply the correct BDF.

Additionally, the ath12k-wsi binding documentation describes using the
generation-specific qcom,ath12k-calibration-variant binding as well as
the generation-agnostic qcom,calibration-variant binding to load
board-specific calibration data from the device tree. However, the
driver never implemented either of these.

Given that no devices currently supported use
qcom,ath12k-calibration-variant and the previous patch implements
qcom,calibration-variant, drop the generation-specific version from the
binding to prevent future confusion.

Tested on Askey SBE1V1K.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21767
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-07 08:32:11 +02:00
Marius Dinu bf6d2e78ba kernel-packages: video: remove path variables
These path names are unlikely to change. There is no need for variables.

Tested on Turris Omnia, but not all of these drivers were tested. Variables
were replaced automatically (search-and-replace in text editor). There
shouldn't be any problems.

Signed-off-by: Marius Dinu <m95d+git@psihoexpert.ro>
2026-07-06 11:22:01 +02:00
Andris PE a3811bbf4c kernel: minimize kmod-sched-connmark dependencies
Remove iptables kmod dependency from kmod-sched-connmark.
Both dependents
package/network/config/qos-scripts
../packages/net/trafficshaper
Already pull in ipt kmods via iptables-mod-conntrack-extra
Permits "clean" nftables migration at
https://github.com/openwrt/packages/pull/29830

Signed-off-by: Andris PE <neandris@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-06 09:04:10 +02:00
Rosen Penev d78d2c784b treewide: various fwnode conversions
Avoid having to use of_fwnode_handle and use fwnode_handle directly.

Upstream prefers fwnode to of anyway.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24039
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-05 23:35:05 +02:00
Rosen Penev abf6df457f mac80211: ath9k: call reset on init
Even though external_reset() is handled elsewhere, it seems some devices
need it here.

Fixes: 0ccc336c56 ("mac80211: ath9k: avoid a double reset")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24042
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-05 23:23:25 +02:00
Rosen Penev 4e1fd5b025 kernel: modules: mux-mmio: add missing regmap-mmio dependency
mux-mmio.ko depends on regmap-mmio.ko at runtime, but the kmod package
was missing the dependency, causing build failures when the module is
included.

Fixes: ac39016898 ("kernel: modules: package MMIO mux driver")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24028
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-02 10:06:12 +02:00
Lech Perczak 37bbeb1af4 kernel: modules: video: package ov5645 driver
Create a package for ov5645 kernel module, required to support camera on
PICO-PI-IMX7D board.

Currently limit the visibility to imx_cortexa7 subtarget, but this can
be enabled on other platforms if needed.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17606
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-07-01 19:06:28 +02:00
Lech Perczak 16a7c79ae8 kernel: modules: video: package video-mux
Package the video-mux module, required by PICO-PI-IMX7D board, to
support included OV5645 camera.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17606
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-07-01 19:06:28 +02:00
Lech Perczak ac39016898 kernel: modules: package MMIO mux driver
Create a package for MMIO-based multiplexer driver, used as a backend by
video-mux on i.MX7 SoCs.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17606
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-07-01 19:06:28 +02:00
Lech Perczak 0f54eda2dc kernel: modules: video: package i.MX7 CSI driver
Create a package for i.MX7 CSI driver module, together with it's common
code for i.MX family.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17606
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-07-01 19:06:28 +02:00
Felix Fietkau 638a1927b1 mt76: update to Git HEAD (2026-07-01)
50a0c3057575 firmware: update MT7986 firmware to version 20260515
6b7b98627bcc wifi: mt76: mt7915: HW ATF support for mt7986+
910db36ae5b1 wifi: mt76: mt7996: HW ATF support
f6cf5faff4b6 firmware: update MT7996 firmware to version 20260311
fe40221e05eb wifi: mt76: mt7996: fix EAPOL source BSS for non-MLD stations
59676919ea40 wifi: mt76: mt7996: fix non-MLD station num_sta leak

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-07-01 13:15:44 +02:00
Felix Fietkau 92143f94b6 mac80211: notify driver on airtime weight changes
Add a new sta_set_airtime_weight driver op so drivers can program the
airtime fairness weight into hardware.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-30 13:56:29 +02:00
Rosen Penev c1ba308aa6 lantiq: vrx518_ep: use module_pci_driver macro
Use = {} to get rid of the memset so that init is just
pci_register_driver with extra prints.

Assisted-by: Opencode:Big-Pickle
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23976
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-28 23:36:05 +02:00
Rosen Penev 0d892f17c9 fs: rpsec: add missing modules for CRYPTO_KRB5
Upstream selects these for CRYPTO_KRB5.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23794
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-28 22:09:37 +02:00
Hauke Mehrtens aea3d6cee1 rtl8812au-ct: fix compilation with GCC 15
GCC 15 enables -Wheader-guard and the kernel module build treats
warnings as errors, so the mismatched include guards in three driver
headers break the build:

  include/rtl8812a_sreset.h:20: error: header guard
  '_RTL88812A_SRESET_H_' followed by '#define' of a different macro
  [-Werror=header-guard]

Add a patch making each '#ifndef' match its '#define'. rtl8192e_sreset.h
was a copy/paste of the rtl8812a guard, so it gets its own
'_RTL8192E_SRESET_H_' name instead of duplicating '_RTL8812A_SRESET_H_'.

Assisted-by: Claude:claude-opus-4-8
Link: https://github.com/openwrt/openwrt/pull/23957
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-27 11:45:04 +02:00
Mieczyslaw Nalewaj 9635f44ead kernel: split nf-nathelper-extra into individual packages
Split kmod-nf-nathelper-extra into separate helper packages
and keep the original package as a compatibility meta-package.

This allows selecting only the required protocol helpers
instead of installing all helper modules and dependencies.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/23690
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-24 13:26:32 +02:00
Felix Fietkau e40458a2ff mt76: remove obsolete patches
Already included in the last update

Fixes: a0c5a58123 ("mt76: update to Git HEAD (2026-06-23)"
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 12:33:34 +02:00
Felix Fietkau a0c5a58123 mt76: update to Git HEAD (2026-06-23)
012e52ae3805 wifi: mt76: use hrtimer_setup() in mt76x02u beacon init
d2b01fbc329b mt76: pass LED define via ccflags-y
9a46d8d21d2a wifi: mt76: add PS buffering support for HW-managed TIM drivers
9e613fb007f5 wifi: mt76: mt7915: handle MCU PS sync events
b0af99f238f7 wifi: mt76: mt7996: handle UNI PS sync events
34064bd58bb3 wifi: mt76: mt7925: clean up DMA on probe failure
4ab8f2122dcb wifi: mt76: disable rx napi before queue cleanup
381582f2a5de wifi: mt76: mt7996: avoid memset overwriting tx_info->control.flags
d463ed9490ab wifi: mt76: mt7921: fix resource leak in probe error path
dd1459c0c708 wifi: mt76: mt7921/mt7925: fix NULL dereference in CSA beacon
6ae6f2b58cf5 wifi: mt76: route TDLS-peer frames as 3-addr non-DS in HW encap
0753cf183d8c wifi: mt76: mt7925: don't disable AP BSS when removing TDLS peer
fe0555feb30a wifi: mt76: use kfree_rcu for offchannel link in mt76_put_vif_phy_link
97fc0e785d0e wifi: mt76: mt7921: fix uninitialized variable warning
49a0aa659f7b wifi: mt76: drop redundant device reference
a4f3781dea07 wifi: mt76x0u: drop redundant device reference
52071e885528 wifi: mt76x2u: drop redundant device reference
0aca66c123f8 wifi: mt76: mt792xu: drop redundant device reference
5c94494f1b8d dma.h: add missing variable initialization
756b1c67eb3b wifi: mt76: mt7925: add Netgear A8500 USB device ID
58331e62df80 wifi: mt76: mt7996: Fix NULL pointer dereference in mt7996_init_tx_queues()
bd493e29f7e0 wifi: mt76: mt7925: fix stale pointer comparisons in change_vif_links
3c575281716f wifi: mt76: mt7925: add 320MHz bandwidth to bss_rlm_tlv
b1f7e240c717 wifi: mt76: mt7925: handle 320MHz bandwidth in RXV and TXS
06277d860b3d wifi: mt76: mt7925: populate EHT 320MHz MCS map in sta_rec
70bfd49d255a wifi: mt76: mt7925: advertise EHT 320MHz capabilities for 6GHz band
fda04bb435fa wifi: mt76: mt7925: add MT7927 chip ID helpers
6e5802e93dfb wifi: mt76: mt7925: add MT7927 firmware paths
8175695dcd5e wifi: mt76: mt7925: use irq_map for chip-specific interrupt handling
f698c7f22569 wifi: mt76: mt7925: disable ASPM and runtime PM for MT7927
1f91523cb928 wifi: mt76: connac: replace is_mt7925() with is_connac3()
9342a017992d wifi: mt76: mt7925: use link-specific removal for non-MLD STA
3969bb117161 wifi: mt76: connac: tolerate inactive BSS deactivation
d045c72b294c wifi: mt76: mt792x: add MT7927 WFSYS reset support
b81028de36e8 wifi: mt76: mt792x: factor out common DMA queue allocation
903f8b3bfa02 wifi: mt76: mt7925: switch DMA init to common mt792x queue helpers
79e061f30b0c wifi: mt76: mt792x: add MT7927-specific PCIe DMA support
3e55b6595da9 wifi: mt76: mt7925: sync MT7927 BSS band assignment
b8e20dc9c221 wifi: mt76: mt7925: add MBMC event handling
049633e34b79 wifi: mt76: mt792x: enable CNM ops for MT7927
8a7d31ac92b0 wifi: mt76: mt7925: add MT7927 PCIe support
62956aec1615 wifi: mt76: mt7925: add MT7927 USB support
4ed651794a7f wifi: mt76: mt7925: keep TX BA state in the primary WCID
6cdcb480f32b wifi: mt76: mt7925: pass WCID explicitly to mt7925_mcu_sta_ba()
f142a55342a4 wifi: mt76: mt7925: program BA state on active links
3e54e1c80079 wifi: mt76: mt792x: skip MLD header rewrite for 802.3 encap TX
e588dc4843ab wifi: mt76: mt7925: validate skb length in testmode query
2802466a9440 wifi: mt76: mt7915: validate skb length in txpower SKU query
d8fc8629f2bc wifi: mt76: mt7996: Fix possible token leak in mt7996_tx_prepare_skb()
652740d6f12e wifi: mt76: mt7996: Fix possible NULL pointer dereference in mt7996_mac_write_txwi_80211()
f5f14a017454 Revert "wifi: mt76: disable rx napi before queue cleanup"
1e7ac9bf7764 Revert "wifi: mt76: mt7996: avoid memset overwriting tx_info->control.flags"
934f64710479 wifi: mt76: mt7996: fix reading zeroed info->control.flags after mt76_tx_status_skb_add()
1ba5cc4b4023 wifi: mt76: mt7925: drop redundant chandef.chan NULL check in MT7927 path
02934c3d0726 wifi: mt76: mt7996: remove redundant pdev->bus check in probe
2ab649809db7 wifi: mt76: add wcid publish check in mt76_sta_add
7825972b0a3c wifi: mt76: transform aspm_conf for pci_disable_link_state
c0e41eb57d96 wifi: mt76: mt7996: reduce phy work in set_coverage
e640565e0701 wifi: mt76: mt7996: limit work in set_bitrate_mask
761478b9b1a3 wifi: mt76: connac: use a helper to cache txpower_cur
1e05654e6aec wifi: mt76: connac: factor out rate power limit calculation
994443de60ba wifi: mt76: mt792x: report txpower for the requested vif link
600dbf123399 wifi: mt76: mt792x: add common USB transport reset helpers
91f19ba39348 wifi: mt76: mt7921u: escalate broken USB transport to device reset
03644ac19f9a wifi: mt76: fix argument to ieee80211_is_first_frag()
cd931f9e5fa6 wifi: mt76: mt7996: disable UNI_BSS_INFO_PROTECT_INFO for mt7996
fc890d5b3603 wifi: mt76: mt7921: refactor regulatory domain handling to regd.[ch]
1ec0abf5d9aa wifi: mt76: mt7921: refactor CLC support check flow
cd3d2a68c90c wifi: mt76: mt7921: refactor regulatory notifier flow
06d1ccbecd50 wifi: mt76: mt7921: add auto regdomain switch support
4fb4a076256f wifi: mt76: mt7921: disable auto regd changes after user set
748311faa56c wifi: mt76: mt7915: fix potential tx_retries underflow
ee2bb3337274 wifi: mt76: mt7921: fix potential tx_retries underflow
e791fb66e47c wifi: mt76: mt7925: fix potential tx_retries underflow
9f60dd01e62c wifi: mt76: mt7996: fix potential tx_retries underflow
a3bf7dac3e58 wifi: mt76: mt7921: assert sniffer on chanctx change
72d8dc857443 wifi: mt76: Drop unneeded mt76_register_debugfs_fops() return checks
f8b59ca3be7b wifi: mt76: don't pin undrainable PS stations in the tx scheduler
2dd6e4c8892f firmware: update MT7981 firmware to version 20260515

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 11:22:26 +02:00
Paul Spooren 4315c52a9f button-hotplug: bump package release
This commit fixes "286f377389a button-hotplug: add KEY_SETUP and KEY_VENDOR
handling" which changed the code without bumping the PKG_RELEASE, resulting in
different binaries under the same version.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Link: https://github.com/openwrt/openwrt/pull/23826
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-06-16 11:33:24 +02:00
Rosen Penev e4c35c2eec mac80211: backport ath9k memset fixes from upstream
Backport two upstream commits that replace memset() on coherent DMA
descriptor rings with explicit WRITE_ONCE() status word stores.

On 32-bit PowerPC platforms like apm821xx, coherent DMA memory may be
mapped uncached. The optimized memset() path can use dcbz there, which
triggers alignment warnings and spams the kernel log.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23776
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-15 10:00:38 +02:00
Qingfang Deng 00b2bbfdbf kernel: modules: mppe: clean up
Remove kmod-crypto-arc4 and kmod-crypto-ecb from depends, as it no
longer uses skcipher API for encryption.
Remove the non-existent CONFIG_PPP_MPPE_MPPC symbol.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23464
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 12:00:01 +02:00
Qingfang Deng 0160d8b7b9 kernel: modules: slhc: remove CRC_CCITT depends
slhc does not depends on CRC_CCITT according to kernel Kconfig.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23464
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 12:00:00 +02:00
Rosen Penev 076eefdc2c treewide: remove usage of of_device.h
of_device.h was used only for of_match_device. That is no longer
used in most places so we can drop the extra header.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23071
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-10 09:03:11 +02:00
Thomas Richard e005805489 kernel: iio: add kmod-iio-ad7405 package
Create kernel package for the AD7405 ADC driver.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/22989
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:10:23 +02:00
Mieczyslaw Nalewaj 2aa1185fb0 leds: add "network" LED trigger (lan/wan/wlan)
LED trigger for network interfaces.

 - Aggregated per-family (lan/wan/wlan).
 - Family and flags are taken from device tree properties:
   - "family" : simple family string "lan" | "wan" | "wlan"
   - "mode"   : any combination of "link", "tx", "rx" flags
  Priority/combination:
   * If "mode" present: flags come from "mode" and take precedence.
     Family is taken from "family" if present, otherwise from the LED name.
   * If only "family" present: use its family and default flags = link+tx+rx.
   * If neither present: fall back to LED device name parsing.

 - Suffix "-online" is valid ONLY in the LED name (label),
   e.g. "green:wlan-online". It indicates the online variant but is applied
   only when DT "mode" is absent.

Behaviour:
 - wlan (normal): blink/solid driven by throughput table
 - lan/wan (normal): one-shot blink on TX/RX packet change
 - *-online variants: steady ON while any interface of the family has carrier

 Interfaces are auto-tracked by name match (lan0, wan1, wlan2, phy0, wl1,
 ath0, ra0...). Up to MAX_IFACES (16) interfaces per family

This trigger is intended for board/device authors and drivers to provide simple
network-activity LED behaviour without per-interface wiring in userspace.

Refresh bcm27xx patches in the same commit to account for line shifts in
drivers/leds/trigger/Kconfig and Makefile, ensuring clean applies for
bisectability.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/19903
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-05 20:30:34 +02:00
Robert Marko 15fb4966a5 qca-ssdk: update to Git HEAD (2026-06-04)
c3bf07a66f7e make: honor SOURCE_DATE_EPOCH in BUILD_DATE
bb4f3f0b947e Revert "MP: fix uniphy reset in phy to phy link scenario"

Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-04 22:21:21 +02:00
Martin Schiller a35efecca8 kernel/modules: add RV3028 I2C RTC kernel module support
Add support for the Micro Crystal RV3028 I2C real-time clock chip.

Tested on a Kontron OSM-S/BL i.MX8MP eval board.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2026-06-01 17:49:36 +02:00
Rosen Penev 805098d8b6 gpio-button-hotplug: avoid a const cast
Introduce a variable inside probe to avoid having to cast const away.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22619
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-01 09:34:39 +02:00
Alexandru Gagniuc 3de10be03f kernel: crypto-sha512-arm64: do not package with kernel 6.18
Since upstream commit 60e3f1e9b7a5 ("lib/crypto: arm64/sha512:
Migrate optimized SHA-512 code to library"), the kernel module is no
longer available, and its fucntionality os provided by the kernel
core. Thus do not try to package this for linux 6.18 and later.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21506
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-05-28 10:15:20 +02:00
Felix Fietkau 36471ac3e4 mac80211: add ieee80211_txq_aql_pending()
Add a function to allow drivers to query the pending AQL airtime
for a given txq, for both unicast and broadcast.
This will be used for mt76 to limit buffering in AP mode for power-save
stations.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-05-27 12:27:21 +02:00
Rosen Penev fb1c7d7892 gpio-button-hotplug: accept GPIO buttons with explicit IRQs
gpio-button-hotplug skips buttons with button->irq set because it cannot
handle true interrupt-only gpio-keys descriptions. That check also skips
valid GPIO-backed buttons that provide a separate interrupt specifier, such
as the Meraki MX60 reset button.

Try to acquire the GPIO descriptor before deciding that an explicit-IRQ
button is unsupported. Continue to skip true interrupt-only buttons, and
make the IRQ setup and teardown paths ignore skipped entries.

Tested on: Cisco Meraki MX60. Reset button now works.

Fixes: 23845fa10b ("gpio-button-hotplug: do not error on interrupt attached keys")
Assisted-by: Codex:GPT-5.5
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23382
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-25 10:16:49 +02:00