Merge remote-tracking branch 'immortalwrt/master' into k6.12-nss

This commit is contained in:
Roc Lai 2025-12-03 15:40:09 +08:00
commit ea02da03c0
1233 changed files with 8729 additions and 130096 deletions

2
.gitattributes vendored
View File

@ -1,2 +1,4 @@
* -text
*.patch whitespace=-indent-with-non-tab,-space-before-tab,-tab-in-indent,-trailing-space
*.dts text eol=lf
*.dts[io] text eol=lf

View File

@ -108,6 +108,7 @@ menu "Global build settings"
config CLEAN_IPKG
bool
prompt "Remove ipkg/opkg status data files in final images"
depends on !USE_APK
help
This removes all ipkg/opkg status data files from the target directory
before building the root filesystem.

View File

@ -612,14 +612,12 @@ choice
config KERNEL_TRANSPARENT_HUGEPAGE_NEVER
bool "never"
depends on !LINUX_6_6
endchoice
config KERNEL_ARM64_CONTPTE
bool "Compile the kernel with Contiguous PTE mappings for user memory"
depends on aarch64
depends on KERNEL_TRANSPARENT_HUGEPAGE
depends on !LINUX_6_6
default y
config KERNEL_HUGETLBFS
@ -877,7 +875,7 @@ if KERNEL_CGROUPS
config KERNEL_CPUSETS_V1
bool "Legacy cgroup v1 cpusets controller"
depends on KERNEL_CPUSETS
depends on !LINUX_6_6
default n
help
Legacy cgroup v1 cpusets controller which has been deprecated by
cgroup v2 implementation. The v1 is there for legacy applications
@ -934,7 +932,6 @@ if KERNEL_CGROUPS
config KERNEL_MEMCG_V1
bool "Legacy cgroup v1 memory controller"
depends on KERNEL_MEMCG
depends on !LINUX_6_6
help
Legacy cgroup v1 memory controller which has been deprecated by
cgroup v2 implementation. The v1 is there for legacy applications

View File

@ -25,7 +25,6 @@ ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
define Kernel/Prepare/Default
$(LINUX_CAT) $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS)
$(Kernel/Patch)
$(if $(QUILT),touch $(LINUX_DIR)/.quilt_used)
endef
else
define Kernel/Prepare/Default

View File

@ -103,6 +103,7 @@ define Kernel/Patch/Default
$(call PatchDir,$(LINUX_DIR),$(GENERIC_PATCH_DIR),generic/)
$(call PatchDir,$(LINUX_DIR),$(GENERIC_HACK_DIR),generic-hack/)
$(call PatchDir,$(LINUX_DIR),$(PATCH_DIR),platform/)
$(if $(QUILT),touch $(LINUX_DIR)/.quilt_used)
endef
define Quilt/RefreshDir

View File

@ -7,10 +7,10 @@
include $(TOPDIR)/rules.mk
PKG_VERSION:=2.12
PKG_RELEASE:=2
PKG_VERSION:=2.13
PKG_RELEASE:=1
PKG_HASH:=b4c047493cac1152203e1ba121ae57267e4899b7bf56eb365e22a933342d31c9
PKG_HASH:=afb5c408392fcec840bd30de9b02a236b0108142024f9853b542b596b0d894e3
PKG_MAINTAINER:=Thomas Richard <thomas.richard@bootlin.com>
include $(INCLUDE_DIR)/kernel.mk

View File

@ -1,51 +0,0 @@
From 33573ea6842198cfdb5b3fdd320db9e2045855e9 Mon Sep 17 00:00:00 2001
From: Valentin Caron <valentin.caron@foss.st.com>
Date: Wed, 11 Dec 2024 11:20:04 +0100
Subject: [PATCH] fix(stm32mp1-fdts): re-enable RTC clock
On STM32MP15 ST boards, RTC clock configuration by OPTEE is not ready
yet. Re-enable it temporary to get LSE as clock source of RTC.
Signed-off-by: Valentin Caron <valentin.caron@foss.st.com>
Change-Id: Ib6071229552e456faffb4fdfc8db9808140d54a7
---
fdts/stm32mp157c-ed1.dts | 2 ++
fdts/stm32mp15xx-dkx.dtsi | 2 ++
2 files changed, 4 insertions(+)
--- a/fdts/stm32mp157c-ed1.dts
+++ b/fdts/stm32mp157c-ed1.dts
@@ -194,6 +194,7 @@
CLK_MPU_PLL1P
CLK_AXI_PLL2P
CLK_MCU_PLL3P
+ CLK_RTC_LSE
CLK_MCO1_DISABLED
CLK_MCO2_DISABLED
CLK_CKPER_HSE
@@ -242,6 +243,7 @@
DIV(DIV_APB3, 1)
DIV(DIV_APB4, 1)
DIV(DIV_APB5, 2)
+ DIV(DIV_RTC, 23)
DIV(DIV_MCO1, 0)
DIV(DIV_MCO2, 0)
>;
--- a/fdts/stm32mp15xx-dkx.dtsi
+++ b/fdts/stm32mp15xx-dkx.dtsi
@@ -198,6 +198,7 @@
CLK_MPU_PLL1P
CLK_AXI_PLL2P
CLK_MCU_PLL3P
+ CLK_RTC_LSE
CLK_MCO1_DISABLED
CLK_MCO2_DISABLED
CLK_CKPER_HSE
@@ -246,6 +247,7 @@
DIV(DIV_APB3, 1)
DIV(DIV_APB4, 1)
DIV(DIV_APB5, 2)
+ DIV(DIV_RTC, 23)
DIV(DIV_MCO1, 0)
DIV(DIV_MCO2, 0)
>;

View File

@ -7,10 +7,10 @@
include $(TOPDIR)/rules.mk
PKG_VERSION:=4.7.0
PKG_VERSION:=4.8.0
PKG_RELEASE:=1
PKG_HASH:=976b9c184678516038d4e79766608e81d10bf136f76fd0db2dc48f90f994fbd9
PKG_HASH:=5222cd553f5edb69ae4ec7cb99b2bfec2c47a47c0be1865b49744701918e8b4d
PKG_MAINTAINER:=Thomas Richard <thomas.richard@bootlin.com>
OPTEE_USE_INTREE_DTC:=1

View File

@ -19,12 +19,19 @@ define U-Boot/Default
endef
define U-Boot/ar9344_nec_aterm
NAME:=NEC Aterm series (AR9344)
NAME:=NEC Aterm series (AR9344, GbE)
BUILD_SUBTARGET:= tiny
BUILD_DEVICES:=nec_wg600hp nec_wr8750n nec_wr9500n
UBOOT_CONFIG:=nec_ar9344_aterm
endef
define U-Boot/ar9344_nec_aterm_fe
NAME:=NEC Aterm series (AR9344, FE)
BUILD_SUBTARGET:= tiny
BUILD_DEVICES:=nec_wf1200hp nec_wf1200hp2
UBOOT_CONFIG:=nec_ar9344_aterm_fe
endef
define U-Boot/qca9558_nec_aterm
NAME:=NEC Aterm series (QCA9558)
BUILD_SUBTARGET:= generic
@ -32,7 +39,7 @@ define U-Boot/qca9558_nec_aterm
UBOOT_CONFIG:=nec_qca9558_aterm
endef
UBOOT_TARGETS := ar9344_nec_aterm qca9558_nec_aterm
UBOOT_TARGETS := ar9344_nec_aterm ar9344_nec_aterm_fe qca9558_nec_aterm
# don't stage files to bindir, let target/linux/ath79/image/*.mk do that
define Package/u-boot/install

View File

@ -5,19 +5,21 @@ Subject: [PATCH] ath79: add support for NEC AR9344 Aterm series
---
arch/mips/dts/Makefile | 1 +
arch/mips/dts/nec,ar9344-aterm.dts | 35 +++++++++++++++
arch/mips/mach-ath79/Kconfig | 5 +++
board/nec/ar9344_aterm/Kconfig | 30 +++++++++++++
arch/mips/dts/nec,ar9344-aterm.dts | 35 ++++++++++++++
arch/mips/mach-ath79/Kconfig | 5 ++
board/nec/ar9344_aterm/Kconfig | 33 +++++++++++++
board/nec/ar9344_aterm/Makefile | 3 ++
board/nec/ar9344_aterm/ar9344_aterm.c | 59 ++++++++++++++++++++++++++
configs/nec_ar9344_aterm_defconfig | 61 +++++++++++++++++++++++++++
include/configs/nec_ar9344_aterm.h | 28 ++++++++++++
8 files changed, 222 insertions(+)
board/nec/ar9344_aterm/ar9344_aterm.c | 70 +++++++++++++++++++++++++++
configs/nec_ar9344_aterm_defconfig | 61 +++++++++++++++++++++++
configs/nec_ar9344_aterm_fe_defconfig | 62 ++++++++++++++++++++++++
include/configs/nec_ar9344_aterm.h | 28 +++++++++++
9 files changed, 298 insertions(+)
create mode 100644 arch/mips/dts/nec,ar9344-aterm.dts
create mode 100644 board/nec/ar9344_aterm/Kconfig
create mode 100644 board/nec/ar9344_aterm/Makefile
create mode 100644 board/nec/ar9344_aterm/ar9344_aterm.c
create mode 100644 configs/nec_ar9344_aterm_defconfig
create mode 100644 configs/nec_ar9344_aterm_fe_defconfig
create mode 100644 include/configs/nec_ar9344_aterm.h
--- a/arch/mips/dts/Makefile
@ -91,7 +93,7 @@ Subject: [PATCH] ath79: add support for NEC AR9344 Aterm series
endmenu
--- /dev/null
+++ b/board/nec/ar9344_aterm/Kconfig
@@ -0,0 +1,30 @@
@@ -0,0 +1,33 @@
+if BOARD_NEC_AR9344_ATERM
+
+config SYS_VENDOR
@ -121,6 +123,9 @@ Subject: [PATCH] ath79: add support for NEC AR9344 Aterm series
+config SYS_ICACHE_LINE_SIZE
+ default 32
+
+config BOARD_NEC_AR9344_ATERM_FE
+ bool "Aterm devices based on AR9344 with FE ports"
+
+endif
--- /dev/null
+++ b/board/nec/ar9344_aterm/Makefile
@ -130,7 +135,7 @@ Subject: [PATCH] ath79: add support for NEC AR9344 Aterm series
+obj-y = ar9344_aterm.o
--- /dev/null
+++ b/board/nec/ar9344_aterm/ar9344_aterm.c
@@ -0,0 +1,59 @@
@@ -0,0 +1,70 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2024 INAGAKI Hiroshi <musashino.open@gmail.com>
@ -156,16 +161,27 @@ Subject: [PATCH] ath79: add support for NEC AR9344 Aterm series
+ writel(0x2, regs + AR934X_GPIO_REG_FUNC);
+
+ /* Configure default GPIO OE/SET regs */
+#if defined(CONFIG_BOARD_NEC_AR9344_ATERM_FE)
+ writel(0x39b1f, regs + AR71XX_GPIO_REG_OE);
+ writel(0x040000, regs + AR71XX_GPIO_REG_SET);
+#else
+ writel(0x3db1f, regs + AR71XX_GPIO_REG_OE);
+ writel(0x142000, regs + AR71XX_GPIO_REG_SET);
+#endif
+
+ /* Configure pin multiplexing */
+ writel(0x00000000, regs + AR934X_GPIO_REG_OUT_FUNC0);
+ writel(0x0b0a0900, regs + AR934X_GPIO_REG_OUT_FUNC1);
+ writel(0x00180000, regs + AR934X_GPIO_REG_OUT_FUNC2);
+ writel(0x00000000, regs + AR934X_GPIO_REG_OUT_FUNC3);
+ writel(0x2f2e0000, regs + AR934X_GPIO_REG_OUT_FUNC4);
+
+#if defined(CONFIG_BOARD_NEC_AR9344_ATERM_FE)
+ writel(0x002b2a00, regs + AR934X_GPIO_REG_OUT_FUNC3);
+ writel(0x002c2d00, regs + AR934X_GPIO_REG_OUT_FUNC5);
+#else
+ writel(0x00000000, regs + AR934X_GPIO_REG_OUT_FUNC3);
+ writel(0x00000000, regs + AR934X_GPIO_REG_OUT_FUNC5);
+#endif
+}
+
+#ifdef CONFIG_DEBUG_UART_BOARD_INIT
@ -255,6 +271,71 @@ Subject: [PATCH] ath79: add support for NEC AR9344 Aterm series
+CONFIG_SYS_NS16550=y
+# CONFIG_GZIP is not set
--- /dev/null
+++ b/configs/nec_ar9344_aterm_fe_defconfig
@@ -0,0 +1,62 @@
+CONFIG_MIPS=y
+CONFIG_SYS_MALLOC_LEN=0x40000
+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xbd007fff
+CONFIG_ENV_SIZE=0x1000
+CONFIG_DEFAULT_DEVICE_TREE="nec,ar9344-aterm"
+CONFIG_SYS_LOAD_ADDR=0x83000000
+CONFIG_ARCH_ATH79=y
+CONFIG_BOARD_NEC_AR9344_ATERM=y
+CONFIG_BOARD_NEC_AR9344_ATERM_FE=y
+CONFIG_SYS_MIPS_TIMER_FREQ=280000000
+CONFIG_MIPS_RELOCATION_TABLE_SIZE=0x4000
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_TIMESTAMP=y
+CONFIG_BOOTDELAY=3
+# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
+CONFIG_USE_BOOTARGS=y
+CONFIG_BOOTARGS="console=ttyS0,115200"
+CONFIG_USE_BOOTCOMMAND=y
+CONFIG_BOOTCOMMAND="bootm 0x9f040000"
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_BOARD_EARLY_INIT_F=y
+CONFIG_SYS_MALLOC_BOOTPARAMS=y
+# CONFIG_CMDLINE_EDITING is not set
+# CONFIG_AUTO_COMPLETE is not set
+# CONFIG_SYS_LONGHELP is not set
+CONFIG_SYS_MAXARGS=32
+# CONFIG_SYS_XTRACE is not set
+# CONFIG_CMD_BDI is not set
+# CONFIG_CMD_CONSOLE is not set
+# CONFIG_BOOTM_PLAN9 is not set
+# CONFIG_BOOTM_RTEMS is not set
+# CONFIG_BOOTM_VXWORKS is not set
+# CONFIG_CMD_ELF is not set
+# CONFIG_CMD_FDT is not set
+# CONFIG_CMD_RUN is not set
+# CONFIG_CMD_XIMG is not set
+# CONFIG_CMD_EXPORTENV is not set
+# CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_EDITENV is not set
+# CONFIG_CMD_SAVEENV is not set
+# CONFIG_CMD_ENV_EXISTS is not set
+# CONFIG_CMD_CRC32 is not set
+# CONFIG_CMD_DM is not set
+# CONFIG_CMD_LOADS is not set
+# CONFIG_CMD_ECHO is not set
+# CONFIG_CMD_ITEST is not set
+# CONFIG_CMD_SOURCE is not set
+# CONFIG_CMD_SETEXPR is not set
+# CONFIG_CMD_SLEEP is not set
+# CONFIG_ISO_PARTITION is not set
+# CONFIG_OF_TAG_MIGRATE is not set
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NO_NET=y
+CONFIG_CLK=y
+# CONFIG_GPIO is not set
+# CONFIG_I2C is not set
+# CONFIG_INPUT is not set
+# CONFIG_POWER is not set
+CONFIG_DM_SERIAL=y
+CONFIG_SYS_NS16550=y
+# CONFIG_GZIP is not set
--- /dev/null
+++ b/include/configs/nec_ar9344_aterm.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0+ */

View File

@ -0,0 +1,68 @@
Subject: [PATCH] mtd: spinand: esmt: add support for F50L1G41LC
This adds support for ESMT F50L1G41LC, which appears to be an updated
version of the already supported F50L1G41LB.
Add esmt_8c SPI_NAND manufacturer to account for the newly used vendor
ID with support for the ESMT F50L1G41LC chip.
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -895,6 +895,7 @@ static const struct spinand_manufacturer
&toshiba_spinand_manufacturer,
&winbond_spinand_manufacturer,
&esmt_c8_spinand_manufacturer,
+ &esmt_8c_spinand_manufacturer,
&foresee_spinand_manufacturer,
&xtx_spinand_manufacturer,
};
--- a/drivers/mtd/nand/spi/esmt.c
+++ b/drivers/mtd/nand/spi/esmt.c
@@ -13,6 +13,7 @@
/* ESMT uses GigaDevice 0xc8 JECDEC ID on some SPI NANDs */
#define SPINAND_MFR_ESMT_C8 0xc8
+#define SPINAND_MFR_ESMT_8C 0x8c
static SPINAND_OP_VARIANTS(read_cache_variants,
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
@@ -104,6 +105,18 @@ static const struct mtd_ooblayout_ops f5
.rfree = f50l1g41lb_ooblayout_free,
};
+static const struct spinand_info esmt_8c_spinand_table[] = {
+ SPINAND_INFO("F50L1G41LC",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x2C),
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(1, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ 0,
+ SPINAND_ECCINFO(&f50l1g41lb_ooblayout, NULL)),
+};
+
static const struct spinand_info esmt_c8_spinand_table[] = {
SPINAND_INFO("F50L1G41LB",
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x01),
@@ -135,3 +148,11 @@ const struct spinand_manufacturer esmt_c
.nchips = ARRAY_SIZE(esmt_c8_spinand_table),
.ops = &esmt_spinand_manuf_ops,
};
+
+const struct spinand_manufacturer esmt_8c_spinand_manufacturer = {
+ .id = SPINAND_MFR_ESMT_8C,
+ .name = "ESMT",
+ .chips = esmt_8c_spinand_table,
+ .nchips = ARRAY_SIZE(esmt_8c_spinand_table),
+ .ops = &esmt_spinand_manuf_ops,
+};
--- a/include/linux/mtd/spinand.h
+++ b/include/linux/mtd/spinand.h
@@ -306,6 +306,7 @@ extern const struct spinand_manufacturer
extern const struct spinand_manufacturer toshiba_spinand_manufacturer;
extern const struct spinand_manufacturer winbond_spinand_manufacturer;
extern const struct spinand_manufacturer esmt_c8_spinand_manufacturer;
+extern const struct spinand_manufacturer esmt_8c_spinand_manufacturer;
extern const struct spinand_manufacturer foresee_spinand_manufacturer;
extern const struct spinand_manufacturer xtx_spinand_manufacturer;

View File

@ -22,6 +22,13 @@ define U-Boot/Default
HIDDEN:=1
endef
define U-Boot/mox
NAME:=CZ.NIC Turris Mox
BUILD_DEVICES:=cznic_turris-mox
BUILD_SUBTARGET:=cortexa53
UBOOT_CONFIG:=turris_mox
endef
define U-Boot/clearfog
NAME:=SolidRun ClearFog A1
BUILD_DEVICES:=solidrun_clearfog-base-a1 solidrun_clearfog-pro-a1
@ -69,6 +76,7 @@ define U-Boot/rb5009
endef
UBOOT_TARGETS:= \
mox \
clearfog \
helios4 \
omnia \

View File

@ -7,10 +7,10 @@
include $(TOPDIR)/rules.mk
PKG_VERSION:=2025.07
PKG_VERSION:=2025.10
PKG_RELEASE:=1
PKG_HASH:=0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7
PKG_HASH:=b4f032848e56cc8f213ad59f9132c084dbbb632bc29176d024e58220e0efdf4a
PKG_MAINTAINER:=Thomas Richard <thomas.richard@bootlin.com>
UBOOT_USE_INTREE_DTC:=1

View File

@ -1,27 +0,0 @@
From 1cdb64ad3aa9d6cd4a02adc09fcc1015f90e2fb9 Mon Sep 17 00:00:00 2001
From: Patrice Chotard <patrice.chotard@foss.st.com>
Date: Mon, 9 Jun 2025 14:53:13 +0200
Subject: [PATCH] configs: stm32mp13: increase SYS_MALLOC_F_LEN to 0x210000
Due SCMI update to protocol v2.0, we need to increase
SYS_MALLOC_F_LEN value to avoid following message:
alloc space exhausted ptr 200040 limit 200000
Set SYS_MALLOC_F_LEN to 0x210000 to fix this issue.
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
---
configs/stm32mp13_defconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/configs/stm32mp13_defconfig
+++ b/configs/stm32mp13_defconfig
@@ -1,7 +1,7 @@
CONFIG_ARM=y
CONFIG_ARCH_STM32MP=y
CONFIG_TFABOOT=y
-CONFIG_SYS_MALLOC_F_LEN=0x180000
+CONFIG_SYS_MALLOC_F_LEN=0x210000
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc0400000
CONFIG_ENV_OFFSET=0x900000
CONFIG_DEFAULT_DEVICE_TREE="st/stm32mp135f-dk"

View File

@ -94,6 +94,7 @@ konka,komi-a31)
;;
buffalo,wsr-6000ax8|\
mercusys,mr80x-v3|\
mercusys,mr85x|\
mercusys,mr90x-v1|\
routerich,ax3000|\
routerich,ax3000-v1|\

View File

@ -11,7 +11,8 @@ case "$board" in
aliyun,ap8220|\
compex,wpq873|\
edgecore,eap102|\
zyxel,nbg7815)
zyxel,nbg7815|\
zyxel,nwa210ax)
ubootenv_add_mtd "0:appsblenv" "0x0" "0x10000" "0x10000"
;;
dynalink,dl-wrx36|\

View File

@ -24,7 +24,7 @@ define Package/kselftests-bpf
SECTION:=devel
CATEGORY:=Development
DEPENDS:= \
+libelf +zlib +libpthread +librt +!LINUX_6_6:libpcap @!IN_SDK \
+libelf +zlib +libpthread +librt +libpcap @!IN_SDK \
@KERNEL_DEBUG_FS @KERNEL_DEBUG_INFO_BTF @KERNEL_BPF_EVENTS
TITLE:=Linux Kernel Selftests (BPF)
URL:=http://www.kernel.org

View File

@ -63,8 +63,8 @@ define Build/Compile
endef
define Package/ath11k-firmware-ipq5018/install
$(INSTALL_DIR) $(1)/lib/firmware/IPQ5018/hw1.0
$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ5018/hw1.0/* $(1)/lib/firmware/IPQ5018/
$(INSTALL_DIR) $(1)/lib/firmware/ath11k/IPQ5018/hw1.0
$(INSTALL_DATA) $(PKG_BUILD_DIR)/IPQ5018/hw1.0/* $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/
endef
define Package/ath11k-firmware-ipq6018/install

View File

@ -105,6 +105,7 @@ ALLWIFIBOARDS:= \
zte_mf287 \
zte_mf287plus \
zyxel_nbg7815 \
zyxel_nwa210ax \
anysafe_e1 \
cmiot_ax18 \
jdcloud_re-ss-01 \
@ -296,6 +297,7 @@ $(eval $(call generate-ipq-wifi-package,zte_mf286c,ZTE MF286C))
$(eval $(call generate-ipq-wifi-package,zte_mf287,ZTE MF287))
$(eval $(call generate-ipq-wifi-package,zte_mf287plus,ZTE MF287Plus))
$(eval $(call generate-ipq-wifi-package,zyxel_nbg7815,Zyxel NBG7815))
$(eval $(call generate-ipq-wifi-package,zyxel_nwa210ax,Zyxel NWA210AX))
$(eval $(call generate-ipq-wifi-package,anysafe_e1,AnySafe E1))
$(eval $(call generate-ipq-wifi-package,cmiot_ax18,CMIOT AX18))
$(eval $(call generate-ipq-wifi-package,jdcloud_re-ss-01,JDCloud RE-SS-01))

View File

@ -13,7 +13,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=linux
PKG_PATCHVER:=6.6
PKG_PATCHVER:=6.12
# Manually include kernel version and hash from kernel details file
GENERIC_PLATFORM_DIR := $(CURDIR)/../../../target/linux/generic
@ -67,6 +67,10 @@ define Build/Patch
$(Kernel/Patch/Default)
endef
define Quilt/Refresh/Package
$(Quilt/Refresh/Kernel)
endef
BPF_DOC = $(PKG_BUILD_DIR)/scripts/bpf_doc.py
define Build/Configure/64

View File

@ -1,6 +1,6 @@
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -2820,6 +2820,9 @@ choice
@@ -2809,6 +2809,9 @@ choice
config HZ_256
bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
@ -10,7 +10,7 @@
config HZ_1000
bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
@@ -2871,6 +2874,7 @@ config HZ
@@ -2860,6 +2863,7 @@ config HZ
default 128 if HZ_128
default 250 if HZ_250
default 256 if HZ_256

View File

@ -72,7 +72,7 @@ extern u64 uevent_next_seqnum(void);
.name = (_name), \
}
static struct bh_map button_map[] = {
static const struct bh_map button_map[] = {
BH_MAP(BTN_0, "BTN_0"),
BH_MAP(BTN_1, "BTN_1"),
BH_MAP(BTN_2, "BTN_2"),

View File

@ -72,7 +72,7 @@ extern u64 uevent_next_seqnum(void);
.name = (_name), \
}
static struct bh_map button_map[] = {
static const struct bh_map button_map[] = {
BH_MAP(BTN_0, "BTN_0"),
BH_MAP(BTN_1, "BTN_1"),
BH_MAP(BTN_2, "BTN_2"),
@ -463,13 +463,12 @@ static int gpio_keys_button_probe(struct platform_device *pdev,
return -EINVAL;
}
buttons = devm_kzalloc(dev, pdata->nbuttons * sizeof(struct gpio_keys_button),
buttons = devm_kmemdup_array(dev, pdata->buttons, pdata->nbuttons, sizeof(struct gpio_keys_button),
GFP_KERNEL);
if (!buttons) {
dev_err(dev, "no memory for button data\n");
return -ENOMEM;
}
memcpy(buttons, pdata->buttons, pdata->nbuttons * sizeof(struct gpio_keys_button));
bdev = devm_kzalloc(dev, sizeof(struct gpio_keys_button_dev) +
pdata->nbuttons * sizeof(struct gpio_keys_button_data),

View File

@ -1286,8 +1286,7 @@ IFX_MEI_RunAdslModem (DSL_DEV_Device_t *pDev)
// DSL_DEV_WinHost_Message_t m;
if (mei_arc_swap_buff == NULL) {
mei_arc_swap_buff =
(u32 *) kmalloc (MAXSWAPSIZE * 4, GFP_KERNEL);
mei_arc_swap_buff = kmalloc (MAXSWAPSIZE * 4, GFP_KERNEL);
if (mei_arc_swap_buff == NULL) {
IFX_MEI_EMSG (">>> malloc fail for codeswap buff!!! <<<\n");
return DSL_DEV_MEI_ERR_FAILURE;

View File

@ -418,7 +418,7 @@ typedef struct _arc_img_hdr {
u32 size; // Size of binary image in bytes
u32 checksum; // Checksum for image
u32 count; // Count of swp pages in image
ARC_SWP_PAGE_HDR page[1]; // Should be "count" pages - '1' to make compiler happy
ARC_SWP_PAGE_HDR page[]; // Should be "count" pages - '1' to make compiler happy
} ARC_IMG_HDR;
typedef struct smmu_mem_info {

View File

@ -224,8 +224,8 @@ static inline int pp32_download_code(u32 *code_src, unsigned int code_dword_len,
{
volatile u32 *dest;
if ( code_src == 0 || ((unsigned long)code_src & 0x03) != 0
|| data_src == 0 || ((unsigned long)data_src & 0x03) != 0 )
if (!code_src || ((unsigned long)code_src & 0x03) != 0
|| !data_src || ((unsigned long)data_src & 0x03) != 0 )
return -1;
if ( code_dword_len <= CDM_CODE_MEMORYn_DWLEN(0) )

View File

@ -163,8 +163,8 @@ static inline int pp32_download_code(u32 *code_src, unsigned int code_dword_len,
{
volatile u32 *dest;
if ( code_src == 0 || ((unsigned long)code_src & 0x03) != 0
|| data_src == 0 || ((unsigned long)data_src & 0x03) != 0 )
if (!code_src || ((unsigned long)code_src & 0x03) != 0
|| !data_src || ((unsigned long)data_src & 0x03) != 0 )
return -1;
if ( code_dword_len <= CDM_CODE_MEMORYn_DWLEN(0) )

View File

@ -110,8 +110,8 @@ static inline int danube_pp32_download_code(u32 *code_src, unsigned int code_dwo
{
volatile u32 *dest;
if ( code_src == 0 || ((unsigned long)code_src & 0x03) != 0
|| data_src == 0 || ((unsigned long)data_src & 0x03) != 0 )
if (!code_src || ((unsigned long)code_src & 0x03) != 0
|| !data_src || ((unsigned long)data_src & 0x03) != 0 )
return -1;
if ( code_dword_len <= CDM_CODE_MEMORYn_DWLEN(0) )

View File

@ -34,7 +34,7 @@
#define ATM_FW_VER_MINOR 16
static unsigned int firmware_binary_code[] = {
static const unsigned int firmware_binary_code[] = {
0x800004b8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000ffe0, 0x00000000, 0x00000000, 0x00000000,
0xc1000002, 0xd90c00f8, 0xc2000002, 0xda0800f9, 0x80004cc8, 0xc2000000, 0xda0800f9, 0x80004330,
@ -450,7 +450,7 @@ static unsigned int firmware_binary_code[] = {
0x9d000000, 0xcd4000f8, 0x00000000, 0x00000000, 0x9d000000, 0x4158a000, 0xcd4000f8, 0x00000000,
};
static unsigned int firmware_binary_data[] = {
static const unsigned int firmware_binary_data[] = {
};

View File

@ -32,7 +32,7 @@
#define ATM_FW_VER_MINOR 16
static unsigned int ar9_fw_bin[] = {
static const unsigned int ar9_fw_bin[] = {
0x800004b8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000ffe0, 0x00000000, 0x00000000, 0x00000000,
0xc1000002, 0xd90c00f8, 0xc2000002, 0xda0800f9, 0x80004980, 0xc2000000, 0xda0800f9, 0x80003fe8,
@ -432,7 +432,7 @@ static unsigned int ar9_fw_bin[] = {
0xcd4000f8, 0x00000000,
};
static unsigned int ar9_fw_data[] = {
static const unsigned int ar9_fw_data[] = {
};

View File

@ -32,7 +32,7 @@
#define ATM_FW_VER_MINOR 15
static unsigned int firmware_binary_code[] = {
static const unsigned int firmware_binary_code[] = {
0x800004B8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000FFE0, 0x00000000, 0x00000000, 0x00000000,
0xC1000002, 0xD90C00F8, 0xC2000002, 0xDA0800F9, 0xC0001B50, 0x8C100000, 0x00000000, 0x00000000,
@ -604,7 +604,7 @@ static unsigned int firmware_binary_code[] = {
0xCDC000F8, 0xC1C00000, 0xC0004734, 0x9CC00000, 0xCDC000F8, 0xC0004732, 0xCD8000F8,
};
static unsigned int firmware_binary_data[] = {
static const unsigned int firmware_binary_data[] = {
};

View File

@ -35,7 +35,7 @@
// add multiple queue per PVC feature
static unsigned int danube_fw_bin[] = {
static const unsigned int danube_fw_bin[] = {
0x800004A0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000FFC8, 0x00000000, 0x00000000, 0x00000000,
0xC1000002, 0xD90C0000, 0xC2000002, 0xDA080001, 0x80004968, 0xC2000000, 0xDA080001, 0x80003FD0,
@ -435,7 +435,7 @@ static unsigned int danube_fw_bin[] = {
0xCD400000, 0x00000000,
};
static unsigned int danube_fw_data[] = {
static const unsigned int danube_fw_data[] = {
};

View File

@ -33,7 +33,7 @@
#define ATM_FW_VER_MINOR 15
static unsigned int firmware_binary_code[] = {
static const unsigned int firmware_binary_code[] = {
0x800004A0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000FFC8, 0x00000000, 0x00000000, 0x00000000,
0xC1000002, 0xD90C0000, 0xC2000002, 0xDA080001, 0xC0001B50, 0x8C100000, 0x00000000, 0x00000000,
@ -605,7 +605,7 @@ static unsigned int firmware_binary_code[] = {
0xCDC00000, 0xC1C00000, 0xC0004734, 0x9CC00000, 0xCDC00000, 0xC0004732, 0xCD800000,
};
static unsigned int firmware_binary_data[] = {
static const unsigned int firmware_binary_data[] = {
};

View File

@ -32,7 +32,7 @@
#define ATM_FW_VER_MINOR 24
static u32 vr9_fw_bin[] = {
static const u32 vr9_fw_bin[] = {
0x800004B8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000FFE0, 0x00000000, 0x00000000, 0x00000000,
0xC1000002, 0xD90C00F8, 0xC2000002, 0xDA0800F9, 0x80004390, 0xC2000000, 0xDA0800F9, 0x80003A10,
@ -419,7 +419,7 @@ static u32 vr9_fw_bin[] = {
0xCE0000F8, 0xC000697E, 0xCE4000F8, 0x9D000000, 0x4158A000, 0xCD4000F8, 0x00000000,
};
static u32 vr9_fw_data[] = {
static const u32 vr9_fw_data[] = {
};

View File

@ -96,8 +96,8 @@ static inline int vr9_pp32_download_code(int pp32, u32 *code_src, unsigned int c
unsigned int clr, set;
volatile u32 *dest;
if ( code_src == 0 || ((unsigned long)code_src & 0x03) != 0
|| data_src == 0 || ((unsigned long)data_src & 0x03) != 0 )
if (!code_src || ((unsigned long)code_src & 0x03) != 0
|| !data_src || ((unsigned long)data_src & 0x03) != 0 )
return -1;
clr = pp32 ? 0xF0 : 0x0F;

View File

@ -1503,17 +1503,10 @@ static inline void clear_priv_data(void)
}
}
if ( g_atm_priv_data.tx_skb_base != NULL )
kfree(g_atm_priv_data.tx_skb_base);
if ( g_atm_priv_data.tx_desc_base != NULL )
kfree(g_atm_priv_data.tx_desc_base);
if ( g_atm_priv_data.oam_buf_base != NULL )
kfree(g_atm_priv_data.oam_buf_base);
if ( g_atm_priv_data.oam_desc_base != NULL )
kfree(g_atm_priv_data.oam_desc_base);
kfree(g_atm_priv_data.tx_skb_base);
kfree(g_atm_priv_data.tx_desc_base);
kfree(g_atm_priv_data.oam_buf_base);
kfree(g_atm_priv_data.oam_desc_base);
if ( g_atm_priv_data.aal_desc_base != NULL ) {
for ( i = 0; i < dma_rx_descriptor_length; i++ ) {
@ -1522,8 +1515,9 @@ static inline void clear_priv_data(void)
dev_kfree_skb_any(skb);
}
}
kfree(g_atm_priv_data.aal_desc_base);
}
kfree(g_atm_priv_data.aal_desc_base);
}
static inline void init_rx_tables(void)

View File

@ -276,7 +276,7 @@ void ifx_deu_aes (void *ctx_arg, u8 *out_arg, const u8 *in_arg,
aes->IV2R = DEU_ENDIAN_SWAP(*((u32 *) iv_arg + 1));
aes->IV1R = DEU_ENDIAN_SWAP(*((u32 *) iv_arg + 2));
aes->IV0R = DEU_ENDIAN_SWAP(*((u32 *) iv_arg + 3));
};
}
i = 0;
@ -1529,7 +1529,7 @@ static int aes_cbcmac_init_tfm(struct crypto_tfm *tfm)
{
struct aes_ctx *mctx = crypto_tfm_ctx(tfm);
mctx->temp = kzalloc(AES_BLOCK_SIZE * AES_CBCMAC_DBN_TEMP_SIZE, GFP_KERNEL);
if (IS_ERR(mctx->temp)) return PTR_ERR(mctx->temp);
if (!mctx->temp) return -ENOMEM;
return 0;
}

View File

@ -234,7 +234,7 @@ static int lq_deu_aes_core (void *ctx_arg, u8 *out_arg, const u8 *in_arg,
aes->IV2R = DEU_ENDIAN_SWAP(*((u32 *) iv_arg + 1));
aes->IV1R = DEU_ENDIAN_SWAP(*((u32 *) iv_arg + 2));
aes->IV0R = DEU_ENDIAN_SWAP(*((u32 *) iv_arg + 3));
};
}
/* Prepare Rx buf length used in dma psuedo interrupt */
@ -251,7 +251,7 @@ static int lq_deu_aes_core (void *ctx_arg, u8 *out_arg, const u8 *in_arg,
while (aes->controlr.BUS) {
// wait for AES to be ready
};
}
deu_priv->outcopy = (u32 *) DEU_DWORD_REORDERING(out_arg, aes_buff_out, BUFFER_OUT, nbytes);
deu_priv->event_src = AES_ASYNC_EVENT;
@ -576,10 +576,7 @@ static int lq_aes_queue_mgr(struct aes_ctx *ctx, struct ablkcipher_request *areq
u32 remain, inc, nbytes = areq->nbytes;
u32 chunk_bytes = src->length;
aes_con = (struct aes_container *)kmalloc(sizeof(struct aes_container),
GFP_KERNEL);
aes_con = kmalloc(sizeof(struct aes_container), GFP_KERNEL);
if (!(aes_con)) {
printk("Cannot allocate memory for AES container, fn %s, ln %d\n",
__func__, __LINE__);
@ -959,7 +956,7 @@ struct lq_aes_alg {
};
/* AES supported algo array */
static struct lq_aes_alg aes_drivers_alg[] = {
static const struct lq_aes_alg aes_drivers_alg[] = {
{
.alg = {
.cra_name = "aes",

View File

@ -254,7 +254,7 @@ static int lq_deu_des_core (void *ctx_arg, u8 *out_arg, const u8 *in_arg,
if (mode > 0) {
des->IVHR = DEU_ENDIAN_SWAP(*(u32 *) iv_arg);
des->IVLR = DEU_ENDIAN_SWAP(*((u32 *) iv_arg + 1));
};
}
/* memory alignment issue */
dword_mem_aligned_in = (u32 *) DEU_DWORD_REORDERING(in_arg, des_buff_in, BUFFER_IN, nbytes);
@ -268,7 +268,7 @@ static int lq_deu_des_core (void *ctx_arg, u8 *out_arg, const u8 *in_arg,
dma->controlr.EN = 1;
while (des->controlr.BUS) {
};
}
wlen = dma_device_write (dma_device, (u8 *) dword_mem_aligned_in, nbytes, NULL);
if (wlen != nbytes) {
@ -287,7 +287,7 @@ static int lq_deu_des_core (void *ctx_arg, u8 *out_arg, const u8 *in_arg,
if (mode > 0) {
*(u32 *) iv_arg = DEU_ENDIAN_SWAP(des->IVHR);
*((u32 *) iv_arg + 1) = DEU_ENDIAN_SWAP(des->IVLR);
};
}
CRTCL_SECT_END;
@ -578,9 +578,7 @@ static int lq_queue_mgr(struct des_ctx *ctx, struct ablkcipher_request *areq,
u32 remain, inc, nbytes = areq->nbytes;
u32 chunk_bytes = src->length;
des_con = (struct des_container *)kmalloc(sizeof(struct des_container),
GFP_KERNEL);
des_con = kmalloc(sizeof(struct des_container), GFP_KERNEL);
if (!(des_con)) {
printk("Cannot allocate memory for AES container, fn %s, ln %d\n",
__func__, __LINE__);
@ -756,7 +754,7 @@ struct lq_des_alg {
};
/* DES Supported algo array */
static struct lq_des_alg des_drivers_alg [] = {
static const struct lq_des_alg des_drivers_alg [] = {
{
.alg = {
.cra_name = "des",

View File

@ -229,7 +229,7 @@ void ifx_deu_des (void *ctx_arg, u8 *out_arg, const u8 *in_arg,
if (mode > 0) {
des->IVHR = DEU_ENDIAN_SWAP(*(u32 *) iv_arg);
des->IVLR = DEU_ENDIAN_SWAP(*((u32 *) iv_arg + 1));
};
}
nblocks = nbytes / 4;
@ -260,7 +260,7 @@ void ifx_deu_des (void *ctx_arg, u8 *out_arg, const u8 *in_arg,
if (mode > 0) {
*(u32 *) iv_arg = DEU_ENDIAN_SWAP(des->IVHR);
*((u32 *) iv_arg + 1) = DEU_ENDIAN_SWAP(des->IVLR);
};
}
CRTCL_SECT_END;
}

View File

@ -87,8 +87,8 @@
volatile struct aes_t *aes = (volatile struct aes_t *) AES_START; \
for (i = 0; i < 10; i++) \
udelay(DELAY_PERIOD); \
while (dma->controlr.BSY) {}; \
while (aes->controlr.BUS) {}; \
while (dma->controlr.BSY) {} \
while (aes->controlr.BUS) {} \
} while (0)
#define WAIT_DES_DMA_READY() \
@ -98,8 +98,8 @@
volatile struct des_t *des = (struct des_t *) DES_3DES_START; \
for (i = 0; i < 10; i++) \
udelay(DELAY_PERIOD); \
while (dma->controlr.BSY) {}; \
while (des->controlr.BUS) {}; \
while (dma->controlr.BSY) {} \
while (des->controlr.BUS) {} \
} while (0)
#define AES_DMA_MISC_CONFIG() \

View File

@ -81,8 +81,8 @@
volatile struct aes_t *aes = (volatile struct aes_t *) AES_START; \
for (i = 0; i < 10; i++) \
udelay(DELAY_PERIOD); \
while (dma->controlr.BSY) {}; \
while (aes->controlr.BUS) {}; \
while (dma->controlr.BSY) {} \
while (aes->controlr.BUS) {} \
} while (0)
#define WAIT_DES_DMA_READY() \
@ -92,8 +92,8 @@
volatile struct des_t *des = (struct des_t *) DES_3DES_START; \
for (i = 0; i < 10; i++) \
udelay(DELAY_PERIOD); \
while (dma->controlr.BSY) {}; \
while (des->controlr.BUS) {}; \
while (dma->controlr.BSY) {} \
while (des->controlr.BUS) {} \
} while (0)
#define SHA_HASH_INIT \

View File

@ -102,8 +102,8 @@
volatile struct aes_t *aes = (volatile struct aes_t *) AES_START; \
for (i = 0; i < 10; i++) \
udelay(DELAY_PERIOD); \
while (dma->controlr.BSY) {}; \
while (aes->controlr.BUS) {}; \
while (dma->controlr.BSY) {} \
while (aes->controlr.BUS) {} \
} while (0)
#define WAIT_DES_DMA_READY() \
@ -113,8 +113,8 @@
volatile struct des_t *des = (struct des_t *) DES_3DES_START; \
for (i = 0; i < 10; i++) \
udelay(DELAY_PERIOD); \
while (dma->controlr.BSY) {}; \
while (des->controlr.BUS) {}; \
while (dma->controlr.BSY) {} \
while (des->controlr.BUS) {} \
} while (0)
#define AES_DMA_MISC_CONFIG() \

View File

@ -107,7 +107,7 @@ static void md5_transform(struct md5_ctx *mctx, u32 *hash, u32 const *in)
for (i = 0; i < 16; i++) {
hashs->MR = in[i];
// printk("in[%d]: %08x\n", i, in[i]);
};
}
//wait for processing
while (hashs->controlr.BSY) {

View File

@ -308,7 +308,7 @@ static int md5_hmac_final_impl(struct shash_desc *desc, u8 *out, bool hash_final
{
for (i = 0; i < 16; i++) {
hashs->MR = in[i];
};
}
hashs->controlr.GO = 1;
asm("sync");
@ -355,9 +355,9 @@ static int md5_hmac_init_tfm(struct crypto_tfm *tfm)
{
struct md5_hmac_ctx *mctx = crypto_tfm_ctx(tfm);
mctx->temp = kzalloc(4 * MD5_HMAC_DBN_TEMP_SIZE, GFP_KERNEL);
if (IS_ERR(mctx->temp)) return PTR_ERR(mctx->temp);
if (!mctx->temp) return -ENOMEM;
mctx->desc = kzalloc(sizeof(struct shash_desc), GFP_KERNEL);
if (IS_ERR(mctx->desc)) return PTR_ERR(mctx->desc);
if (!mctx->desc) return -ENOMEM;
return 0;
}

View File

@ -119,7 +119,7 @@ static void sha1_transform1 (struct sha1_ctx *sctx, u32 *state, const u32 *in)
for (i = 0; i < 16; i++) {
hashs->MR = in[i];
};
}
//wait for processing
while (hashs->controlr.BSY) {

View File

@ -325,7 +325,7 @@ static int sha1_hmac_final_impl(struct shash_desc *desc, u8 *out, bool hash_fina
{
for (i = 0; i < 16; i++) {
hashs->MR = in[i];
};
}
hashs->controlr.GO = 1;
asm("sync");
@ -376,9 +376,9 @@ static int sha1_hmac_init_tfm(struct crypto_tfm *tfm)
{
struct sha1_hmac_ctx *sctx = crypto_tfm_ctx(tfm);
sctx->temp = kzalloc(4 * SHA1_HMAC_DBN_TEMP_SIZE, GFP_KERNEL);
if (IS_ERR(sctx->temp)) return PTR_ERR(sctx->temp);
if (!sctx->temp) return -ENOMEM;
sctx->desc = kzalloc(sizeof(struct shash_desc), GFP_KERNEL);
if (IS_ERR(sctx->desc)) return PTR_ERR(sctx->desc);
if (!sctx->desc) return -ENOMEM;
return 0;
}

View File

@ -38,7 +38,7 @@ static int alg_speed_test(const char *alg, const char *driver,
struct cipher_speed_template *t,
unsigned int tcount, u8 *keysize);
static struct cipher_speed_template des3_speed_template[] = {
static const struct cipher_speed_template des3_speed_template[] = {
{
.key = "\x01\x23\x45\x67\x89\xab\xcd\xef"
"\x55\x55\x55\x55\x55\x55\x55\x55"
@ -50,18 +50,18 @@ static struct cipher_speed_template des3_speed_template[] = {
/*
* Cipher speed tests
*/
static u8 speed_template_8[] = {8, 0};
static u8 speed_template_24[] = {24, 0};
static u8 speed_template_8_32[] = {8, 32, 0};
static u8 speed_template_16_32[] = {16, 32, 0};
static u8 speed_template_16_24_32[] = {16, 24, 32, 0};
static u8 speed_template_32_40_48[] = {32, 40, 48, 0};
static u8 speed_template_32_48_64[] = {32, 48, 64, 0};
static const u8 speed_template_8[] = {8, 0};
static const u8 speed_template_24[] = {24, 0};
static const u8 speed_template_8_32[] = {8, 32, 0};
static const u8 speed_template_16_32[] = {16, 32, 0};
static const u8 speed_template_16_24_32[] = {16, 24, 32, 0};
static const u8 speed_template_32_40_48[] = {32, 40, 48, 0};
static const u8 speed_template_32_48_64[] = {32, 48, 64, 0};
/*
* Digest speed tests
*/
static struct hash_speed generic_hash_speed_template[] = {
static const struct hash_speed generic_hash_speed_template[] = {
{ .blen = 16, .plen = 16, },
{ .blen = 64, .plen = 16, },
{ .blen = 64, .plen = 64, },

View File

@ -1360,14 +1360,9 @@ static INLINE void clear_priv_data(void)
}
}
if ( g_ptm_priv_data.rx_desc_base != NULL )
kfree(g_ptm_priv_data.rx_desc_base);
if ( g_ptm_priv_data.tx_desc_base != NULL )
kfree(g_ptm_priv_data.tx_desc_base);
if ( g_ptm_priv_data.tx_skb_base != NULL )
kfree(g_ptm_priv_data.tx_skb_base);
kfree(g_ptm_priv_data.rx_desc_base);
kfree(g_ptm_priv_data.tx_desc_base);
kfree(g_ptm_priv_data.tx_skb_base);
}
static INLINE void init_tables(void)

View File

@ -223,8 +223,8 @@ static inline int pp32_download_code(u32 *code_src, unsigned int code_dword_len,
{
volatile u32 *dest;
if ( code_src == 0 || ((unsigned long)code_src & 0x03) != 0
|| data_src == 0 || ((unsigned long)data_src & 0x03) != 0 )
if (!code_src || ((unsigned long)code_src & 0x03) != 0
|| !data_src || ((unsigned long)data_src & 0x03) != 0 )
return -1;
if ( code_dword_len <= CDM_CODE_MEMORYn_DWLEN(0) )

View File

@ -246,8 +246,8 @@ static inline int pp32_download_code(u32 *code_src, unsigned int code_dword_len,
{
volatile u32 *dest;
if ( code_src == 0 || ((unsigned long)code_src & 0x03) != 0
|| data_src == 0 || ((unsigned long)data_src & 0x03) != 0 )
if (!code_src || ((unsigned long)code_src & 0x03) != 0
|| !data_src || ((unsigned long)data_src & 0x03) != 0 )
return -1;
if ( code_dword_len <= CDM_CODE_MEMORYn_DWLEN(0) )

View File

@ -218,8 +218,8 @@ static inline int pp32_download_code(u32 *code_src, unsigned int code_dword_len,
{
volatile u32 *dest;
if ( code_src == 0 || ((unsigned long)code_src & 0x03) != 0
|| data_src == 0 || ((unsigned long)data_src & 0x03) != 0 )
if (!code_src || ((unsigned long)code_src & 0x03) != 0
|| !data_src || ((unsigned long)data_src & 0x03) != 0 )
return -1;
if ( code_dword_len <= CDM_CODE_MEMORYn_DWLEN(0) )

View File

@ -32,7 +32,7 @@
#define PTM_FW_VER_MINOR 17
static unsigned int firmware_binary_code[] = {
static const unsigned int firmware_binary_code[] = {
0x800004b8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000ffe0, 0x00000000, 0x00000000, 0x00000000,
0xc1000002, 0xd90c00f8, 0xc2000002, 0xda0800f9, 0x800055e0, 0xc2000000, 0xda0800f9, 0x80005580,
@ -486,7 +486,7 @@ static unsigned int firmware_binary_code[] = {
0xcd4000f8, 0x00000000, 0x00000000,
};
static unsigned int firmware_binary_data[] = {
static const unsigned int firmware_binary_data[] = {
};

View File

@ -30,7 +30,7 @@
#define PTM_FW_VER_MINOR 17
static unsigned int firmware_binary_code[] = {
static const unsigned int firmware_binary_code[] = {
0x800004b8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000ffe0, 0x00000000, 0x00000000, 0x00000000,
0xc1000002, 0xd90c00f8, 0xc2000002, 0xda0800f9, 0x80005270, 0xc2000000, 0xda0800f9, 0x80005210,
@ -466,7 +466,7 @@ static unsigned int firmware_binary_code[] = {
0x4194a000, 0x5d940040, 0x88000012, 0xc59400f8, 0x9d000000, 0xcd4000f8, 0x00000000, 0x00000000,
};
static unsigned int firmware_binary_data[] = {
static const unsigned int firmware_binary_data[] = {
};

View File

@ -31,7 +31,7 @@
#define PTM_FW_VER_MINOR 17
static unsigned int firmware_binary_code[] = {
static const unsigned int firmware_binary_code[] = {
0x800004a0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000ffc8, 0x00000000, 0x00000000, 0x00000000,
0xc1000002, 0xd90c0000, 0xc2000002, 0xda080001, 0x80005618, 0xc2000000, 0xda080001, 0x800055b8,
@ -482,7 +482,7 @@ static unsigned int firmware_binary_code[] = {
0x4194a000, 0x5d940040, 0x8800fffa, 0xc5940000, 0x9d000000, 0xcd400000, 0x00000000, 0x00000000,
};
static unsigned int firmware_binary_data[] = {
static const unsigned int firmware_binary_data[] = {
};

View File

@ -28,7 +28,7 @@
** 01/08/2014 Lantiq PPE FW Team VR9 E1 PPE Firmware Binary
*******************************************************************************/
static unsigned int firmware_binary_code[] = {
static const unsigned int firmware_binary_code[] = {
0x80000980, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000ffe0, 0x00000000, 0x00000000, 0x00000000,
0x94000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
@ -471,7 +471,7 @@ static unsigned int firmware_binary_code[] = {
0x84009b42, 0x6f9d0010, 0x739da000, 0x6f9e0010, 0x735da000, 0x6f9f0010, 0x735da000, 0xc1c0001e,
0x775da000, 0xc000e440, 0xcf4000f8, 0x80009ae8, 0x00000000, 0x00000000, 0x00000000,};
static unsigned int firmware_binary_data[] = {
static const unsigned int firmware_binary_data[] = {
};

View File

@ -207,8 +207,8 @@ static inline int pp32_download_code(int pp32, u32 *code_src, unsigned int code_
unsigned int clr, set;
volatile u32 *dest;
if ( code_src == 0 || ((unsigned long)code_src & 0x03) != 0
|| data_src == 0 || ((unsigned long)data_src & 0x03) != 0 )
if (!code_src || ((unsigned long)code_src & 0x03) != 0
|| !data_src || ((unsigned long)data_src & 0x03) != 0 )
return -1;
clr = pp32 ? 0xF0 : 0x0F;

View File

@ -418,21 +418,6 @@ endef
$(eval $(call KernelPackage,md-raid456))
define KernelPackage/md-multipath
$(call KernelPackage/md/Depends,@LINUX_6_6)
TITLE:=MD Multipath Module
KCONFIG:=CONFIG_MD_MULTIPATH
FILES:=$(LINUX_DIR)/drivers/md/multipath.ko
AUTOLOAD:=$(call AutoLoad,29,multipath)
endef
define KernelPackage/md-multipath/description
Multipath driver module (multipath.ko)
endef
$(eval $(call KernelPackage,md-multipath))
define KernelPackage/libsas
SUBMENU:=$(BLOCK_MENU)
DEPENDS:=@TARGET_x86

View File

@ -97,7 +97,7 @@ define KernelPackage/btmtk
SUBMENU:=$(BLUETOOTH_MENU)
TITLE:=MTK Bluetooth support
HIDDEN:=1
DEPENDS:=+kmod-bluetooth +!LINUX_6_6&&USB_SUPPORT:kmod-usb-core
DEPENDS:=+kmod-bluetooth +USB_SUPPORT:kmod-usb-core
KCONFIG:=CONFIG_BT_MTK
FILES:=$(LINUX_DIR)/drivers/bluetooth/btmtk.ko
endef

View File

@ -31,7 +31,7 @@ define KernelPackage/fs-afs
SUBMENU:=$(FS_MENU)
TITLE:=Andrew FileSystem client
DEFAULT:=n
DEPENDS:=+kmod-rxrpc +kmod-dnsresolver +LINUX_6_6:kmod-fs-fscache +!LINUX_6_6:kmod-fs-netfs
DEPENDS:=+kmod-rxrpc +kmod-dnsresolver +kmod-fs-netfs
KCONFIG:=\
CONFIG_AFS_FS=m \
CONFIG_AFS_DEBUG=n \
@ -86,7 +86,7 @@ $(eval $(call KernelPackage,fs-btrfs))
define KernelPackage/fs-cachefiles
SUBMENU:=$(FS_MENU)
TITLE:=Filesystem caching on files
DEPENDS:=LINUX_6_6:kmod-fs-fscache !LINUX_6_6:kmod-fs-netfs
DEPENDS:=kmod-fs-netfs
KCONFIG:=\
CONFIG_CACHEFILES \
CONFIG_CACHEFILES_DEBUG=n \
@ -275,21 +275,6 @@ endef
$(eval $(call KernelPackage,fs-f2fs))
define KernelPackage/fs-fscache
SUBMENU:=$(FS_MENU)
TITLE:=General filesystem local cache manager
DEPENDS:=@LINUX_6_6 +kmod-fs-netfs
KCONFIG:=\
CONFIG_FSCACHE \
CONFIG_FSCACHE_STATS=y \
CONFIG_FSCACHE_DEBUG=n
FILES:= $(LINUX_DIR)/fs/fscache/fscache.ko
AUTOLOAD:=$(call AutoLoad,29,fscache)
endef
$(eval $(call KernelPackage,fs-fscache))
define KernelPackage/fs-hfs
SUBMENU:=$(FS_MENU)
TITLE:=HFS filesystem support
@ -431,8 +416,8 @@ define KernelPackage/fs-netfs
TITLE:=Network Filesystems support
KCONFIG:= \
CONFIG_NETFS_SUPPORT \
CONFIG_FSCACHE=y@ge6.12 \
CONFIG_FSCACHE_STATS=y@ge6.12
CONFIG_FSCACHE=y \
CONFIG_FSCACHE_STATS=y
FILES:=$(LINUX_DIR)/fs/netfs/netfs.ko
AUTOLOAD:=$(call AutoLoad,28,netfs)
endef
@ -589,24 +574,6 @@ endef
$(eval $(call KernelPackage,fs-nfsd))
define KernelPackage/fs-ntfs
SUBMENU:=$(FS_MENU)
TITLE:=NTFS filesystem read-only (old driver) support
DEPENDS:=@LINUX_6_6
KCONFIG:=CONFIG_NTFS_FS
FILES:=$(LINUX_DIR)/fs/ntfs/ntfs.ko
AUTOLOAD:=$(call AutoLoad,30,ntfs)
$(call AddDepends/nls)
endef
define KernelPackage/fs-ntfs/description
Kernel module for limited NTFS filesystem support. Support for writing
is extremely limited and disabled as a result.
endef
$(eval $(call KernelPackage,fs-ntfs))
define KernelPackage/fs-ntfs3
SUBMENU:=$(FS_MENU)
TITLE:=NTFS filesystem read & write (new driver) support

View File

@ -141,7 +141,7 @@ $(eval $(call KernelPackage,gpio-pcf857x))
define KernelPackage/gpio-pwm
SUBMENU:=$(GPIO_MENU)
DEPENDS:=@GPIO_SUPPORT @PWM_SUPPORT @!LINUX_6_6
DEPENDS:=@GPIO_SUPPORT @PWM_SUPPORT
TITLE:=PWM GPIO support
KCONFIG:=CONFIG_PWM_GPIO
FILES:=$(LINUX_DIR)/drivers/pwm/pwm-gpio.ko

View File

@ -9,7 +9,7 @@ HWMON_MENU:=Hardware Monitoring Support
define KernelPackage/hwmon-core
SUBMENU:=$(HWMON_MENU)
DEPENDS:=+!LINUX_6_6:kmod-i2c-core
DEPENDS:=+kmod-i2c-core
TITLE:=Hardware monitoring support
KCONFIG:= \
CONFIG_HWMON \
@ -362,7 +362,7 @@ define KernelPackage/hwmon-lm92
KCONFIG:=CONFIG_SENSORS_LM92
FILES:=$(LINUX_DIR)/drivers/hwmon/lm92.ko
AUTOLOAD:=$(call AutoProbe,lm92)
$(call AddDepends/hwmon,+kmod-i2c-core +!LINUX_6_6:kmod-regmap-core)
$(call AddDepends/hwmon,+kmod-i2c-core +kmod-regmap-core)
endef
define KernelPackage/hwmon-lm92/description
@ -402,27 +402,12 @@ endef
$(eval $(call KernelPackage,hwmon-ltc4151))
define KernelPackage/hwmon-max6642
TITLE:=MAX6642 monitoring support
KCONFIG:=CONFIG_SENSORS_MAX6642
FILES:=$(LINUX_DIR)/drivers/hwmon/max6642.ko
AUTOLOAD:=$(call AutoLoad,60,max6642 max6642)
$(call AddDepends/hwmon,@LINUX_6_6 +kmod-i2c-core)
endef
define KernelPackage/hwmon-max6642/description
Kernel module for Maxim MAX6642 temperature monitor
endef
$(eval $(call KernelPackage,hwmon-max6642))
define KernelPackage/hwmon-max6697
TITLE:=MAX6697 monitoring support
KCONFIG:=CONFIG_SENSORS_MAX6697
FILES:=$(LINUX_DIR)/drivers/hwmon/max6697.ko
AUTOLOAD:=$(call AutoProbe,max6697)
$(call AddDepends/hwmon,+kmod-i2c-core +!LINUX_6_6:kmod-regmap-i2c)
$(call AddDepends/hwmon,+kmod-i2c-core +kmod-regmap-i2c)
endef
define KernelPackage/hwmon-max6697/description
@ -548,7 +533,7 @@ define KernelPackage/hwmon-sch5627
$(LINUX_DIR)/drivers/hwmon/sch5627.ko \
$(LINUX_DIR)/drivers/hwmon/sch56xx-common.ko
AUTOLOAD:=$(call AutoProbe,sch5627)
$(call AddDepends/hwmon,+kmod-i2c-core +!LINUX_6_6:kmod-regmap-core)
$(call AddDepends/hwmon,+kmod-i2c-core +kmod-regmap-core)
endef
define KernelPackage/hwmon-sch5627/description

View File

@ -9,7 +9,7 @@ IIO_MENU:=Industrial I/O Modules
define KernelPackage/iio-core
SUBMENU:=$(IIO_MENU)
TITLE:=Industrial IO core
DEPENDS:=+!LINUX_6_6:kmod-dma-buf
DEPENDS:=+kmod-dma-buf
KCONFIG:= \
CONFIG_IIO \
CONFIG_IIO_BUFFER=y \
@ -287,7 +287,7 @@ $(eval $(call KernelPackage,iio-bme680-spi))
define KernelPackage/iio-bmp280
TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor
DEPENDS:=+kmod-regmap-core +!LINUX_6_6:kmod-industrialio-triggered-buffer
DEPENDS:=+kmod-regmap-core +kmod-industrialio-triggered-buffer
KCONFIG:=CONFIG_BMP280
FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280.ko
$(call AddDepends/iio)

View File

@ -55,22 +55,6 @@ endef
$(eval $(call KernelPackage,ledtrig-activity))
define KernelPackage/ledtrig-audio
SUBMENU:=$(LEDS_MENU)
TITLE:=LED Audio Mute Trigger
DEPENDS:=@LINUX_6_6
KCONFIG:=CONFIG_LEDS_TRIGGER_AUDIO
FILES:=$(LED_TRIGGER_DIR)/ledtrig-audio.ko
AUTOLOAD:=$(call AutoLoad,50,ledtrig-audio)
endef
define KernelPackage/ledtrig-audio/description
Kernel module that allows LEDs to be controlled by audio drivers
to follow audio mute and mic-mute changes.
endef
$(eval $(call KernelPackage,ledtrig-audio))
define KernelPackage/ledtrig-gpio
SUBMENU:=$(LEDS_MENU)
TITLE:=LED GPIO Trigger

View File

@ -123,7 +123,7 @@ $(eval $(call KernelPackage,atl1e))
define KernelPackage/libie
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Intel Ethernet library
DEPENDS:=@!LINUX_6_6 +kmod-libeth
DEPENDS:=+kmod-libeth
KCONFIG:=CONFIG_LIBIE
HIDDEN:=1
FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/libie/libie.ko
@ -139,7 +139,6 @@ $(eval $(call KernelPackage,libie))
define KernelPackage/libeth
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Common Intel Ethernet library
DEPENDS:=@!LINUX_6_6
KCONFIG:=CONFIG_LIBETH
HIDDEN:=1
FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/libeth/libeth.ko
@ -610,7 +609,7 @@ $(eval $(call KernelPackage,phy-airoha-en8811h))
define KernelPackage/phy-aquantia
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Aquantia Ethernet PHYs
DEPENDS:=+kmod-libphy +kmod-hwmon-core +LINUX_6_6:kmod-lib-crc-ccitt +!LINUX_6_6:kmod-lib-crc-itu-t
DEPENDS:=+kmod-libphy +kmod-hwmon-core +kmod-lib-crc-itu-t
KCONFIG:=CONFIG_AQUANTIA_PHY
FILES:=$(LINUX_DIR)/drivers/net/phy/aquantia/aquantia.ko
AUTOLOAD:=$(call AutoLoad,18,aquantia,1)
@ -813,7 +812,7 @@ $(eval $(call KernelPackage,dsa-rtl8365mb))
define KernelPackage/dsa-ks8995
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Micrel/Kendin KS8995 Ethernet DSA Switch
DEPENDS:=@!LINUX_6_6 +kmod-dsa +kmod-dsa-notag
DEPENDS:=+kmod-dsa +kmod-dsa-notag
FILES:= $(LINUX_DIR)/drivers/net/dsa/ks8995.ko
KCONFIG:= CONFIG_NET_DSA_KS8995 \
CONFIG_SPI=y \
@ -831,7 +830,7 @@ $(eval $(call KernelPackage,dsa-ks8995))
define KernelPackage/dsa-vsc73xx
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Vitesse VSC73XX DSA switch family support
DEPENDS:=@!LINUX_6_6 +kmod-dsa +kmod-phy-vitesse +kmod-fixed-phy
DEPENDS:=+kmod-dsa +kmod-phy-vitesse +kmod-fixed-phy
KCONFIG:= \
CONFIG_NET_DSA_VITESSE_VSC73XX \
CONFIG_NET_DSA_TAG_VSC73XX_8021Q
@ -850,7 +849,7 @@ $(eval $(call KernelPackage,dsa-vsc73xx))
define KernelPackage/dsa-vsc73xx-spi
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Vitesse VSC73XX SPI support
DEPENDS:=@!LINUX_6_6 +kmod-dsa-vsc73xx
DEPENDS:=+kmod-dsa-vsc73xx
KCONFIG:= CONFIG_NET_DSA_VITESSE_VSC73XX_SPI
FILES:= $(LINUX_DIR)/drivers/net/dsa/vitesse-vsc73xx-spi.ko
AUTOLOAD:=$(call AutoProbe,vitesse-vsc73xx-spi)
@ -866,7 +865,7 @@ $(eval $(call KernelPackage,dsa-vsc73xx-spi))
define KernelPackage/dsa-vsc73xx-platform
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Vitesse VSC73XX platform support
DEPENDS:=@!LINUX_6_6 +kmod-dsa-vsc73xx
DEPENDS:=+kmod-dsa-vsc73xx
KCONFIG:= CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM
FILES:= $(LINUX_DIR)/drivers/net/dsa/vitesse-vsc73xx-platform.ko
AUTOLOAD:=$(call AutoProbe,vitesse-vsc73xx-platform)
@ -1364,7 +1363,7 @@ $(eval $(call KernelPackage,ixgbevf))
define KernelPackage/i40e
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Intel(R) Ethernet Controller XL710 Family support
DEPENDS:=@PCI_SUPPORT +kmod-ptp +!LINUX_6_6:kmod-libie
DEPENDS:=@PCI_SUPPORT +kmod-ptp +kmod-libie
KCONFIG:=CONFIG_I40E \
CONFIG_I40E_DCB=y
FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/i40e/i40e.ko
@ -1381,7 +1380,7 @@ $(eval $(call KernelPackage,i40e))
define KernelPackage/ice
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Intel(R) Ethernet Controller E810 Series support
DEPENDS:=@PCI_SUPPORT +kmod-ptp +!LINUX_6_6:kmod-hwmon-core +!LINUX_6_6:kmod-libie
DEPENDS:=@PCI_SUPPORT +kmod-ptp +kmod-hwmon-core +kmod-libie
KCONFIG:=CONFIG_ICE \
CONFIG_ICE_HWMON=y \
CONFIG_ICE_HWTS=y \
@ -1400,7 +1399,7 @@ $(eval $(call KernelPackage,ice))
define KernelPackage/iavf
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Intel(R) Ethernet Adaptive Virtual Function support
DEPENDS:=@PCI_SUPPORT +!LINUX_6_6:kmod-libie
DEPENDS:=@PCI_SUPPORT +kmod-libie
KCONFIG:= \
CONFIG_I40EVF \
CONFIG_IAVF
@ -1723,24 +1722,6 @@ endef
$(eval $(call KernelPackage,vmxnet3))
define KernelPackage/spi-ks8995
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Micrel/Kendin KS8995 Ethernet switch control
DEPENDS:=@LINUX_6_6
FILES:=$(LINUX_DIR)/drivers/net/phy/spi_ks8995.ko
KCONFIG:=CONFIG_MICREL_KS8995MA \
CONFIG_SPI=y \
CONFIG_SPI_MASTER=y
AUTOLOAD:=$(call AutoLoad,50,spi_ks8995)
endef
define KernelPackage/spi-ks8995/description
Kernel module for Micrel/Kendin KS8995 ethernet switch
endef
$(eval $(call KernelPackage,spi-ks8995))
define KernelPackage/ethoc
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Opencore.org ethoc driver
@ -2109,7 +2090,7 @@ $(eval $(call KernelPackage,pcs-qcom-ipq9574))
define KernelPackage/pcs-xpcs
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Synopsis DesignWare PCS driver
DEPENDS:=@(TARGET_x86_64||TARGET_armsr) +kmod-phylink +!LINUX_6_6:kmod-mdio-devres
DEPENDS:=@(TARGET_x86_64||TARGET_armsr) +kmod-phylink +kmod-mdio-devres
KCONFIG:=CONFIG_PCS_XPCS
FILES:=$(LINUX_DIR)/drivers/net/pcs/pcs_xpcs.ko
AUTOLOAD:=$(call AutoLoad,20,pcs_xpcs)
@ -2329,7 +2310,7 @@ $(eval $(call KernelPackage,atlantic))
define KernelPackage/lan743x
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Microchip LAN743x PCI Express Gigabit Ethernet NIC
DEPENDS:=@PCI_SUPPORT +kmod-ptp +kmod-mdio-devres +kmod-fixed-phy +!LINUX_6_6:kmod-phylink
DEPENDS:=@PCI_SUPPORT +kmod-ptp +kmod-mdio-devres +kmod-fixed-phy +kmod-phylink
KCONFIG:=CONFIG_LAN743X
FILES:=$(LINUX_DIR)/drivers/net/ethernet/microchip/lan743x.ko
AUTOLOAD:=$(call AutoProbe,lan743x)

View File

@ -778,22 +778,6 @@ endef
$(eval $(call KernelPackage,sched-act-sample))
define KernelPackage/sched-act-ipt
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=IPtables targets
DEPENDS:=@LINUX_6_6 +kmod-ipt-core +kmod-sched-core
KCONFIG:=CONFIG_NET_ACT_IPT
FILES:=$(LINUX_DIR)/net/sched/act_ipt.ko
AUTOLOAD:=$(call AutoProbe, act_ipt)
endef
define KernelPackage/sched-act-ipt/description
Allows to invoke iptables targets after successful classification.
endef
$(eval $(call KernelPackage,sched-act-ipt))
define KernelPackage/sched-act-vlan
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Traffic VLAN manipulation
@ -1376,7 +1360,7 @@ $(eval $(call KernelPackage,mpls))
define KernelPackage/9pnet
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Plan 9 Resource Sharing Support (9P2000)
DEPENDS:=+!LINUX_6_6:kmod-fs-netfs
DEPENDS:=+kmod-fs-netfs
KCONFIG:= \
CONFIG_NET_9P \
CONFIG_NET_9P_DEBUG=n \

View File

@ -737,49 +737,46 @@ endef
define KernelPackage/zram/config
if PACKAGE_kmod-zram
if !LINUX_6_6
config KERNEL_ZRAM_BACKEND_LZO
bool "lzo and lzo-rle compression support"
config KERNEL_ZRAM_BACKEND_LZO
bool "lzo and lzo-rle compression support"
config KERNEL_ZRAM_BACKEND_LZ4
bool "lz4 compression support"
config KERNEL_ZRAM_BACKEND_LZ4
bool "lz4 compression support"
config KERNEL_ZRAM_BACKEND_LZ4HC
bool "lz4hc compression support"
config KERNEL_ZRAM_BACKEND_LZ4HC
bool "lz4hc compression support"
config KERNEL_ZRAM_BACKEND_ZSTD
bool "zstd compression support"
config KERNEL_ZRAM_BACKEND_ZSTD
bool "zstd compression support"
config KERNEL_ZRAM_BACKEND_FORCE_LZO
def_bool !KERNEL_ZRAM_BACKEND_LZ4 && \
!KERNEL_ZRAM_BACKEND_LZ4HC && \
!KERNEL_ZRAM_BACKEND_ZSTD
select KERNEL_ZRAM_BACKEND_LZO
endif
config KERNEL_ZRAM_BACKEND_FORCE_LZO
def_bool !KERNEL_ZRAM_BACKEND_LZ4 && \
!KERNEL_ZRAM_BACKEND_LZ4HC && \
!KERNEL_ZRAM_BACKEND_ZSTD
select KERNEL_ZRAM_BACKEND_LZO
choice
prompt "ZRAM Default compressor"
default KERNEL_ZRAM_DEF_COMP_LZORLE
config KERNEL_ZRAM_DEF_COMP_LZORLE
bool "lzo-rle"
depends on KERNEL_ZRAM_BACKEND_LZO || LINUX_6_6
depends on KERNEL_ZRAM_BACKEND_LZO
config KERNEL_ZRAM_DEF_COMP_LZO
bool "lzo"
depends on KERNEL_ZRAM_BACKEND_LZO || LINUX_6_6
depends on KERNEL_ZRAM_BACKEND_LZO
config KERNEL_ZRAM_DEF_COMP_LZ4
bool "lz4"
depends on KERNEL_ZRAM_BACKEND_LZ4 || LINUX_6_6
depends on KERNEL_ZRAM_BACKEND_LZ4
config KERNEL_ZRAM_DEF_COMP_LZ4HC
bool "lz4-hc"
depends on KERNEL_ZRAM_BACKEND_LZ4HC || LINUX_6_6
depends on KERNEL_ZRAM_BACKEND_LZ4HC
config KERNEL_ZRAM_DEF_COMP_ZSTD
bool "zstd"
depends on KERNEL_ZRAM_BACKEND_ZSTD || LINUX_6_6
depends on KERNEL_ZRAM_BACKEND_ZSTD
endchoice
endif

View File

@ -361,7 +361,6 @@ $(eval $(call KernelPackage,sound-dummy))
define KernelPackage/sound-hda-core
SUBMENU:=$(SOUND_MENU)
TITLE:=HD Audio Sound Core Support
DEPENDS:=+LINUX_6_6:kmod-ledtrig-audio
KCONFIG:= \
CONFIG_SND_HDA_CORE \
CONFIG_SND_HDA_HWDEP=y \
@ -386,7 +385,6 @@ $(eval $(call KernelPackage,sound-hda-core))
define KernelPackage/snd-hda-scodec-component
SUBMENU:=$(SOUND_MENU)
TITLE:= HD Audio Codec Component
DEPENDS:=@!LINUX_6_6
KCONFIG:= \
CONFIG_SND_HDA_SCODEC_COMPONENT
FILES:= \
@ -405,7 +403,7 @@ define KernelPackage/sound-hda-codec-realtek
FILES:= \
$(LINUX_DIR)/sound/pci/hda/snd-hda-codec-realtek.ko
AUTOLOAD:=$(call AutoProbe,snd-hda-codec-realtek)
$(call AddDepends/sound,kmod-sound-hda-core +!LINUX_6_6:kmod-snd-hda-scodec-component)
$(call AddDepends/sound,kmod-sound-hda-core +kmod-snd-hda-scodec-component)
endef
define KernelPackage/sound-hda-codec-realtek/description

View File

@ -1490,7 +1490,7 @@ $(eval $(call KernelPackage,usb-net-rtl8150))
define KernelPackage/usb-net-rtl8152
TITLE:=Kernel module for USB-to-Ethernet Realtek convertors
DEPENDS:=+r8152-firmware +kmod-crypto-sha256 +kmod-mii +!LINUX_6_6:kmod-libphy
DEPENDS:=+r8152-firmware +kmod-crypto-sha256 +kmod-mii +kmod-libphy
KCONFIG:=CONFIG_USB_RTL8152
FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/r8152.ko
AUTOLOAD:=$(call AutoProbe,r8152)

View File

@ -63,7 +63,7 @@ $(eval $(call KernelPackage,acpi-video))
define KernelPackage/backlight
SUBMENU:=$(VIDEO_MENU)
TITLE:=Backlight support
DEPENDS:=@DISPLAY_SUPPORT +!LINUX_6_6:kmod-fb
DEPENDS:=@DISPLAY_SUPPORT +kmod-fb
HIDDEN:=1
KCONFIG:=CONFIG_BACKLIGHT_CLASS_DEVICE \
CONFIG_BACKLIGHT_LCD_SUPPORT=y \
@ -102,7 +102,7 @@ $(eval $(call KernelPackage,backlight-pwm))
define KernelPackage/fb
SUBMENU:=$(VIDEO_MENU)
TITLE:=Framebuffer and framebuffer console support
DEPENDS:=@DISPLAY_SUPPORT +LINUX_6_6:kmod-fb-io-fops
DEPENDS:=@DISPLAY_SUPPORT
KCONFIG:= \
CONFIG_FB \
CONFIG_FB_DEVICE=y \
@ -137,9 +137,8 @@ define KernelPackage/fb/description
endef
define KernelPackage/fb/x86
FILES+=$(LINUX_DIR)/arch/x86/video/fbdev.ko@lt6.12 \
$(LINUX_DIR)/arch/x86/video/video-common.ko@ge6.12
AUTOLOAD:=$(call AutoLoad,06,fbdev@lt6.12 video-common@ge6.12 fb font)
FILES+=$(LINUX_DIR)/arch/x86/video/video-common.ko
AUTOLOAD:=$(call AutoLoad,06,video-common fb font)
endef
$(eval $(call KernelPackage,fb))
@ -209,8 +208,7 @@ define KernelPackage/fb-sys-fops
TITLE:=Framebuffer software sys ops support
DEPENDS:=+kmod-fb
KCONFIG:= \
CONFIG_FB_SYS_FOPS@lt6.12 \
CONFIG_FB_SYSMEM_FOPS@ge6.12
CONFIG_FB_SYSMEM_FOPS
FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/fb_sys_fops.ko
AUTOLOAD:=$(call AutoLoad,07,fb_sys_fops)
endef
@ -461,7 +459,7 @@ define KernelPackage/drm-ttm-helper
SUBMENU:=$(VIDEO_MENU)
TITLE:=Helpers for ttm-based gem objects
HIDDEN:=1
DEPENDS:=@DISPLAY_SUPPORT +kmod-drm-ttm +!LINUX_6_6:kmod-drm-kms-helper
DEPENDS:=@DISPLAY_SUPPORT +kmod-drm-ttm +kmod-drm-kms-helper
KCONFIG:=CONFIG_DRM_TTM_HELPER
FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_ttm_helper.ko
AUTOLOAD:=$(call AutoProbe,drm_ttm_helper)
@ -808,7 +806,7 @@ define KernelPackage/drm-radeon
DEPENDS:=@TARGET_x86 @DISPLAY_SUPPORT +kmod-backlight +kmod-drm-kms-helper \
+kmod-drm-ttm +kmod-drm-ttm-helper +kmod-i2c-algo-bit +radeon-firmware \
+kmod-drm-display-helper +kmod-acpi-video +kmod-drm-suballoc-helper \
+!LINUX_6_6:kmod-fb-io-fops
+kmod-fb-io-fops
KCONFIG:=CONFIG_DRM_RADEON
FILES:=$(LINUX_DIR)/drivers/gpu/drm/radeon/radeon.ko
AUTOLOAD:=$(call AutoProbe,radeon)
@ -1555,10 +1553,8 @@ define KernelPackage/video-coda
CONFIG_VIDEO_CODA \
CONFIG_VIDEO_IMX_VDOA
FILES:= \
$(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/chips-media/coda-vpu.ko@lt6.12 \
$(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/chips-media/imx-vdoa.ko@lt6.12 \
$(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/chips-media/coda/coda-vpu.ko@ge6.12 \
$(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/chips-media/coda/imx-vdoa.ko@ge6.12 \
$(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/chips-media/coda/coda-vpu.ko \
$(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/chips-media/coda/imx-vdoa.ko \
$(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-jpeg.ko
AUTOLOAD:=$(call AutoProbe,coda-vpu imx-vdoa v4l2-jpeg)
$(call AddDepends/video)

View File

@ -23,7 +23,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
+ size_t len = rt2x00dev->ops->eeprom_size;
+ int i;
+
+ if (!of_find_property(np, "ralink,eeprom-swap", NULL))
+ if (!of_property_present(np, "ralink,eeprom-swap"))
+ return;
+
+ for (i = 0; i < len / sizeof(u16); i++)

View File

@ -23,7 +23,7 @@ include $(INCLUDE_DIR)/package.mk
define KernelPackage/usb-net-rtl8152-vendor
TITLE:=Kernel module for USB-to-Ethernet Realtek convertors
SUBMENU:=USB Support
DEPENDS:=+kmod-usb-core +!LINUX_6_6:kmod-libphy
DEPENDS:=+kmod-usb-core +kmod-libphy
CONFLICTS:=kmod-usb-net-rtl8152
FILES:=$(PKG_BUILD_DIR)/r8152.ko
AUTOLOAD:=$(call AutoProbe,r8152,1)

View File

@ -174,13 +174,13 @@ static int i2c_outb(int c)
if (sclhi() < 0) { /* timed out */
sdahi(); /* we don't want to block the net */
return -ETIMEDOUT;
};
}
scllo();
}
sdahi();
if (sclhi() < 0) {
return -ETIMEDOUT;
};
}
/* read ack: SDA should be pulled down by slave */
ack = getsda() == 0; /* ack: sda is pulled low ->success. */
scllo();
@ -204,7 +204,7 @@ static int i2c_inb(int ack)
for (i = 0; i < 8; i++) {
if (sclhi() < 0) {
return -ETIMEDOUT;
};
}
indata *= 2;
if (getsda())
indata |= 0x01;

View File

@ -14,6 +14,7 @@ PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/meson.mk
define Package/libtraceevent
SECTION:=libs
@ -32,28 +33,27 @@ define Package/libtraceevent-extra
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Extra plugins for libtraceevent
DEPENDS:=
DEPENDS:=+libtraceevent
endef
CONFIGURE_ARGS+= \
--enable-shared \
--enable-static
MESON_ARGS += \
-Ddoc=false
PLUGINS_DIR := $(PKG_BUILD_DIR)/plugins
PLUGINS_DIR := $(PKG_INSTALL_DIR)/usr/lib/traceevent/plugins
PLUGINS_MAIN := function hrtimer mac80211 sched_switch
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_BUILD_DIR)/include/traceevent $(1)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/include/traceevent $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/libtraceevent.{a,so*} $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libtraceevent.{a,so*} $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_BUILD_DIR)/libtraceevent.pc $(1)/usr/lib/pkgconfig/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libtraceevent.pc $(1)/usr/lib/pkgconfig/
endef
define Package/libtraceevent/install
$(INSTALL_DIR) $(1)/usr/lib/traceevent/plugins
$(CP) $(PKG_BUILD_DIR)/lib/libtraceevent.so.* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libtraceevent.so.* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) \
$(patsubst %,$(PLUGINS_DIR)/plugin_%.so,$(PLUGINS_MAIN)) \

View File

@ -0,0 +1,62 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Mon, 1 Dec 2025 16:22:17 +0000
Subject: [PATCH] providers/implementations/ciphers: fix AES-GCM-SIV and
AES-SIV with zero-length messages
When ossl_aes_gcm_siv_cipher() or siv_cipher() is called with in=NULL
for zero-length input, the hw->cipher function interprets this as a
finalization request and calls the finish function instead of
encrypt/decrypt. This causes the authentication tag to never be computed
for zero-length messages, resulting in decryption verification failures.
Fix this by substituting a static empty byte address when in is NULL,
ensuring hw->cipher always receives a non-NULL pointer from Update calls
and correctly routes to the encrypt/decrypt path.
For AES-GCM-SIV, this is a different fix than upstream commit
f1a4f0368b73 ("make aes-gcm-siv work with zero-length messages") which
removed early-return and length checks that don't exist in 3.5.x.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/providers/implementations/ciphers/cipher_aes_gcm_siv.c
+++ b/providers/implementations/ciphers/cipher_aes_gcm_siv.c
@@ -140,6 +140,7 @@ static int ossl_aes_gcm_siv_cipher(void
{
PROV_AES_GCM_SIV_CTX *ctx = (PROV_AES_GCM_SIV_CTX *)vctx;
int error = 0;
+ static const unsigned char empty;
if (!ossl_prov_is_running())
return 0;
@@ -149,6 +150,9 @@ static int ossl_aes_gcm_siv_cipher(void
return 0;
}
+ if (in == NULL)
+ in = &empty;
+
error |= !ctx->hw->cipher(ctx, out, in, inl);
if (outl != NULL && !error)
--- a/providers/implementations/ciphers/cipher_aes_siv.c
+++ b/providers/implementations/ciphers/cipher_aes_siv.c
@@ -114,6 +114,7 @@ static int siv_cipher(void *vctx, unsign
size_t outsize, const unsigned char *in, size_t inl)
{
PROV_AES_SIV_CTX *ctx = (PROV_AES_SIV_CTX *)vctx;
+ static const unsigned char empty;
if (!ossl_prov_is_running())
return 0;
@@ -123,6 +124,9 @@ static int siv_cipher(void *vctx, unsign
return 0;
}
+ if (in == NULL)
+ in = &empty;
+
if (ctx->hw->cipher(ctx, out, in, inl) <= 0)
return 0;

View File

@ -165,6 +165,10 @@
"basic_rate": {
"type": "array"
},
"beacon_prot": {
"description": "Management frame protection for Beacon frames",
"type": "boolean"
},
"bss_load_update_period": {
"description": "BSS Load update period (in BUs)",
"type": "number",
@ -343,6 +347,10 @@
"description": "DHCP server for FILS HLP. Set to '*' for automatic lookup.",
"type": "string"
},
"ft_iface": {
"description": "Inter-AP communication interface for 802.11r",
"type": "string"
},
"ft_over_ds": {
"description": "Whether to enable FT-over-DS",
"type": "boolean",
@ -989,6 +997,10 @@
"type": "boolean",
"default": false
},
"spp_amsdu": {
"description": "Signaling and Payload Protected A-MSDU",
"type": "boolean"
},
"ssid": {
"type": "string"
},

View File

@ -5,9 +5,12 @@
"type": "object",
"properties": {
"mac": {
"description": "The stations MAC",
"type": "string",
"default": "00:00:00:00:00:00"
"description": "The station's MAC addresses",
"type": "array",
"items": {
"type": "string"
},
"default": ["00:00:00:00:00:00"]
},
"key": {
"description": "The passphrase that shall be used",

View File

@ -57,7 +57,7 @@ function iface_setup(config) {
'disassoc_low_ack', 'skip_inactivity_poll', 'ignore_broadcast_ssid', 'uapsd_advertisement_enabled',
'utf8_ssid', 'multi_ap', 'multi_ap_vlanid', 'multi_ap_profile', 'tdls_prohibit', 'bridge',
'wds_sta', 'wds_bridge', 'snoop_iface', 'vendor_elements', 'nas_identifier', 'radius_acct_interim_interval',
'ocv', 'multicast_to_unicast', 'preamble', 'proxy_arp', 'per_sta_vif', 'mbo',
'ocv', 'beacon_prot', 'spp_amsdu', 'multicast_to_unicast', 'preamble', 'proxy_arp', 'per_sta_vif', 'mbo',
'bss_transition', 'wnm_sleep_mode', 'wnm_sleep_mode_no_keys', 'qos_map_set', 'max_listen_int',
'dtim_period', 'wmm_enabled', 'start_disabled', 'na_mcast_to_ucast',
]);
@ -312,10 +312,12 @@ function iface_wpa_stations(config, stas) {
let file = fs.open(path, 'w');
for (let k, sta in stas)
if (sta.config.mac && sta.config.key) {
let station = `${sta.config.mac} ${sta.config.key}\n`;
if (sta.config.vid)
station = `vlanid=${sta.config.vid} ` + station;
file.write(station);
for (let mac in sta.config.mac) {
let station = `${mac} ${sta.config.key}\n`;
if (sta.config.vid)
station = `vlanid=${sta.config.vid} ` + station;
file.write(station);
}
}
file.close();
@ -328,15 +330,16 @@ function iface_sae_stations(config, stas) {
let file = fs.open(path, 'w');
for (let k, sta in stas)
if (sta.config.mac && sta.config.key) {
let mac = sta.config.mac;
if (mac == '00:00:00:00:00:00')
mac = 'ff:ff:ff:ff:ff:ff';
for (let mac in sta.config.mac) {
if (mac == '00:00:00:00:00:00')
mac = 'ff:ff:ff:ff:ff:ff';
let station = `${sta.config.key}|mac=${mac}`;
if (sta.config.vid)
station = station + `|vlanid=${sta.config.vid}`;
station = station + '\n';
file.write(station);
let station = `${sta.config.key}|mac=${mac}`;
if (sta.config.vid)
station = station + `|vlanid=${sta.config.vid}`;
station = station + '\n';
file.write(station);
}
}
file.close();

View File

@ -176,7 +176,7 @@ function setup_sta(data, config) {
network_append_string_vars(config, [ 'ssid' ]);
network_append_vars(config, [
'rsn_overriding', 'scan_ssid', 'noscan', 'disabled', 'multi_ap_profile', 'multi_ap_backhaul_sta',
'ocv', 'key_mgmt', 'sae_pwe', 'psk', 'sae_password', 'pairwise', 'group', 'bssid',
'ocv', 'beacon_prot', 'key_mgmt', 'sae_pwe', 'psk', 'sae_password', 'pairwise', 'group', 'bssid',
'proto', 'mesh_fwding', 'mesh_rssi_threshold', 'frequency', 'fixed_freq',
'disable_ht', 'disable_ht40', 'disable_vht', 'vht', 'max_oper_chwidth',
'ht40', 'beacon_int', 'ieee80211w', 'basic_rate', 'mcast_rate',

View File

@ -347,7 +347,7 @@ hostapd_common_add_bss_config() {
config_add_boolean ieee80211r pmk_r1_push ft_psk_generate_local ft_over_ds
config_add_int r0_key_lifetime reassociation_deadline
config_add_string mobility_domain r1_key_holder rxkh_file
config_add_string mobility_domain r1_key_holder rxkh_file ft_iface
config_add_array r0kh r1kh
config_add_int ieee80211w_max_timeout ieee80211w_retry_timeout
@ -403,6 +403,7 @@ hostapd_common_add_bss_config() {
config_add_string fils_dhcp
config_add_int ocv
config_add_boolean beacon_prot spp_amsdu
config_add_boolean apup
config_add_string apup_peer_ifname_prefix
@ -428,10 +429,13 @@ hostapd_set_psk_file() {
local vlan="$2"
local vlan_id=""
json_get_vars mac vid key
set_default mac "00:00:00:00:00:00"
json_get_vars vid key
json_get_values mac_list mac
set_default mac_list "00:00:00:00:00:00"
[ -n "$vid" ] && vlan_id="vlanid=$vid "
echo "${vlan_id} ${mac} ${key}" >> /var/run/hostapd-${ifname}.psk
for mac in $mac_list; do
echo "${vlan_id} ${mac} ${key}" >> /var/run/hostapd-${ifname}.psk
done
}
hostapd_set_psk() {
@ -450,11 +454,14 @@ hostapd_set_sae_file() {
local vlan="$2"
local vlan_id=""
json_get_vars mac vid key
set_default mac "ff:ff:ff:ff:ff:ff"
[ -n "$mac" ] && mac="|mac=$mac"
json_get_vars vid key
json_get_values mac_list mac
set_default mac_list "ff:ff:ff:ff:ff:ff"
[ -n "$vid" ] && vlan_id="|vlanid=$vid"
printf '%s%s%s\n' "${key}" "${mac}" "${vlan_id}" >> /var/run/hostapd-${ifname}.sae
for mac in $mac_list; do
mac="|mac=$mac"
printf '%s%s%s\n' "${key}" "${mac}" "${vlan_id}" >> /var/run/hostapd-${ifname}.sae
done
}
hostapd_set_sae() {
@ -558,7 +565,7 @@ hostapd_set_bss_options() {
ppsk airtime_bss_weight airtime_bss_limit airtime_sta_weight \
multicast_to_unicast_all proxy_arp per_sta_vif na_mcast_to_ucast \
eap_server eap_user_file ca_cert server_cert private_key private_key_passwd server_id radius_server_clients radius_server_auth_port \
vendor_elements fils ocv apup rsn_override
vendor_elements fils ocv beacon_prot spp_amsdu apup rsn_override
set_default rsn_override 1
set_default fils 0
@ -630,6 +637,8 @@ hostapd_set_bss_options() {
json_for_each_item append_radius_acct_req_attr radius_acct_req_attr
[ -n "$ocv" ] && append bss_conf "ocv=$ocv" "$N"
[ -n "$beacon_prot" ] && append bss_conf "beacon_prot=$beacon_prot" "$N"
[ -n "$spp_amsdu" ] && append bss_conf "spp_amsdu=$spp_amsdu" "$N"
case "$auth_type" in
sae|owe|eap2|eap192)
@ -918,11 +927,12 @@ hostapd_set_bss_options() {
if [ "$wpa" -ge "2" ]; then
if [ "$ieee80211r" -gt "0" ]; then
json_get_vars mobility_domain ft_psk_generate_local ft_over_ds reassociation_deadline
json_get_vars mobility_domain ft_psk_generate_local ft_over_ds reassociation_deadline ft_iface
set_default mobility_domain "$(echo -n "$ssid" | md5sum | head -c 4)"
set_default ft_over_ds 0
set_default reassociation_deadline 20000
[ -n "$network_ifname" ] && set_default ft_iface "$network_ifname"
case "$auth_type" in
psk)
@ -933,7 +943,7 @@ hostapd_set_bss_options() {
;;
esac
[ -n "$network_ifname" ] && append bss_conf "ft_iface=$network_ifname" "$N"
[ -n "$ft_iface" ] && append bss_conf "ft_iface=$ft_iface" "$N"
append bss_conf "mobility_domain=$mobility_domain" "$N"
append bss_conf "ft_psk_generate_local=$ft_psk_generate_local" "$N"
append bss_conf "ft_over_ds=$ft_over_ds" "$N"
@ -1326,7 +1336,7 @@ wpa_supplicant_add_network() {
json_get_vars \
ssid bssid key rsn_override \
mcast_rate \
ieee80211w ieee80211r fils ocv \
ieee80211w ieee80211r fils ocv beacon_prot \
multi_ap \
default_disabled
@ -1384,6 +1394,7 @@ wpa_supplicant_add_network() {
}
[ -n "$ocv" ] && append network_data "ocv=$ocv" "$N$T"
[ -n "$beacon_prot" ] && append network_data "beacon_prot=$beacon_prot" "$N$T"
rsn_overriding=0
case "$htmode" in

View File

@ -399,7 +399,8 @@ _wdev_common_vlan_config() {
}
_wdev_common_station_config() {
config_add_string mac key vid iface
config_add_string key vid iface
config_add_array mac
}
init_wireless_driver() {

View File

@ -12,9 +12,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git
PKG_SOURCE_DATE:=2025-11-14
PKG_SOURCE_VERSION:=cbc8ff0e62261a5681dab1aa6d0e503545178354
PKG_MIRROR_HASH:=3c3b73c9b74c45900128d91ad443d4411a5ba3f9246b97a562d9acaf7a9f01f3
PKG_SOURCE_DATE:=2025-11-24
PKG_SOURCE_VERSION:=f98b6ec82362607a01b7421935d99f54068a80e0
PKG_MIRROR_HASH:=c9abe17fcfad0c4ff08c7c311e5ed160f97e0a03064d4140012c2ab62d3d3d1c
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
PKG_LICENSE:=GPL-2.0

View File

@ -12,9 +12,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcpd.git
PKG_MIRROR_HASH:=cdf61fc424b23811aaefc7b47fb24aef94013ef1d299e1cbac94cbd029c1e099
PKG_SOURCE_DATE:=2025-11-23
PKG_SOURCE_VERSION:=650a5df88ebae82d956831c2f87c7c6eedd8c283
PKG_MIRROR_HASH:=1b9d5324c377f99e2cec3a92a71e9e979a1e4cf16023fea59b5799bcbdbb36d5
PKG_SOURCE_DATE:=2025-11-27
PKG_SOURCE_VERSION:=d21e504b38ab4c880c43b7f1649104bb2f0d2d8b
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
PKG_LICENSE:=GPL-2.0

View File

@ -58,9 +58,7 @@ CONFIGURE_ARGS += --disable-netlink --disable-pretty-dump
endif
# enable support for input_xfrm with kernels newer than 6.6
ifeq ($(CONFIG_LINUX_6_6),)
CONFIGURE_ARGS += --enable-rss-input-xfrm
endif
define Package/ethtool/install
$(INSTALL_DIR) $(1)/usr/sbin

View File

@ -270,10 +270,13 @@ proto_qmi_setup() {
echo "Waiting for network registration"
sleep 5
local registration_timeout=0
local serving_system=""
local registration_state=""
while true; do
registration_state=$(uqmi -s -d "$device" -t 1000 --get-serving-system 2>/dev/null | jsonfilter -e "@.registration" 2>/dev/null)
serving_system="$(uqmi -s -d "$device" -t 1000 --get-serving-system 2>/dev/null)"
registration_state=$(echo "$serving_system" | jsonfilter -e "@.registration" 2>/dev/null)
[ "$serving_system" = "\"Invalid QMI command\"" ] && break
[ "$registration_state" = "registered" ] && break
if [ "$registration_state" = "searching" ] || [ "$registration_state" = "not_registered" ]; then

View File

@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=selinux-policy
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://git.defensec.nl/selinux-policy.git
PKG_VERSION:=2.8.3
PKG_MIRROR_HASH:=accbb1c7bebfbe48d46ac4060d12a06434ed28d6834b0fb4e22d25d329b277ef
PKG_VERSION:=2.8.4
PKG_MIRROR_HASH:=5ee24ac072414bb2a8a93cefeeb827a11123d7a61313d4389fce554ef2fb94ce
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
PKG_BUILD_DEPENDS:=secilc/host policycoreutils/host

View File

@ -0,0 +1,44 @@
#
# Copyright (c) 2025 Pascal Beleiu <pascal@beleiu.de>
# Copyright (c) 2025 Eric Schäfer <eric@es86.de>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=zyxel-bootconfig-ipq807x
PKG_RELEASE:=1
PKG_FLAGS:=nonshared
include $(INCLUDE_DIR)/package.mk
define Package/zyxel-bootconfig-ipq807x
SECTION:=utils
CATEGORY:=Base system
TITLE:=Utility for handling Zyxel bootconfig settings on ipq807x devices
MAINTAINER:=Pascal Beleiu <pascal@beleiu.de>
DEPENDS:=@TARGET_qualcommax_ipq807x
endef
define Package/zyxel-bootconfig-ipq807x/description
This package contains an utility for handling Zyxel bootconfig settings on ipq807x devices.
endef
define Build/Prepare
endef
define Build/Configure
endef
define Build/Compile
endef
define Package/zyxel-bootconfig-ipq807x/install
$(INSTALL_DIR) $(1)/usr/bin $(1)/lib/preinit
$(INSTALL_BIN) ./files/zyxel-bootconfig-ipq807x $(1)/usr/bin/
$(CP) ./files/95_apply_bootconfig $(1)/lib/preinit/95_apply_bootconfig
endef
$(eval $(call BuildPackage,zyxel-bootconfig-ipq807x))

View File

@ -0,0 +1,12 @@
apply_bootconfig() {
. /lib/functions.sh
case $(board_name) in
zyxel,nwa210ax)
status="$(zyxel-bootconfig-ipq807x show | awk '/image0:/ {print $2}')"
[ "$status" != "selected" ] && zyxel-bootconfig-ipq807x --force set image0
;;
esac
}
[ "$INITRAMFS" = "1" ] || boot_hook_add preinit_main apply_bootconfig

View File

@ -0,0 +1,145 @@
#!/bin/sh
. /lib/functions.sh
BOOTCONFIG_MTD="$(find_mtd_part 0:bootconfig || true)"
BOOTCONFIG1_MTD="$(find_mtd_part 0:bootconfig1 || true)"
OFFSET=4
FORCE=0
usage() {
cat <<-EOF
Usage: $0 [--force] {show | set image0 | set image1}
Options:
--force Skip all confirmation prompts (non-interactive mode)
Commands:
show Display current and next boot image status
set image0 Set image0 as active for next boot
set image1 Set image1 as active for next boot
EOF
exit 1
}
if [ "${1:-}" = "--force" ]; then
FORCE=1
shift
fi
require_mtd() {
if [ -z "$BOOTCONFIG_MTD" ] || [ -z "$BOOTCONFIG1_MTD" ]; then
printf "ERROR: bootconfig MTD partitions not found.\n" >&2
exit 1
fi
}
read_status() {
local dev="$1"
hexdump -v -e '1/1 "%01x"' -n 1 -s "$OFFSET" "$dev" 2>/dev/null
}
write_status() {
local dev="$1" val="$2"
printf "\\x$val" | dd of="$dev" bs=1 seek=$OFFSET count=1 conv=notrunc 2>/dev/null
}
status_string() {
case "$1" in
0) printf "none" ;;
1) printf "backup" ;;
2) printf "selected" ;;
*) printf "unknown" ;;
esac
}
show_status() {
printf "Currently booted:\n image%s\n" \
"$(awk -F 'bootImage=' '{print $2}' /proc/cmdline | awk '{print $1}')"
STATUS0="$(read_status "$BOOTCONFIG_MTD")"
STATUS1="$(read_status "$BOOTCONFIG1_MTD")"
printf "At next reboot:\n"
printf " image0: %s\n" "$(status_string "$STATUS0")"
printf " image1: %s\n" "$(status_string "$STATUS1")"
}
check_selected() {
local old="$1"
local img="$2"
if [ "$old" = "0" ]; then
printf "\nWARNING: image%s is currently 'none'. Booting might fail.\n" "$img" >&2
if [ "$FORCE" -ne 1 ]; then
read -rp "Proceed anyway? (yes/no) " confirm >&2
[ "$confirm" != "yes" ] && return 1
fi
fi
printf "02"
}
check_backup() {
local old="$1"
local img="$2"
if [ "$old" = "0" ]; then
printf "\nINFO: Kept image%s as 'none'.\n" "$img" >&2
printf "00"
else
printf "01"
fi
}
set_image() {
local img="$1"
local new0 new1
printf "OLD CONFIGURATION\n"
show_status
if [ "$STATUS0" = "1" ] && [ "$STATUS1" = "1" ] && [ "$FORCE" -ne 1 ]; then
printf "WARNING: Both images are marked as selected!\n" >&2
read -rp "Proceed anyway? (yes/no) " confirm >&2
[ "$confirm" != "yes" ] && exit 1
fi
case "$img" in
0)
new0="$(check_selected "$STATUS0" "0")" || exit 1
new1="$(check_backup "$STATUS1" "1")"
;;
1)
new0="$(check_backup "$STATUS0" "0")"
new1="$(check_selected "$STATUS1" "1")" || exit 1
;;
*)
printf "ERROR: Invalid image selection.\n" >&2
exit 1
;;
esac
printf "\nUpdating image selection...\n"
write_status "$BOOTCONFIG_MTD" "$new0"
write_status "$BOOTCONFIG1_MTD" "$new1"
printf "Done.\n"
printf "\nNEW CONFIGURATION\n"
show_status
}
require_mtd
case "${1:-}" in
show)
show_status
;;
set)
[ -z "${2:-}" ] && usage
set_image "${2#image}"
;;
*)
usage
;;
esac

View File

@ -8,7 +8,7 @@
static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val)
{
@@ -1574,6 +1575,7 @@ static int spinand_probe(struct spi_mem
@@ -1575,6 +1576,7 @@ static int spinand_probe(struct spi_mem
if (ret)
return ret;
@ -16,7 +16,7 @@
ret = mtd_device_register(mtd, NULL, 0);
if (ret)
goto err_spinand_cleanup;
@@ -1581,6 +1583,7 @@ static int spinand_probe(struct spi_mem
@@ -1582,6 +1584,7 @@ static int spinand_probe(struct spi_mem
return 0;
err_spinand_cleanup:
@ -24,7 +24,7 @@
spinand_cleanup(spinand);
return ret;
@@ -1599,6 +1602,7 @@ static int spinand_remove(struct spi_mem
@@ -1600,6 +1603,7 @@ static int spinand_remove(struct spi_mem
if (ret)
return ret;

View File

@ -176,7 +176,6 @@ CONFIG_NVMEM=y
CONFIG_NVMEM_LAYOUTS=y
CONFIG_NVMEM_LAYOUT_U_BOOT_ENV=y
CONFIG_NVMEM_SYSFS=y
CONFIG_NVMEM_U_BOOT_ENV=y
CONFIG_OF=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_EARLY_FLATTREE=y

View File

@ -273,7 +273,7 @@ static int number(int num, int base, int size,
putc(tmp[i]);
while (size-- > 0)
putc(' ');;
putc(' ');
return 1;
}

View File

@ -166,7 +166,7 @@ int read_dataflash(unsigned long addr, unsigned long size, char *result)
AT91PS_DataFlash pFlash = &DataFlashInst;
pFlash = AT91F_DataflashSelect (pFlash, &AddrToRead);
if (pFlash == 0)
if (!pFlash)
return -1;
return (AT91F_DataFlashRead(pFlash, AddrToRead, size, result));

View File

@ -153,7 +153,6 @@ CONFIG_NVMEM=y
CONFIG_NVMEM_LAYOUTS=y
CONFIG_NVMEM_LAYOUT_U_BOOT_ENV=y
CONFIG_NVMEM_SYSFS=y
CONFIG_NVMEM_U_BOOT_ENV=y
CONFIG_OF=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_EARLY_FLATTREE=y

View File

@ -11,6 +11,7 @@
compatible = "sitecom,wlr-7100", "qca,ar9344";
aliases {
label-mac-device = &eth0;
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
@ -47,12 +48,6 @@
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
default-state = "on";
};
wlan2g {
label = "blue:wlan2g";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
};
@ -64,6 +59,9 @@
phy-mode = "rgmii";
phy-handle = <&phy0>;
nvmem-cells = <&macaddr_uboot_ethaddr 0>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
rgmii-gmac0 = <1>;
@ -95,8 +93,8 @@
wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0x0000 0 0 0 0>;
nvmem-cells = <&cal_art_5000>;
nvmem-cell-names = "calibration";
nvmem-cells = <&cal_art_5000>, <&macaddr_uboot_ethaddr 1>;
nvmem-cell-names = "calibration", "mac-address";
};
};
@ -127,6 +125,14 @@
label = "u-boot-env";
reg = <0x030000 0x010000>;
read-only;
nvmem-layout {
compatible = "u-boot,env";
macaddr_uboot_ethaddr: ethaddr {
#nvmem-cell-cells = <1>;
};
};
};
partition@40000 {
@ -157,6 +163,10 @@
#address-cells = <1>;
#size-cells = <1>;
cal_art_1000: calibration@1000 {
reg = <0x1000 0x440>;
};
cal_art_5000: calibration@5000 {
reg = <0x5000 0x844>;
};
@ -177,5 +187,11 @@
&wmac {
status = "okay";
qca,no-eeprom;
nvmem-cells = <&cal_art_1000>, <&macaddr_uboot_ethaddr 0>;
nvmem-cell-names = "calibration", "mac-address";
led {
led-sources = <14>;
led-active-low;
};
};

View File

@ -49,22 +49,6 @@
};
};
ath9k-leds {
compatible = "gpio-leds";
wifi_2g_green {
label = "green:wlan2g";
gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wifi_5g_green {
label = "green:wlan5g";
gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
keys {
compatible = "gpio-keys";
@ -97,22 +81,28 @@
&pcie0 {
status = "okay";
ath9k0: wifi@11,0 { /* 2.4 GHz */
wifi@11,0 { /* 2.4 GHz */
compatible = "pci168c,0029";
reg = <0x8800 0 0 0 0>;
nvmem-cells = <&macaddr_hwinfo_1c 1>;
nvmem-cell-names = "mac-address";
reg = <0x8800 0 0 0 0>;
#gpio-cells = <2>;
gpio-controller;
led {
led-sources = <5>;
led-active-low;
};
};
ath9k1: wifi@12,0 { /* 5 GHz */
wifi@12,0 { /* 5 GHz */
compatible = "pci168c,0029";
reg = <0x9000 0 0 0 0>;
nvmem-cells = <&macaddr_hwinfo_1c 2>;
nvmem-cell-names = "mac-address";
reg = <0x9000 0 0 0 0>;
#gpio-cells = <2>;
gpio-controller;
led {
led-sources = <5>;
led-active-low;
};
};
};

View File

@ -58,22 +58,6 @@
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan2g {
label = "blue:wlan2g";
gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wlan5g {
label = "blue:wlan5g";
gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
keys {
compatible = "gpio-keys";
@ -146,8 +130,11 @@
reg = <0x8800 0 0 0 0>;
nvmem-cells = <&macaddr_lan 0>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
#gpio-cells = <2>;
gpio-controller;
led {
led-sources = <5>;
led-active-low;
};
};
ath9k1: wifi@12,0 {
@ -155,8 +142,11 @@
reg = <0x9000 0 0 0 0>;
nvmem-cells = <&macaddr_wan 1>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
#gpio-cells = <2>;
gpio-controller;
led {
led-sources = <5>;
led-active-low;
};
};
};

View File

@ -27,22 +27,6 @@
};
};
ath9k-leds {
compatible = "gpio-leds";
wifi_2g_green {
label = "green:wlan2g";
gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wifi_5g_green {
label = "green:wlan5g";
gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
keys {
compatible = "gpio-keys";
@ -149,21 +133,27 @@
&pcie0 {
status = "okay";
ath9k0: wifi@11,0 {
wifi@11,0 {
compatible = "pci168c,0029";
reg = <0x8800 0 0 0 0>;
nvmem-cells = <&macaddr_art_120c>, <&calibration_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
#gpio-cells = <2>;
gpio-controller;
led {
led-sources = <5>;
led-active-low;
};
};
ath9k1: wifi@12,0 {
wifi@12,0 {
compatible = "pci168c,0029";
reg = <0x9000 0 0 0 0>;
nvmem-cells = <&macaddr_art_520c 1>, <&calibration_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
#gpio-cells = <2>;
gpio-controller;
led {
led-sources = <5>;
led-active-low;
};
};
};

View File

@ -90,17 +90,6 @@
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan {
function = LED_FUNCTION_WLAN;
color = <LED_COLOR_ID_GREEN>;
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&spi {
@ -160,13 +149,16 @@
&pcie {
status = "okay";
ath9k: wifi@0,0 {
wifi@0,0 {
compatible = "pci168c,002e";
reg = <0x0000 0 0 0 0>;
nvmem-cells = <&cal_art_1000>;
nvmem-cell-names = "calibration";
#gpio-cells = <2>;
gpio-controller;
led {
led-sources = <1>;
led-actice-low;
};
};
};

View File

@ -49,17 +49,6 @@
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan {
function = LED_FUNCTION_WLAN;
color = <LED_COLOR_ID_GREEN>;
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&spi {
@ -128,8 +117,11 @@
reg = <0x0000 0 0 0 0>;
nvmem-cells = <&macaddr_uboot_1fc00 0>, <&calibration_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
#gpio-cells = <2>;
gpio-controller;
led {
led-sources = <1>;
led-active-low;
};
};
};

Some files were not shown because too many files have changed in this diff Show More