From 0a7b7ef27cfc00521a0f99de073a7168f1b79e8f Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sat, 2 Nov 2024 20:22:35 +0000 Subject: [PATCH 01/48] kernel: modules: package driver for generic MIPI DBI TFT panels Package kmod-drm-panel-mipi-dbi as well as modules it depends on in order to support a wide range of MIPI DBI complaint SPI-connected TFT panels. See https://github.com/notro/panel-mipi-dbi/ for more information on how to use specific panels. Signed-off-by: Daniel Golle --- package/kernel/linux/modules/video.mk | 50 +++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk index 52fc55bbadd07b..8b4585a624e604 100644 --- a/package/kernel/linux/modules/video.mk +++ b/package/kernel/linux/modules/video.mk @@ -311,6 +311,38 @@ endef $(eval $(call KernelPackage,drm-exec)) +define KernelPackage/drm-dma-helper + SUBMENU:=$(VIDEO_MENU) + HIDDEN:=1 + TITLE:=GEM DMA helper functions + DEPENDS:=@DISPLAY_SUPPORT +kmod-drm-kms-helper + KCONFIG:=CONFIG_DRM_GEM_DMA_HELPER + FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_dma_helper.ko + AUTOLOAD:=$(call AutoProbe,drm_dma_helper) +endef + +define KernelPackage/drm-dma-helper/description + GEM DMA helper functions. +endef + +$(eval $(call KernelPackage,drm-dma-helper)) + +define KernelPackage/drm-mipi-dbi + SUBMENU:=$(VIDEO_MENU) + HIDDEN:=1 + TITLE:=MIPI DBI helpers + DEPENDS:=@DISPLAY_SUPPORT +kmod-backlight +kmod-drm-kms-helper + KCONFIG:=CONFIG_DRM_MIPI_DBI + FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_mipi_dbi.ko + AUTOLOAD:=$(call AutoProbe,drm_mipi_dbi) +endef + +define KernelPackage/drm-mipi-dbi/description + MIPI Display Bus Interface (DBI) LCD controller support. +endef + +$(eval $(call KernelPackage,drm-mipi-dbi)) + define KernelPackage/drm-ttm SUBMENU:=$(VIDEO_MENU) TITLE:=GPU memory management subsystem @@ -484,6 +516,24 @@ endef $(eval $(call KernelPackage,drm-imx-ldb)) +define KernelPackage/drm-panel-mipi-dbi + SUBMENU:=$(VIDEO_MENU) + TITLE:=Generic MIPI DBI LCD panel + DEPENDS:=+kmod-drm-mipi-dbi +kmod-drm-dma-helper + KCONFIG:=CONFIG_DRM_PANEL_MIPI_DBI \ + CONFIG_DRM_FBDEV_EMULATION=y \ + CONFIG_DRM_FBDEV_OVERALLOC=100 + FILES:= \ + $(LINUX_DIR)/drivers/gpu/drm/tiny/panel-mipi-dbi.ko + AUTOLOAD:=$(call AutoProbe,panel-mipi-dbi) +endef + +define KernelPackage/drm-panel-mipi-dbi/description + Generic driver for MIPI Alliance Display Bus Interface +endef + +$(eval $(call KernelPackage,drm-panel-mipi-dbi)) + define KernelPackage/drm-radeon SUBMENU:=$(VIDEO_MENU) TITLE:=Radeon DRM support From a3ec35cadb77265c0e00c8d3789734586a6f7111 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 8 Nov 2024 09:13:54 +0100 Subject: [PATCH 02/48] wifi-scripts: add free-form "tags" array option for wifi-iface This allows annotating wifi interfaces in the config in a way that can be queried through wifi status. One example use case is to mark wifi interfaces for use with specific services without having to explicitly reference the (often unnamed) sections from elsewhere. Signed-off-by: Felix Fietkau --- .../config/wifi-scripts/files/lib/netifd/netifd-wireless.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/package/network/config/wifi-scripts/files/lib/netifd/netifd-wireless.sh b/package/network/config/wifi-scripts/files/lib/netifd/netifd-wireless.sh index 5b852e0937631a..c3772bb44312d4 100644 --- a/package/network/config/wifi-scripts/files/lib/netifd/netifd-wireless.sh +++ b/package/network/config/wifi-scripts/files/lib/netifd/netifd-wireless.sh @@ -379,6 +379,7 @@ _wdev_common_device_config() { _wdev_common_iface_config() { config_add_string mode ssid encryption 'key:wpakey' config_add_boolean bridge_isolate + config_add_array tags } _wdev_common_vlan_config() { From 5f68e243338a653f44f079acc001de369aa42efa Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 8 Nov 2024 10:50:39 +0100 Subject: [PATCH 03/48] netifd: update to Git HEAD (2024-11-08) e93f6c3fc729 main: fix format string related warnings for log/debug printf functions 6ab44a2413f9 fix signed/unsigned comparison warnings 4fe997b61d7d system-dummy: add system_if_apply_settings_after_up 992d33cb42a6 ubus: add notifications on wireless device state changes 34eb11eb6f5c device/interface: add "tags" attribute from config to status dump Signed-off-by: Felix Fietkau --- package/network/config/netifd/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile index 771d7dadafd119..a4400c9516eca6 100644 --- a/package/network/config/netifd/Makefile +++ b/package/network/config/netifd/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git -PKG_SOURCE_DATE:=2024-10-06 -PKG_SOURCE_VERSION:=3c6265fdbd02ebd35fa3e7a58d6dfeed081a09d7 -PKG_MIRROR_HASH:=00b01243b99995dc52a047e5663cf5c7732f8defd6b726f73ac15e142b02b4fa +PKG_SOURCE_DATE:=2024-11-08 +PKG_SOURCE_VERSION:=34eb11eb6f5c62de480d6192f0ca840093127fee +PKG_MIRROR_HASH:=c4c2bc626426d2cd73c9ece54b22ada6ed6254afa992f51b8725312aca240cfd PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-2.0 From dc51c4355d48e91ed8fd06d70f0bf71b0b4bc4d2 Mon Sep 17 00:00:00 2001 From: Tim Lunn Date: Wed, 17 Apr 2024 10:49:49 +1000 Subject: [PATCH 04/48] rampis: mt7621: Convert Edgerouter-X dts to single kernel config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The OEM layout for Edgerouter X provides for two 3MB kernel slots. As of linux 6.1 the kernel images no longer fit and as such Edgerouter X builds have been disabled in Main. Revise the layout to make kernel1 slot 6MB and drop kernel2 slot. This patch applies the required changes to the dts file. Signed-off-by: Tim Lunn Tested-by: Mauri Sandberg Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar --- target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi b/target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi index 0902ad56b961ff..dc9908ba34c6a1 100644 --- a/target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi +++ b/target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi @@ -100,13 +100,8 @@ }; partition@140000 { - label = "kernel1"; - reg = <0x140000 0x300000>; - }; - - partition@440000 { - label = "kernel2"; - reg = <0x440000 0x300000>; + label = "kernel"; + reg = <0x140000 0x600000>; }; partition@740000 { From 5e355f1f9084c1b6de3151fbcde948d736292d6c Mon Sep 17 00:00:00 2001 From: Tim Lunn Date: Wed, 17 Apr 2024 12:51:22 +1000 Subject: [PATCH 05/48] rampis: mt7621: Edgerouter-X disable toggling of kernel slots MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Uboot selects which kernel slot to boot based on a flag in the factory mtd partition. Patch ubnt.sh to ensure always flash to kernel1 slot and update flag if required. Signed-off-by: Tim Lunn Tested-by: Mauri Sandberg Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar --- .../mt7621/base-files/lib/upgrade/ubnt.sh | 39 ++++--------------- 1 file changed, 7 insertions(+), 32 deletions(-) diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/ubnt.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/ubnt.sh index 748ec8e6286ee6..7e9d937d79f856 100644 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/ubnt.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/ubnt.sh @@ -8,32 +8,16 @@ UBNT_ERX_KERNEL_INDEX_OFFSET=160 -ubnt_get_target_kernel() { +ubnt_update_kernel_flag() { local factory_mtd=$1 - local current_kernel_index=$(hexdump -s $UBNT_ERX_KERNEL_INDEX_OFFSET -n 1 -e '/1 "%X "' ${factory_mtd}) + local kernel_index=$(hexdump -s $UBNT_ERX_KERNEL_INDEX_OFFSET -n 1 -e '/1 "%X "' ${factory_mtd}) - if [ $current_kernel_index == "0" ]; then - echo 'kernel2' - elif [ $current_kernel_index == "1" ]; then - echo 'kernel1' - fi -} - -ubnt_update_target_kernel() { - local factory_mtd=$1 - local kernel_part=$2 - - local new_kernel_index - if [ $kernel_part == "kernel1" ]; then - new_kernel_index="\x00" - elif [ $kernel_part == "kernel2" ]; then - new_kernel_index="\x01" - else - echo 'Unknown kernel image index' >&2 - return 1 + if [ $kernel_index = "0" ]; then + echo "Kernel flag already set to kernel slot 1" + return 0 fi - if ! (echo -e $new_kernel_index | dd of=${factory_mtd} bs=1 count=1 seek=$UBNT_ERX_KERNEL_INDEX_OFFSET); then + if ! (echo -e "\x00" | dd of=${factory_mtd} bs=1 count=1 seek=$UBNT_ERX_KERNEL_INDEX_OFFSET); then echo 'Failed to update kernel bootup index' >&2 return 1 fi @@ -46,15 +30,6 @@ platform_upgrade_ubnt_erx() { exit 1 fi - local kernel_part="$(ubnt_get_target_kernel ${factory_mtd})" - if [ -z "$kernel_part" ]; then - echo "cannot find factory partition" >&2 - exit 1 - fi - - # This is a global defined in nand.sh, sets partition kernel will be flashed into - CI_KERNPART=${kernel_part} - #Remove volume possibly left over from stock firmware local ubidev="$( nand_find_ubi "$CI_UBIPART" )" if [ -z "$ubidev" ]; then @@ -72,7 +47,7 @@ platform_upgrade_ubnt_erx() { [ -n "$troot_ubivol" ] && ubirmvol /dev/$ubidev -N troot || true fi - ubnt_update_target_kernel ${factory_mtd} ${kernel_part} || exit 1 + ubnt_update_kernel_flag ${factory_mtd} || exit 1 nand_do_upgrade "$1" } From 09a6bffb6e0a714f20d71043ae8382af4c5925b6 Mon Sep 17 00:00:00 2001 From: Tim Lunn Date: Wed, 17 Apr 2024 10:51:35 +1000 Subject: [PATCH 06/48] rampis: mt7621: resize Edgerouter-X kernel size to 6MB MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With the updated partition layout set in dts, set the KERNEL_SIZE parameter to 6MB allowing builds of Linux 6.1 and later to fit. Signed-off-by: Tim Lunn Tested-by: Mauri Sandberg Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar --- target/linux/ramips/image/mt7621.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 9654e237a8af22..27adb06bf7ddf2 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -2860,7 +2860,7 @@ define Device/ubnt_edgerouter_common DEVICE_VENDOR := Ubiquiti IMAGE_SIZE := 256768k FILESYSTEMS := squashfs - KERNEL_SIZE := 3145728 + KERNEL_SIZE := 6144k KERNEL_INITRAMFS := $$(KERNEL) | \ ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata From 70c371d91cda300d7c655f019cb2076d2dd537fb Mon Sep 17 00:00:00 2001 From: Tim Lunn Date: Thu, 18 Apr 2024 10:56:07 +1000 Subject: [PATCH 07/48] rampis: mt7621: Edgerouter-X set compat version message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refer user to the wiki page for instructions on how to migrate to the new kernel layout. Signed-off-by: Tim Lunn Tested-by: Mauri Sandberg Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar --- target/linux/ramips/image/mt7621.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 27adb06bf7ddf2..f4dacba8943fd3 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -2865,6 +2865,10 @@ define Device/ubnt_edgerouter_common ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata DEVICE_PACKAGES += -wpad-basic-mbedtls -uboot-envtools + DEVICE_COMPAT_VERSION := 2.0 + DEVICE_COMPAT_MESSAGE := Partition table has been changed due to kernel size restrictions. \ + Refer to the wiki page for instructions to migrate to the new layout: \ + https://openwrt.org/toh/ubiquiti/edgerouter_x_er-x_ka DEFAULT := n endef From 1bdbd511b27017157e92ffe128e66853d169dcbf Mon Sep 17 00:00:00 2001 From: Tim Lunn Date: Thu, 18 Apr 2024 10:57:17 +1000 Subject: [PATCH 08/48] rampis: mt7621: Edgerouter-X update compat version to 2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use compat version to indicate that the new layout for larger kernels is in place. This handled by the patch to ubnt.sh to always select the kernel1 slot for flashing and as active kernel slot. Signed-off-by: Tim Lunn Tested-by: Mauri Sandberg Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar --- .../ramips/mt7621/base-files/etc/board.d/05_compat-version | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/05_compat-version b/target/linux/ramips/mt7621/base-files/etc/board.d/05_compat-version index acc69021d09f71..156fb1735e318e 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/05_compat-version +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/05_compat-version @@ -8,6 +8,8 @@ board_config_update case "$(board_name)" in + ubnt,edgerouter-x|\ + ubnt,edgerouter-x-sfp|\ iptime,ax2004m) ucidef_set_compat_version "2.0" ;; From 71b4842e3bdaed91cd2daa4b28a208559c3de7c6 Mon Sep 17 00:00:00 2001 From: Tim Lunn Date: Thu, 18 Apr 2024 10:53:54 +1000 Subject: [PATCH 09/48] rampis: mt7621: Re-enable Edgerouter-X image builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With the new layout providing 6MB for kernel there will be no issues with kernel size affecting build of images. Re-enable image builds for Edgerouter-X and X-SFP. Signed-off-by: Tim Lunn Tested-by: Mauri Sandberg Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar --- target/linux/ramips/image/mt7621.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index f4dacba8943fd3..b9692c5f3ad94f 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -2869,7 +2869,6 @@ define Device/ubnt_edgerouter_common DEVICE_COMPAT_MESSAGE := Partition table has been changed due to kernel size restrictions. \ Refer to the wiki page for instructions to migrate to the new layout: \ https://openwrt.org/toh/ubiquiti/edgerouter_x_er-x_ka - DEFAULT := n endef define Device/ubnt_edgerouter-x From 4d90b79704efba57ab158c47ae6936ce4c1ef185 Mon Sep 17 00:00:00 2001 From: Tim Lunn Date: Fri, 19 Apr 2024 22:16:11 +1000 Subject: [PATCH 10/48] ramips: mt7621: Edgerouter-X drop factory image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Edgerouter-X factory images have not built automatically since 19.x due to images being over 3MB. While it was possible to build custom images with very stripped down config, this is no longer possible with the size increases of linux 6.1 and 6.6. Drop code for generation of factory images, if some dev later wishes to try custom images they can revert this commit. Signed-off-by: Tim Lunn Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar --- target/linux/ramips/image/mt7621.mk | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index b9692c5f3ad94f..bebe40c2161838 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -229,30 +229,6 @@ define Build/belkin-header mv $@.new $@ endef -define Build/ubnt-erx-factory-image - if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \ - echo '21001:7' > $(1).compat; \ - $(TAR) -cf $(1) --transform='s/^.*/compat/' $(1).compat; \ - \ - $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp/' $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \ - $(MKHASH) md5 $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) > $(1).md5; \ - $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp.md5/' $(1).md5; \ - \ - echo "dummy" > $(1).rootfs; \ - $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp/' $(1).rootfs; \ - \ - $(MKHASH) md5 $(1).rootfs > $(1).md5; \ - $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp.md5/' $(1).md5; \ - \ - echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > $(1).version; \ - $(TAR) -rf $(1) --transform='s/^.*/version.tmp/' $(1).version; \ - \ - $(CP) $(1) $(BIN_DIR)/; \ - else \ - echo "WARNING: initramfs kernel image too big, cannot generate factory image (actual $$(stat -c%s $@); max $(KERNEL_SIZE))" >&2; \ - fi -endef - define Build/zytrx-header $(eval board=$(word 1,$(1))) $(eval version=$(word 2,$(1))) @@ -2861,8 +2837,6 @@ define Device/ubnt_edgerouter_common IMAGE_SIZE := 256768k FILESYSTEMS := squashfs KERNEL_SIZE := 6144k - KERNEL_INITRAMFS := $$(KERNEL) | \ - ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata DEVICE_PACKAGES += -wpad-basic-mbedtls -uboot-envtools DEVICE_COMPAT_VERSION := 2.0 From 5b406bccaccadb494cad139b3f69e17ab62d3968 Mon Sep 17 00:00:00 2001 From: Tim Lunn Date: Fri, 26 Apr 2024 11:27:45 +1000 Subject: [PATCH 11/48] rampis: mt7621: Edgerouter-X adjust IMAGE_SIZE to reflect new kernel size MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IMAGE_SIZE was previously set to kernel1 + ubi size = 256768k, now kernel1 is 6MB adjust this value to add 3072k to total image size. Signed-off-by: Tim Lunn Link: https://github.com/openwrt/openwrt/pull/15194 Signed-off-by: Petr Štetiar --- target/linux/ramips/image/mt7621.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index bebe40c2161838..1dc1219d241e46 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -2834,7 +2834,7 @@ define Device/ubnt_edgerouter_common $(Device/dsa-migration) $(Device/uimage-lzma-loader) DEVICE_VENDOR := Ubiquiti - IMAGE_SIZE := 256768k + IMAGE_SIZE := 259840k FILESYSTEMS := squashfs KERNEL_SIZE := 6144k IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata From ca53f2d430ce1f9ff5a560291de1e93380963417 Mon Sep 17 00:00:00 2001 From: Andrew MacIntyre Date: Fri, 8 Nov 2024 23:44:13 +1100 Subject: [PATCH 12/48] vrx518_tc: allow larger MTU to support RFC4638 vrx518_tc currently sets the interface maximum MTU to the ethernet default of 1500 bytes by default via ether_setup() called from ptm_setup(). To support 1508 byte baby jumbo frames (RFC4638) for PPPoE connections over VDSL links as already supported by the VR9 ltq_ptm driver ([1], [2]) set the interface maximum MTU to MAX_MTU. MAX_MTU is defined in dcdp/inc/tc_common.h to 2002 bytes and this value is used in ptm_change_mtu() and elsewhere as the maximum MTU, however this is short circuited by checks against the interface maximum MTU. [1]: https://forum.openwrt.org/t/fritzbox-7530-and-rfc4638-baby-jumbo-frames/181327 [2]: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=8a2a20e71e2909f84dab47e51dfda9e292a6c1ae Signed-off-by: Andrew MacIntyre Link: https://github.com/openwrt/openwrt/pull/16856 Signed-off-by: Robert Marko --- ...-allow-larger-mtu-to-support-rfc4638.patch | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 package/kernel/lantiq/vrx518_tc/patches/206-dcdp-ptm_tc-allow-larger-mtu-to-support-rfc4638.patch diff --git a/package/kernel/lantiq/vrx518_tc/patches/206-dcdp-ptm_tc-allow-larger-mtu-to-support-rfc4638.patch b/package/kernel/lantiq/vrx518_tc/patches/206-dcdp-ptm_tc-allow-larger-mtu-to-support-rfc4638.patch new file mode 100644 index 00000000000000..35a709e9fa1ee2 --- /dev/null +++ b/package/kernel/lantiq/vrx518_tc/patches/206-dcdp-ptm_tc-allow-larger-mtu-to-support-rfc4638.patch @@ -0,0 +1,34 @@ +From 3983dc1674fec43beb8ce9d9bfdd6302fef86eae Mon Sep 17 00:00:00 2001 +From: Andrew MacIntyre +Date: Mon, 4 Nov 2024 22:41:25 +1100 +Subject: [PATCH] vrx518_tc: allow larger MTU to support RFC4638 + +vrx518_tc currently sets the interface maximum MTU to the ethernet default +of 1500 bytes by default via ether_setup() called from ptm_setup(). + +To support 1508 byte baby jumbo frames (RFC4638) for PPPoE connections +over VDSL links as already supported by the VR9 ltq_ptm driver ([1], [2]) +set the interface maximum MTU to MAX_MTU. + +MAX_MTU is defined in dcdp/inc/tc_common.h to 2002 bytes and this value is +used in ptm_change_mtu() and elsewhere as the maximum MTU, however this is +short circuited by checks against the interface maximum MTU. + +[1]: https://forum.openwrt.org/t/fritzbox-7530-and-rfc4638-baby-jumbo-frames/181327 +[2]: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=8a2a20e71e2909f84dab47e51dfda9e292a6c1ae + +Signed-off-by: Andrew MacIntyre +--- + dcdp/ptm_tc.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/dcdp/ptm_tc.c 2023-12-17 16:11:22.503500398 +1100 ++++ b/dcdp/ptm_tc.c 2024-01-26 16:48:49.881623474 +1100 +@@ -657,6 +657,7 @@ static void ptm_setup(struct net_device + ether_setup(dev); + dev->watchdog_timeo = 10 * HZ; + dev->netdev_ops = &g_ptm_netdev_ops; ++ dev->max_mtu = MAX_MTU; + } + + static int ptm_dev_init(struct tc_priv *tc_priv, u32 id, From a7abc7ec3b61be553f33c49e5acc90a4d539d992 Mon Sep 17 00:00:00 2001 From: David Lutz Date: Tue, 5 Nov 2024 10:55:43 +0100 Subject: [PATCH 13/48] ath79: Add support for Sophos AP15C The Sophos AP15C uses the same hardware as the AP15, but has a reset button. Based on: commit 6f1efb289837 ("ath79: add support for Sophos AP100/AP55 family") author Andrew Powers-Holmes Fri, 3 Sep 2021 15:53:57 +0200 (23:53 +1000) committer Hauke Mehrtens Sat, 16 Apr 2022 16:59:29 +0200 (16:59 +0200) Unique to AP15C: - Reset button - External RJ45 serial console port Flashing instructions: This firmware can be flashed either via a compatible Sophos SG or XG firewall appliance, which does not require disassembling the device, or via the U-Boot console available on the internal UART header. To flash via XG appliance: - Register on Sophos' website for a no-cost Home Use XG firewall license - Download and install the XG software on a compatible PC or virtual machine, complete initial appliance setup, and enable SSH console access - Connect the target AP device to the XG appliance's LAN interface - Approve the AP from the XG Web UI and wait until it shows as Active (this can take 3-5 minutes) - Connect to the XG appliance over SSH and access the Advanced Console (Menu option 5, then menu option 3) - Run `sudo awetool` and select the menu option to connect to an AP via SSH. When prompted to enable SSH on the target AP, select Yes. - Wait 2-3 minutes, then select the AP from the awetool menu again. This will connect you to a root shell on the target AP. - Copy the firmware to /tmp/openwrt.bin on the target AP via SCP/TFTP/etc - Run `mtd -r write /tmp/openwrt.bin astaro_image` - When complete, the access point will reboot to OpenWRT. To flash via U-Boot serial console: - Configure a TFTP server on your PC, and set IP address 192.168.99.8 with netmask 255.255.255.0 - Copy the firmware .bin to the TFTP server and rename to 'uImage_AP15C' - Open the target AP's enclosure and locate the 4-pin 3.3V UART header [4] - Connect the AP ethernet to your PC's ethernet port - Connect a terminal to the UART at 115200 8/N/1 as usual - Power on the AP and press a key to cancel autoboot when prompted - Run the following commands at the U-Boot console: - `tftpboot` - `cp.b $fileaddr 0x9f070000 $filesize` - `boot` - The access point will boot to OpenWRT. Signed-off-by: David Lutz --- package/boot/uboot-envtools/files/ath79 | 1 + .../linux/ath79/dts/qca9557_sophos_ap15c.dts | 159 ++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 1 + target/linux/ath79/image/generic.mk | 8 + 4 files changed, 169 insertions(+) create mode 100644 target/linux/ath79/dts/qca9557_sophos_ap15c.dts diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79 index 1d9d3bcfaa1fc5..c6d23ce73dcee1 100644 --- a/package/boot/uboot-envtools/files/ath79 +++ b/package/boot/uboot-envtools/files/ath79 @@ -163,6 +163,7 @@ ruckus,zf7372) ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x40000" "0x10000" ;; sophos,ap15|\ +sophos,ap15c|\ sophos,ap55|\ sophos,ap55c|\ sophos,ap100|\ diff --git a/target/linux/ath79/dts/qca9557_sophos_ap15c.dts b/target/linux/ath79/dts/qca9557_sophos_ap15c.dts new file mode 100644 index 00000000000000..68d02e97a54a14 --- /dev/null +++ b/target/linux/ath79/dts/qca9557_sophos_ap15c.dts @@ -0,0 +1,159 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca955x.dtsi" + +#include +#include +#include + +/ { + compatible = "sophos,ap15c", "qca,qca9557"; + model = "Sophos AP15C"; + + aliases { + led-boot = &led_status_green; + led-failsafe = &led_status_yellow; + led-running = &led_status_green; + led-upgrade = &led_status_yellow; + label-mac-device = ð0; + }; + + chosen { + bootargs = "console=ttyS0,115200n8"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_status_green: status_green { + function = LED_FUNCTION_STATUS; + color = ; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + led_status_yellow: status_yellow { + function = LED_FUNCTION_STATUS; + color = ; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&spi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x000000 0x040000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x040000 0x010000>; + }; + + partition@50000 { + label = "art"; + reg = <0x050000 0x010000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + cal_art_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; + }; + }; + + partition@60000 { + label = "config"; + reg = <0x060000 0x010000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_201a: macaddr@201a { + reg = <0x201a 0x6>; + }; + }; + }; + + partition@70000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x070000 0xf90000>; + }; + }; + }; +}; + +&mdio0 { + status = "okay"; + + phy-mask = <0x10>; + + phy4: ethernet-phy@4 { + reg = <4>; + eee-broken-100tx; + eee-broken-1000t; + }; +}; + +ð0 { + status = "okay"; + + pll-data = <0xa6000000 0xa0000101 0xa0001313>; + + nvmem-cells = <&macaddr_config_201a>; + nvmem-cell-names = "mac-address"; + + phy-mode = "rgmii-id"; + phy-handle = <&phy4>; + + gmac_config: gmac-config { + device = <&gmac>; + + rgmii-enabled = <1>; + + rxdv-delay = <3>; + rxd-delay = <3>; + txen-delay = <3>; + txd-delay = <3>; + }; +}; + +&wmac { + status = "okay"; + + nvmem-cells = <&cal_art_1000>; + nvmem-cell-names = "calibration"; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 8474c1c4c2df00..8f79a3fad8114d 100644 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -76,6 +76,7 @@ ath79_setup_interfaces() ruckus,zf7351|\ siemens,ws-ap3610|\ sophos,ap15|\ + sophos,ap15c|\ sophos,ap55|\ sophos,ap55c|\ sophos,ap100|\ diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index c075f050db2298..0173f5cb16180d 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -2972,6 +2972,14 @@ define Device/sophos_ap15 endef TARGET_DEVICES += sophos_ap15 +define Device/sophos_ap15c + SOC := qca9557 + DEVICE_VENDOR := Sophos + DEVICE_MODEL := AP15C + IMAGE_SIZE := 15936k +endef +TARGET_DEVICES += sophos_ap15c + define Device/sophos_ap55 SOC := qca9558 DEVICE_VENDOR := Sophos From 15de218a566c0563adcc184c5aa83b71b24e8cde Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sat, 9 Nov 2024 13:06:02 +0000 Subject: [PATCH 14/48] Revert "build: set PATH for post-install scripts" This reverts commit 21b5ac862eed7ac373361c914cf6098cab04f503. The approach is flawed and cannot work in the ImageBuilder. Using /etc/uci-defaults/ which is run on the target is the only possible way. Signed-off-by: Daniel Golle --- include/rootfs.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/rootfs.mk b/include/rootfs.mk index ff7fd185fe2318..e6cadc531df754 100644 --- a/include/rootfs.mk +++ b/include/rootfs.mk @@ -84,7 +84,7 @@ define prepare_rootfs IPKG_POSTINST_PATH=./usr/lib/opkg/info/*.postinst; \ fi; \ for script in $$IPKG_POSTINST_PATH; do \ - PATH="$(TARGET_PATH_PKG)" IPKG_INSTROOT=$(1) $$(command -v bash) $$script; \ + IPKG_INSTROOT=$(1) $$(command -v bash) $$script; \ ret=$$?; \ if [ $$ret -ne 0 ]; then \ echo "postinst script $$script has failed with exit code $$ret" >&2; \ From ad1c1b7047b2e716b75031e26af544532f429f10 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Fri, 1 Nov 2024 12:33:49 +0100 Subject: [PATCH 15/48] imagebuilder: fix APK for packages dir and cache This commit solves multiple issues. First of just install the three special packages base-files, libc and kernel directly from the index. In upstream indexes, those will never appear to prevent accidental upgrades may breaking the system. Next, enable caching for the ImageBuilder, which speeds up consecutive builds from ~33 seconds to ~5 seconds. Using cache however makes APK create the folder `/var/cache/apk/` which conflicts with the base-files installation, which ships a symlink from `/var` to `/tmp`, so specify `--no-cache` for the rootfs initialization. Lastly, drop the use of `apk update` since APK automatically does that. Signed-off-by: Paul Spooren --- include/rootfs.mk | 1 - package/Makefile | 4 ++-- target/imagebuilder/Makefile | 12 +++++++++--- target/imagebuilder/files/Makefile | 4 ---- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/include/rootfs.mk b/include/rootfs.mk index e6cadc531df754..26f249d8188378 100644 --- a/include/rootfs.mk +++ b/include/rootfs.mk @@ -48,7 +48,6 @@ apk = \ $(FAKEROOT) $(STAGING_DIR_HOST)/bin/apk \ --root $(1) \ --keys-dir $(if $(APK_KEYS),$(APK_KEYS),$(TOPDIR)) \ - --no-cache \ --no-logfile \ --preserve-env diff --git a/package/Makefile b/package/Makefile index abe76a619fac4a..d78200fd809de2 100644 --- a/package/Makefile +++ b/package/Makefile @@ -98,7 +98,7 @@ $(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(curdir)/merge-index ifneq ($(CONFIG_USE_APK),) $(file >$(TMP_DIR)/apk_install_list,\ $(foreach pkg,$(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null),$(pkg)$(call GetABISuffix,$(pkg)))) - $(call apk,$(TARGET_DIR)) add --initdb --no-scripts --arch $(ARCH_PACKAGES) \ + $(call apk,$(TARGET_DIR)) add --no-cache --initdb --no-scripts --arch $(ARCH_PACKAGES) \ --repositories-file /dev/zero --repository file://$(PACKAGE_DIR_ALL)/packages.adb \ $$(cat $(TMP_DIR)/apk_install_list) else @@ -130,7 +130,7 @@ ifneq ($(CONFIG_USE_APK),) --keys-dir $(TOPDIR) \ --sign $(BUILD_KEY_APK_SEC) \ --output packages.adb \ - $$(ls *.apk | grep -v 'kernel\|libc'); \ + $$(ls *.apk | grep -v 'base-files\|kernel\|libc'); \ done else @for d in $(PACKAGE_SUBDIRS); do ( \ diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index bdbbb45cb1f7e3..ff14a43bed3b32 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -71,15 +71,21 @@ endif ifeq ($(CONFIG_BUILDBOT),) ifeq ($(CONFIG_IB_STANDALONE),) $(FIND) $(call FeedPackageDir,libc) -type f \ - \( -name 'libc*.$(PACKAGE_SUFFIX)' -or -name 'kernel*.$(PACKAGE_SUFFIX)' -or -name 'kmod-*.$(PACKAGE_SUFFIX)' \) \ - -exec $(CP) -t $(PKG_BUILD_DIR)/packages {} + + \( \ + -name 'base-files*.$(PACKAGE_SUFFIX)' -or \ + -name 'libc*.$(PACKAGE_SUFFIX)' -or \ + -name 'kernel*.$(PACKAGE_SUFFIX)' \) \ + -exec $(CP) -t $(PKG_BUILD_DIR)/packages {} + else $(FIND) $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.$(PACKAGE_SUFFIX)' \ -exec $(CP) -t $(PKG_BUILD_DIR)/packages/ {} + endif else $(FIND) $(call FeedPackageDir,libc) -type f \ - \( -name 'libc*.$(PACKAGE_SUFFIX)' -or -name 'kernel*.$(PACKAGE_SUFFIX)' \) \ + \( \ + -name 'base-files*.$(PACKAGE_SUFFIX)' -or \ + -name 'libc*.$(PACKAGE_SUFFIX)' -or \ + -name 'kernel*.$(PACKAGE_SUFFIX)' \) \ -exec $(CP) -t $(IB_LDIR)/ {} + endif diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile index f46b61b7870670..1ac05baa50b8f1 100644 --- a/target/imagebuilder/files/Makefile +++ b/target/imagebuilder/files/Makefile @@ -185,7 +185,6 @@ else (cd $(PACKAGE_DIR); $(APK) mkndx \ $(if $(CONFIG_SIGNATURE_CHECK), --keys-dir $(APK_KEYS) --sign $(BUILD_KEY_APK_SEC)) \ --allow-untrusted --output packages.adb *.apk) >/dev/null 2>/dev/null || true - $(APK) update >&2 || true endif package_reload: @@ -208,7 +207,6 @@ else $(MAKE) package_index; \ else \ mkdir -p $(TARGET_DIR)/tmp; \ - $(APK) update >&2 || true; \ fi endif @@ -228,8 +226,6 @@ ifeq ($(CONFIG_USE_APK),) $(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/kernel_*.ipk $(PACKAGE_DIR)/kernel_*.ipk)) $(OPKG) install $(BUILD_PACKAGES) else - $(APK) add --no-scripts $(firstword $(wildcard $(LINUX_DIR)/libc-*.apk $(PACKAGE_DIR)/libc-*.apk)) - $(APK) add --no-scripts $(firstword $(wildcard $(LINUX_DIR)/kernel-*.apk $(PACKAGE_DIR)/kernel-*.apk)) $(APK) add --no-scripts $(BUILD_PACKAGES) endif From 451e2ce006eaba5341d7e33ac587719c3bf18701 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Wed, 6 Nov 2024 16:32:03 +0100 Subject: [PATCH 16/48] imagebuilder: fix package inclusion and APK index We need to exclude packages from the APK index which must not be upgraded. To do so, the packages `libc`, `kernel` and `base-files` are excluded to APK never suggestes them as upgradable. The previous logic would however match packages like `libcomerr0`, causing build failures. Make the copying and excluding logic more precise by adding a single dash. Signed-off-by: Paul Spooren --- package/Makefile | 2 +- target/imagebuilder/Makefile | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package/Makefile b/package/Makefile index d78200fd809de2..b60ed10fb6d87d 100644 --- a/package/Makefile +++ b/package/Makefile @@ -130,7 +130,7 @@ ifneq ($(CONFIG_USE_APK),) --keys-dir $(TOPDIR) \ --sign $(BUILD_KEY_APK_SEC) \ --output packages.adb \ - $$(ls *.apk | grep -v 'base-files\|kernel\|libc'); \ + $$(ls *.apk | grep -v 'base-files-\|kernel-\|libc-'); \ done else @for d in $(PACKAGE_SUBDIRS); do ( \ diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index ff14a43bed3b32..d455cbcd7aa303 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -72,9 +72,9 @@ ifeq ($(CONFIG_BUILDBOT),) ifeq ($(CONFIG_IB_STANDALONE),) $(FIND) $(call FeedPackageDir,libc) -type f \ \( \ - -name 'base-files*.$(PACKAGE_SUFFIX)' -or \ - -name 'libc*.$(PACKAGE_SUFFIX)' -or \ - -name 'kernel*.$(PACKAGE_SUFFIX)' \) \ + -name 'base-files-*.$(PACKAGE_SUFFIX)' -or \ + -name 'libc-*.$(PACKAGE_SUFFIX)' -or \ + -name 'kernel-*.$(PACKAGE_SUFFIX)' \) \ -exec $(CP) -t $(PKG_BUILD_DIR)/packages {} + else $(FIND) $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.$(PACKAGE_SUFFIX)' \ @@ -83,9 +83,9 @@ ifeq ($(CONFIG_BUILDBOT),) else $(FIND) $(call FeedPackageDir,libc) -type f \ \( \ - -name 'base-files*.$(PACKAGE_SUFFIX)' -or \ - -name 'libc*.$(PACKAGE_SUFFIX)' -or \ - -name 'kernel*.$(PACKAGE_SUFFIX)' \) \ + -name 'base-files-*.$(PACKAGE_SUFFIX)' -or \ + -name 'libc-*.$(PACKAGE_SUFFIX)' -or \ + -name 'kernel-*.$(PACKAGE_SUFFIX)' \) \ -exec $(CP) -t $(IB_LDIR)/ {} + endif From 15b7994c0198bef0b59bc78880529017387a239d Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Wed, 6 Nov 2024 16:34:32 +0100 Subject: [PATCH 17/48] imagebuilder: cleanup package inclusion Previously three different ways to include packages in an ImageBuilder existed: * buildbot: include libc, kernel (and base-files) in $(IB_LDIR) * not buildbot, standalone: include all packages in ./packages/ * not buildbot, not standalone: include libc, kernel (and base-files) in ./packages/ First of, the separation between *buildbot* and *not buildbot, not standalone* is not required, we can just always copy packages to ./packages instead of ever using the special place $(IB_LDIR). Doing so drops the need to handle the extra case and also allows to clean up the OPKG package installation, which no longer requries the `firstword` logic, things are now always at ./packages. Signed-off-by: Paul Spooren --- target/imagebuilder/Makefile | 13 ++----------- target/imagebuilder/files/Makefile | 4 ++-- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index d455cbcd7aa303..19f21472bdc275 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -68,25 +68,16 @@ else echo 'src imagebuilder file:packages' >> $(PKG_BUILD_DIR)/repositories.conf endif -ifeq ($(CONFIG_BUILDBOT),) - ifeq ($(CONFIG_IB_STANDALONE),) +ifeq ($(CONFIG_IB_STANDALONE),) $(FIND) $(call FeedPackageDir,libc) -type f \ \( \ -name 'base-files-*.$(PACKAGE_SUFFIX)' -or \ -name 'libc-*.$(PACKAGE_SUFFIX)' -or \ -name 'kernel-*.$(PACKAGE_SUFFIX)' \) \ -exec $(CP) -t $(PKG_BUILD_DIR)/packages {} + - else +else $(FIND) $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.$(PACKAGE_SUFFIX)' \ -exec $(CP) -t $(PKG_BUILD_DIR)/packages/ {} + - endif -else - $(FIND) $(call FeedPackageDir,libc) -type f \ - \( \ - -name 'base-files-*.$(PACKAGE_SUFFIX)' -or \ - -name 'libc-*.$(PACKAGE_SUFFIX)' -or \ - -name 'kernel-*.$(PACKAGE_SUFFIX)' \) \ - -exec $(CP) -t $(IB_LDIR)/ {} + endif ifneq ($(CONFIG_SIGNATURE_CHECK),) diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile index 1ac05baa50b8f1..914609ada15f6a 100644 --- a/target/imagebuilder/files/Makefile +++ b/target/imagebuilder/files/Makefile @@ -222,8 +222,8 @@ package_install: FORCE @echo @echo Installing packages... ifeq ($(CONFIG_USE_APK),) - $(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/libc_*.ipk $(PACKAGE_DIR)/libc_*.ipk)) - $(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/kernel_*.ipk $(PACKAGE_DIR)/kernel_*.ipk)) + $(OPKG) install $(wildcard $(PACKAGE_DIR)/libc_*.ipk) + $(OPKG) install $(wildcard $(PACKAGE_DIR)/kernel_*.ipk) $(OPKG) install $(BUILD_PACKAGES) else $(APK) add --no-scripts $(BUILD_PACKAGES) From 12a73078692da9d6b2e599d4cd4eb8a18daf3c63 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Fri, 8 Nov 2024 10:37:16 +0100 Subject: [PATCH 18/48] imagebuilder: init APK dirs every time The `--initdb` command creates basic folders required by APK, previoiusly it would only run a single time when package_index is actually called. Since the function isn't called if nothing changes, `--initdb` doesn't initialize the rootfs again. This commit moves it to package_reload, which runs every time. Signed-off-by: Paul Spooren --- target/imagebuilder/files/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile index 914609ada15f6a..72b36b0862389d 100644 --- a/target/imagebuilder/files/Makefile +++ b/target/imagebuilder/files/Makefile @@ -181,7 +181,6 @@ ifeq ($(CONFIG_USE_APK),) ) >/dev/null 2>/dev/null $(OPKG) update >&2 || true else - $(APK) add --initdb (cd $(PACKAGE_DIR); $(APK) mkndx \ $(if $(CONFIG_SIGNATURE_CHECK), --keys-dir $(APK_KEYS) --sign $(BUILD_KEY_APK_SEC)) \ --allow-untrusted --output packages.adb *.apk) >/dev/null 2>/dev/null || true @@ -200,6 +199,7 @@ ifeq ($(CONFIG_USE_APK),) $(OPKG) update >&2 || true; \ fi else + $(APK) add --initdb if [ -d "$(PACKAGE_DIR)" ] && ( \ [ ! -f "$(PACKAGE_DIR)/packages.adb" ] || \ [ "`find $(PACKAGE_DIR) -cnewer $(PACKAGE_DIR)/packages.adb`" ] ); then \ From a7bc6bf7dba98c77724cb8284d21a9c77c263d56 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 6 Nov 2024 13:23:35 -0800 Subject: [PATCH 19/48] ramips: mt7621: add missing regulator-boot-on What seems to be happening is that the kernel requests an ACTIVE_LOW gpio initially and sets it to high later based on gpios in dts. This seems to break some devices where the bootloader sets it to high. Fixes: e612900ae0 ("ramips: mt7621: convert usb power to regulators") Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/16877 Signed-off-by: Robert Marko --- target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts | 1 + target/linux/ramips/dts/mt7621_humax_e10.dts | 1 + target/linux/ramips/dts/mt7621_mikrotik_routerboard-7xx.dtsi | 1 + target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts | 1 + target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts | 1 + 5 files changed, 5 insertions(+) diff --git a/target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts b/target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts index 00ff80e3ca9fd0..cba4ceae72810a 100644 --- a/target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts +++ b/target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts @@ -87,6 +87,7 @@ regulator-max-microvolt = <5000000>; gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; enable-active-high; + regulator-boot-on; }; }; diff --git a/target/linux/ramips/dts/mt7621_humax_e10.dts b/target/linux/ramips/dts/mt7621_humax_e10.dts index 7ba772d5e50ad2..fd66578eaf0953 100644 --- a/target/linux/ramips/dts/mt7621_humax_e10.dts +++ b/target/linux/ramips/dts/mt7621_humax_e10.dts @@ -63,6 +63,7 @@ regulator-max-microvolt = <5000000>; gpios = <&gpio 8 GPIO_ACTIVE_HIGH>; enable-active-high; + regulator-boot-on; }; }; diff --git a/target/linux/ramips/dts/mt7621_mikrotik_routerboard-7xx.dtsi b/target/linux/ramips/dts/mt7621_mikrotik_routerboard-7xx.dtsi index 4a3de8cfba7b88..7429ce673dd2f8 100644 --- a/target/linux/ramips/dts/mt7621_mikrotik_routerboard-7xx.dtsi +++ b/target/linux/ramips/dts/mt7621_mikrotik_routerboard-7xx.dtsi @@ -22,6 +22,7 @@ regulator-max-microvolt = <5000000>; gpios = <&gpio 12 GPIO_ACTIVE_HIGH>; enable-active-high; + regulator-boot-on; }; }; diff --git a/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts b/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts index 88894325b5ca62..2a556190d0b068 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts @@ -103,6 +103,7 @@ regulator-max-microvolt = <5000000>; gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; enable-active-high; + regulator-boot-on; }; }; diff --git a/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts b/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts index e6ff5ecf6aed53..2d06b949f2f027 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts @@ -101,6 +101,7 @@ regulator-max-microvolt = <5000000>; gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; enable-active-high; + regulator-boot-on; }; }; From b18ed663a52fa9f870c134bb2c032768894d5987 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Sun, 10 Nov 2024 02:09:43 +0100 Subject: [PATCH 20/48] apk: Bump to version 2024-11-08 Bump APK to version 2024-11-08, multiple fixup and pending arch patch for ARM Big Endian merged upstream. Link: https://github.com/openwrt/openwrt/pull/16759 Link: https://github.com/openwrt/openwrt/pull/16759 Signed-off-by: Christian Marangi --- package/system/apk/Makefile | 6 ++-- ...openwrt-move-layer-db-to-temp-folder.patch | 2 +- ...-add-default-arch-for-ARM-Big-Endian.patch | 29 ------------------- 3 files changed, 4 insertions(+), 33 deletions(-) delete mode 100644 package/system/apk/patches/0010-apk_defines-add-default-arch-for-ARM-Big-Endian.patch diff --git a/package/system/apk/Makefile b/package/system/apk/Makefile index 3e2066e2698f33..cd1b56caf6153c 100644 --- a/package/system/apk/Makefile +++ b/package/system/apk/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_URL=https://gitlab.alpinelinux.org/alpine/apk-tools.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2024-10-28 -PKG_SOURCE_VERSION:=a1ad8568a1378d71c1f6354c428ebb1baa46fa05 -PKG_MIRROR_HASH:=68747e1253776dc00286c01e408f4c4e1eb61acf56009b7ecb3de4d49b34e567 +PKG_SOURCE_DATE:=2024-11-08 +PKG_SOURCE_VERSION:=d9c24813d983df9524fa7a2b78fc3132c159a20f +PKG_MIRROR_HASH:=3d1a79c08ef8c8b9404f9287d9acda6468b8b1c2a99dd384287f522ed3b1a047 PKG_VERSION=3.0.0_pre$(subst -,,$(PKG_SOURCE_DATE)) diff --git a/package/system/apk/patches/0001-openwrt-move-layer-db-to-temp-folder.patch b/package/system/apk/patches/0001-openwrt-move-layer-db-to-temp-folder.patch index dbc4945d9e6572..850051221221e7 100644 --- a/package/system/apk/patches/0001-openwrt-move-layer-db-to-temp-folder.patch +++ b/package/system/apk/patches/0001-openwrt-move-layer-db-to-temp-folder.patch @@ -10,7 +10,7 @@ Signed-off-by: Paul Spooren --- a/src/database.c +++ b/src/database.c -@@ -1626,7 +1626,7 @@ const char *apk_db_layer_name(int layer) +@@ -1627,7 +1627,7 @@ const char *apk_db_layer_name(int layer) { switch (layer) { case APK_DB_LAYER_ROOT: return "lib/apk/db"; diff --git a/package/system/apk/patches/0010-apk_defines-add-default-arch-for-ARM-Big-Endian.patch b/package/system/apk/patches/0010-apk_defines-add-default-arch-for-ARM-Big-Endian.patch deleted file mode 100644 index 1d031e77837336..00000000000000 --- a/package/system/apk/patches/0010-apk_defines-add-default-arch-for-ARM-Big-Endian.patch +++ /dev/null @@ -1,29 +0,0 @@ -From ffcda7769279e75993110766555eea6d3c6baae7 Mon Sep 17 00:00:00 2001 -From: Christian Marangi -Date: Fri, 25 Oct 2024 01:09:41 +0200 -Subject: [PATCH] apk_defines: add default arch for ARM Big-Endian - -Add default arch for ARM Big-Endiang named armeb. One example of such -target are devices based on the Intel XScale IXP4xx SoC. - -Signed-off-by: Christian Marangi ---- - src/apk_defines.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/apk_defines.h b/src/apk_defines.h -index c92dacd..06351df 100644 ---- a/src/apk_defines.h -+++ b/src/apk_defines.h -@@ -126,6 +126,8 @@ static inline int IS_ERR(const void *ptr) { return (unsigned long)ptr >= (unsign - #define APK_DEFAULT_BASE_ARCH "armhf" - #elif defined(__arm__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - #define APK_DEFAULT_BASE_ARCH "armel" -+#elif defined(__arm__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ -+#define APK_DEFAULT_BASE_ARCH "armeb" - #elif defined(__aarch64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - #define APK_DEFAULT_BASE_ARCH "aarch64" - #elif defined(__s390x__) --- -2.45.2 - From 79f06827ff7145b850e072c0ed26802573a2199f Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Wed, 23 Oct 2024 01:13:15 +0200 Subject: [PATCH 21/48] apk: Implement apk list --full patch Implement apk list --full patch to mimik opkg package info. Link: https://github.com/openwrt/openwrt/pull/16759 Link: https://github.com/openwrt/openwrt/pull/16759 Signed-off-by: Christian Marangi --- .../0010-app_list-add-full-print.patch | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 package/system/apk/patches/0010-app_list-add-full-print.patch diff --git a/package/system/apk/patches/0010-app_list-add-full-print.patch b/package/system/apk/patches/0010-app_list-add-full-print.patch new file mode 100644 index 00000000000000..d0b2b7243d62de --- /dev/null +++ b/package/system/apk/patches/0010-app_list-add-full-print.patch @@ -0,0 +1,91 @@ +From f74ca42e0fa5bf131644a46d8259edd493bf072c Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Wed, 23 Oct 2024 01:11:01 +0200 +Subject: [PATCH] app_list: add full print + +Add full print variant to dump info about each package. + +Signed-off-by: Christian Marangi +--- + src/app_list.c | 42 +++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 41 insertions(+), 1 deletion(-) + +--- a/src/app_list.c ++++ b/src/app_list.c +@@ -27,6 +27,7 @@ struct list_ctx { + unsigned int match_depends : 1; + unsigned int match_providers : 1; + unsigned int manifest : 1; ++ unsigned int full : 1; + + struct apk_string_array *filters; + }; +@@ -118,6 +119,40 @@ static void print_manifest(const struct + printf("%s " BLOB_FMT "\n", pkg->name->name, BLOB_PRINTF(*pkg->version)); + } + ++static void print_full(const struct apk_package *pkg, const struct list_ctx *ctx) ++{ ++ struct apk_dependency *d; ++ ++ printf("Package: %s\n", pkg->name->name); ++ printf("Version: " BLOB_FMT "\n", BLOB_PRINTF(*pkg->version)); ++ if (apk_array_len(pkg->depends)) { ++ int i = 0; ++ ++ printf("Depends: "); ++ foreach_array_item(d, pkg->depends) { ++ i++; ++ printf("%s%s", d->name->name, i < apk_array_len(pkg->depends) ? ", ": "\n"); ++ } ++ } ++ if (apk_array_len(pkg->provides)) { ++ int i = 0; ++ ++ printf("Provides: "); ++ foreach_array_item(d, pkg->provides) { ++ i++; ++ printf("%s%s", d->name->name, i < apk_array_len(pkg->provides) ? ", ": "\n"); ++ } ++ } ++ if (pkg->ipkg && ctx->installed) ++ printf("Status: install ok %s\n", pkg->marked ? "hold" : "installed"); ++ if (pkg->description) ++ printf("Description: " BLOB_FMT "\n", BLOB_PRINTF(*pkg->description)); ++ printf("License: " BLOB_FMT "\n", BLOB_PRINTF(*pkg->license)); ++ printf("Installed-Size: %zu\n", pkg->installed_size); ++ printf("Size: %zu\n", pkg->size); ++ printf("\n"); ++} ++ + static void filter_package(const struct apk_database *db, const struct apk_package *pkg, const struct list_ctx *ctx, const struct apk_name *name) + { + if (ctx->match_origin && !origin_matches(ctx, pkg)) +@@ -138,7 +173,9 @@ static void filter_package(const struct + if (ctx->match_providers) + printf("<%s> ", name->name); + +- if (ctx->manifest) ++ if (ctx->full) ++ print_full(pkg, ctx); ++ else if (ctx->manifest) + print_manifest(pkg, ctx); + else + print_package(db, pkg, ctx); +@@ -178,6 +215,7 @@ static int print_result(struct apk_datab + OPT(OPT_LIST_depends, APK_OPT_SH("d") "depends") \ + OPT(OPT_LIST_installed, APK_OPT_SH("I") "installed") \ + OPT(OPT_LIST_manifest, "manifest") \ ++ OPT(OPT_LIST_full, "full") \ + OPT(OPT_LIST_origin, APK_OPT_SH("o") "origin") \ + OPT(OPT_LIST_orphaned, APK_OPT_SH("O") "orphaned") \ + OPT(OPT_LIST_providers, APK_OPT_SH("P") "providers") \ +@@ -191,6 +229,8 @@ static int option_parse_applet(void *pct + struct list_ctx *ctx = pctx; + + switch (opt) { ++ case OPT_LIST_full: ++ ctx->full = 1; + case OPT_LIST_available: + ctx->available = 1; + ctx->orphaned = 0; From cbf7be9fb37baaaf7ee5c2b6315028bd47c764bc Mon Sep 17 00:00:00 2001 From: Marius Dinu Date: Sat, 9 Nov 2024 19:20:47 +0200 Subject: [PATCH 22/48] menuconfig: add help description for Stack Smashing Protection options Descriptions taken from: https://wiki.osdev.org/Stack_Smashing_Protector Signed-off-by: Marius Dinu Link: https://github.com/openwrt/openwrt/pull/16897 Signed-off-by: Christian Marangi --- config/Config-build.in | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/config/Config-build.in b/config/Config-build.in index 41c1daccd99564..481be0bb6c55dd 100644 --- a/config/Config-build.in +++ b/config/Config-build.in @@ -295,12 +295,22 @@ menu "Global build settings" Enable GCC Stack Smashing Protection (SSP) for userspace applications config PKG_CC_STACKPROTECTOR_NONE bool "None" + help + No stack smashing protection. config PKG_CC_STACKPROTECTOR_REGULAR bool "Regular" + help + Protects functions with vulnerable objects. + This includes functions with buffers larger than 8 bytes or calls to alloca. config PKG_CC_STACKPROTECTOR_STRONG bool "Strong" + help + Like Regular, but also protects functions with + local arrays or references to local frame addresses. config PKG_CC_STACKPROTECTOR_ALL bool "All" + help + Protects all functions. endchoice choice @@ -310,10 +320,18 @@ menu "Global build settings" Enable GCC Stack-Smashing Protection (SSP) for the kernel config KERNEL_CC_STACKPROTECTOR_NONE bool "None" + help + No stack smashing protection. config KERNEL_CC_STACKPROTECTOR_REGULAR bool "Regular" + help + Protects functions with vulnerable objects. + This includes functions with buffers larger than 8 bytes or calls to alloca. config KERNEL_CC_STACKPROTECTOR_STRONG bool "Strong" + help + Like Regular, but also protects functions with + local arrays or references to local frame addresses. endchoice config KERNEL_STACKPROTECTOR From 8b6d5874b88bbe2e7a53bcab0e102b8781480880 Mon Sep 17 00:00:00 2001 From: "Leon M. Busch-George" Date: Mon, 19 Feb 2024 12:49:28 +0100 Subject: [PATCH 23/48] hostapd: split long lines These two were getting rather long. Signed-off-by: Leon M. Busch-George Link: https://github.com/openwrt/openwrt/pull/16849 Signed-off-by: Christian Marangi --- package/network/services/hostapd/Makefile | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile index 0e3396262d0c13..16dfbff2b06d5c 100644 --- a/package/network/services/hostapd/Makefile +++ b/package/network/services/hostapd/Makefile @@ -84,7 +84,11 @@ ifneq ($(CONFIG_DRIVER_11BE_SUPPORT),) HOSTAPD_IEEE80211BE:=y endif -CORE_DEPENDS = +ucode +libubus +libucode +ucode-mod-fs +ucode-mod-nl80211 +ucode-mod-rtnl +ucode-mod-ubus +ucode-mod-uloop +libblobmsg-json +libudebug + +CORE_DEPENDS = +ucode +libucode \ + +ucode-mod-fs +ucode-mod-nl80211 +ucode-mod-rtnl +ucode-mod-ubus +ucode-mod-uloop \ + +libubus +libblobmsg-json \ + +libudebug OPENSSL_DEPENDS = +PACKAGE_$(1):libopenssl +PACKAGE_$(1):libopenssl-legacy DRIVER_MAKEOPTS= \ @@ -716,7 +720,13 @@ define Install/supplicant endef define Package/hostapd-common/install - $(INSTALL_DIR) $(1)/etc/capabilities $(1)/etc/rc.button $(1)/etc/hotplug.d/ieee80211 $(1)/etc/init.d $(1)/lib/netifd $(1)/usr/share/acl.d $(1)/usr/share/hostap + $(INSTALL_DIR) \ + $(1)/etc/capabilities \ + $(1)/etc/rc.button \ + $(1)/etc/hotplug.d/ieee80211 \ + $(1)/etc/init.d $(1)/lib/netifd \ + $(1)/usr/share/acl.d \ + $(1)/usr/share/hostap $(INSTALL_BIN) ./files/dhcp-get-server.sh $(1)/lib/netifd/dhcp-get-server.sh $(INSTALL_BIN) ./files/wpad.init $(1)/etc/init.d/wpad $(INSTALL_BIN) ./files/wps-hotplug.sh $(1)/etc/rc.button/wps From cc98cfafd799d502fbe09ddb62bab68633d570f5 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 31 Oct 2024 12:22:04 -0700 Subject: [PATCH 24/48] treewide: remove THIS_MODULE assignment Matches upstream coccinelle check: api/platform_no_drv_owner.cocci. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/16846 Signed-off-by: Christian Marangi --- .../kernel/gpio-button-hotplug/src/gpio-button-hotplug.c | 2 -- package/kernel/gpio-nct5104d/src/gpio-nct5104d.c | 1 - package/kernel/lantiq/ltq-adsl-mei/src/drv_mei_cpe.c | 1 - package/kernel/lantiq/ltq-adsl/patches/120-platform.patch | 3 +-- package/kernel/lantiq/ltq-atm/src/ltq_atm.c | 1 - package/kernel/lantiq/ltq-deu/src/ifxmips_deu.c | 1 - package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c | 1 - package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c | 1 - package/kernel/ubootenv-nvram/src/ubootenv-nvram.c | 1 - target/linux/ath79/files/drivers/gpio/gpio-latch-mikrotik.c | 1 - target/linux/ath79/files/drivers/gpio/gpio-rb91x-key.c | 1 - target/linux/ath79/files/drivers/mtd/nand/raw/ar934x_nand.c | 1 - target/linux/ath79/files/drivers/mtd/nand/raw/rb91x_nand.c | 1 - target/linux/bcm47xx/patches-6.6/831-old_gpio_wdt.patch | 3 +-- target/linux/generic/files/drivers/net/phy/rtl8366rb.c | 1 - target/linux/generic/files/drivers/net/phy/rtl8366s.c | 1 - target/linux/generic/files/drivers/net/phy/rtl8367.c | 1 - target/linux/generic/files/drivers/net/phy/rtl8367b.c | 1 - .../generic/hack-6.6/800-GPIO-add-named-gpio-exports.patch | 3 +-- .../510-block-add-uImage.FIT-subimage-block-driver.patch | 3 +-- .../ipq40xx/patches-6.6/850-soc-add-qualcomm-syscon.patch | 3 +-- .../ipq806x/patches-6.6/850-soc-add-qualcomm-syscon.patch | 3 +-- .../0008-MIPS-lantiq-backport-old-timer-code.patch | 3 +-- .../0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch | 3 +-- ...0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch | 3 +-- .../patches-6.6/0151-lantiq-ifxmips_pcie-use-of.patch | 3 +-- .../mediatek/files/drivers/net/phy/rtk/rtl8367s_mdio.c | 1 - .../patches-6.6/0900-power-Add-Qualcomm-APM.patch | 3 +-- .../0901-regulator-add-Qualcomm-CPR-regulators.patch | 6 ++---- .../ramips/files/drivers/net/ethernet/ralink/esw_rt3050.c | 1 - .../ramips/files/drivers/net/ethernet/ralink/gsw_mt7620.c | 1 - .../ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c | 1 - .../linux/siflower/files-6.6/drivers/gpio/gpio-siflower.c | 1 - 33 files changed, 13 insertions(+), 48 deletions(-) diff --git a/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c b/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c index 52346c25d98a3c..9876dee90fc821 100644 --- a/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c +++ b/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c @@ -693,7 +693,6 @@ static struct platform_driver gpio_keys_driver = { .remove = gpio_keys_remove, .driver = { .name = "gpio-keys", - .owner = THIS_MODULE, .of_match_table = of_match_ptr(gpio_keys_of_match), }, }; @@ -703,7 +702,6 @@ static struct platform_driver gpio_keys_polled_driver = { .remove = gpio_keys_remove, .driver = { .name = "gpio-keys-polled", - .owner = THIS_MODULE, .of_match_table = of_match_ptr(gpio_keys_polled_of_match), }, }; diff --git a/package/kernel/gpio-nct5104d/src/gpio-nct5104d.c b/package/kernel/gpio-nct5104d/src/gpio-nct5104d.c index e31a94b5cfb20d..ffeab29eda2efa 100644 --- a/package/kernel/gpio-nct5104d/src/gpio-nct5104d.c +++ b/package/kernel/gpio-nct5104d/src/gpio-nct5104d.c @@ -366,7 +366,6 @@ nct5104d_gpio_device_add(const struct nct5104d_sio *sio) static struct platform_driver nct5104d_gpio_driver = { .driver = { - .owner = THIS_MODULE, .name = DRVNAME, }, .probe = nct5104d_gpio_probe, diff --git a/package/kernel/lantiq/ltq-adsl-mei/src/drv_mei_cpe.c b/package/kernel/lantiq/ltq-adsl-mei/src/drv_mei_cpe.c index ba23232ee9429c..20a63716a310ea 100644 --- a/package/kernel/lantiq/ltq-adsl-mei/src/drv_mei_cpe.c +++ b/package/kernel/lantiq/ltq-adsl-mei/src/drv_mei_cpe.c @@ -2807,7 +2807,6 @@ static struct platform_driver ltq_mei_driver = { .remove = ltq_mei_remove, .driver = { .name = "lantiq,mei-xway", - .owner = THIS_MODULE, .of_match_table = ltq_mei_match, }, }; diff --git a/package/kernel/lantiq/ltq-adsl/patches/120-platform.patch b/package/kernel/lantiq/ltq-adsl/patches/120-platform.patch index 7bbcf35cd2834c..69f2b45e321cd3 100644 --- a/package/kernel/lantiq/ltq-adsl/patches/120-platform.patch +++ b/package/kernel/lantiq/ltq-adsl/patches/120-platform.patch @@ -36,7 +36,7 @@ } #ifndef _lint -@@ -1159,8 +1159,30 @@ module_param(debug_level, byte, 0); +@@ -1159,8 +1159,29 @@ module_param(debug_level, byte, 0); MODULE_PARM_DESC(debug_level, "set to get more (1) or fewer (4) debug outputs"); #endif /* #ifndef DSL_DEBUG_DISABLE*/ @@ -59,7 +59,6 @@ + .remove = __devexit_p(ltq_adsl_remove), + .driver = { + .name = "adsl", -+ .owner = THIS_MODULE, + .of_match_table = ltq_adsl_match, + }, +}; diff --git a/package/kernel/lantiq/ltq-atm/src/ltq_atm.c b/package/kernel/lantiq/ltq-atm/src/ltq_atm.c index 0cb49a59bd0e4d..6b1e0321b3ee17 100644 --- a/package/kernel/lantiq/ltq-atm/src/ltq_atm.c +++ b/package/kernel/lantiq/ltq-atm/src/ltq_atm.c @@ -1894,7 +1894,6 @@ static struct platform_driver ltq_atm_driver = { .remove = ltq_atm_remove, .driver = { .name = "atm", - .owner = THIS_MODULE, .of_match_table = ltq_atm_match, }, }; diff --git a/package/kernel/lantiq/ltq-deu/src/ifxmips_deu.c b/package/kernel/lantiq/ltq-deu/src/ifxmips_deu.c index 096b8b5bba83fb..e44e84c03cd7a3 100644 --- a/package/kernel/lantiq/ltq-deu/src/ifxmips_deu.c +++ b/package/kernel/lantiq/ltq-deu/src/ifxmips_deu.c @@ -196,7 +196,6 @@ static struct platform_driver ltq_deu_driver = { .remove = ltq_deu_remove, .driver = { .name = "deu", - .owner = THIS_MODULE, .of_match_table = ltq_deu_match, }, }; diff --git a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c index 3ff01d588ad24a..5e5535348d832f 100644 --- a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c +++ b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c @@ -1600,7 +1600,6 @@ static struct platform_driver ltq_ptm_driver = { .remove = ltq_ptm_remove, .driver = { .name = "ptm", - .owner = THIS_MODULE, .of_match_table = ltq_ptm_match, }, }; diff --git a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c index 6731904bba9a85..c5bbd9fd874594 100644 --- a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c +++ b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c @@ -1138,7 +1138,6 @@ static struct platform_driver ltq_ptm_driver = { .remove = ltq_ptm_remove, .driver = { .name = "ptm", - .owner = THIS_MODULE, .of_match_table = ltq_ptm_match, }, }; diff --git a/package/kernel/ubootenv-nvram/src/ubootenv-nvram.c b/package/kernel/ubootenv-nvram/src/ubootenv-nvram.c index f6244142167b0b..106e41231c9094 100644 --- a/package/kernel/ubootenv-nvram/src/ubootenv-nvram.c +++ b/package/kernel/ubootenv-nvram/src/ubootenv-nvram.c @@ -146,7 +146,6 @@ static struct platform_driver ubootenv_driver = { .remove = ubootenv_remove, .driver = { .name = NAME, - .owner = THIS_MODULE, .of_match_table = of_ubootenv_match, }, }; diff --git a/target/linux/ath79/files/drivers/gpio/gpio-latch-mikrotik.c b/target/linux/ath79/files/drivers/gpio/gpio-latch-mikrotik.c index 4baed52e5799fe..a0759fe9e37172 100644 --- a/target/linux/ath79/files/drivers/gpio/gpio-latch-mikrotik.c +++ b/target/linux/ath79/files/drivers/gpio/gpio-latch-mikrotik.c @@ -168,7 +168,6 @@ static struct platform_driver gpio_latch_driver = { .probe = gpio_latch_probe, .driver = { .name = GPIO_LATCH_DRIVER_NAME, - .owner = THIS_MODULE, .of_match_table = gpio_latch_match, }, }; diff --git a/target/linux/ath79/files/drivers/gpio/gpio-rb91x-key.c b/target/linux/ath79/files/drivers/gpio/gpio-rb91x-key.c index 02639cf0115d3b..d83b690afeccfd 100644 --- a/target/linux/ath79/files/drivers/gpio/gpio-rb91x-key.c +++ b/target/linux/ath79/files/drivers/gpio/gpio-rb91x-key.c @@ -182,7 +182,6 @@ static struct platform_driver gpio_rb91x_key_driver = { .probe = gpio_rb91x_key_probe, .driver = { .name = GPIO_RB91X_KEY_DRIVER_NAME, - .owner = THIS_MODULE, .of_match_table = gpio_rb91x_key_match, }, }; diff --git a/target/linux/ath79/files/drivers/mtd/nand/raw/ar934x_nand.c b/target/linux/ath79/files/drivers/mtd/nand/raw/ar934x_nand.c index d0d9e2090ba802..029142ca618abd 100644 --- a/target/linux/ath79/files/drivers/mtd/nand/raw/ar934x_nand.c +++ b/target/linux/ath79/files/drivers/mtd/nand/raw/ar934x_nand.c @@ -1478,7 +1478,6 @@ static struct platform_driver ar934x_nfc_driver = { .remove = ar934x_nfc_remove, .driver = { .name = AR934X_NFC_DRIVER_NAME, - .owner = THIS_MODULE, .of_match_table = ar934x_nfc_match, }, }; diff --git a/target/linux/ath79/files/drivers/mtd/nand/raw/rb91x_nand.c b/target/linux/ath79/files/drivers/mtd/nand/raw/rb91x_nand.c index 092cd85d82e117..cf2809bfa36678 100644 --- a/target/linux/ath79/files/drivers/mtd/nand/raw/rb91x_nand.c +++ b/target/linux/ath79/files/drivers/mtd/nand/raw/rb91x_nand.c @@ -356,7 +356,6 @@ static struct platform_driver rb91x_nand_driver = { .remove = rb91x_nand_remove, .driver = { .name = "rb91x-nand", - .owner = THIS_MODULE, .of_match_table = rb91x_nand_match, }, }; diff --git a/target/linux/bcm47xx/patches-6.6/831-old_gpio_wdt.patch b/target/linux/bcm47xx/patches-6.6/831-old_gpio_wdt.patch index 6c76cbeee7fb65..f7ab33802c698f 100644 --- a/target/linux/bcm47xx/patches-6.6/831-old_gpio_wdt.patch +++ b/target/linux/bcm47xx/patches-6.6/831-old_gpio_wdt.patch @@ -32,7 +32,7 @@ Signed-off-by: Mathias Adam obj-$(CONFIG_TXX9_WDT) += txx9wdt.o --- /dev/null +++ b/drivers/watchdog/old_gpio_wdt.c -@@ -0,0 +1,301 @@ +@@ -0,0 +1,300 @@ +/* + * Driver for GPIO-controlled Hardware Watchdogs. + * @@ -294,7 +294,6 @@ Signed-off-by: Mathias Adam + .probe = gpio_wdt_probe, + .remove = gpio_wdt_remove, + .driver.name = "gpio-wdt", -+ .driver.owner = THIS_MODULE, +}; + +static int __init gpio_wdt_init(void) diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366rb.c b/target/linux/generic/files/drivers/net/phy/rtl8366rb.c index 0e0116051a8cb3..0878ca9f1400cf 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8366rb.c +++ b/target/linux/generic/files/drivers/net/phy/rtl8366rb.c @@ -1503,7 +1503,6 @@ MODULE_DEVICE_TABLE(of, rtl8366rb_match); static struct platform_driver rtl8366rb_driver = { .driver = { .name = RTL8366RB_DRIVER_NAME, - .owner = THIS_MODULE, .of_match_table = of_match_ptr(rtl8366rb_match), }, .probe = rtl8366rb_probe, diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366s.c b/target/linux/generic/files/drivers/net/phy/rtl8366s.c index 8c746778b8f820..d4045fcc062259 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8366s.c +++ b/target/linux/generic/files/drivers/net/phy/rtl8366s.c @@ -1291,7 +1291,6 @@ MODULE_DEVICE_TABLE(of, rtl8366s_match); static struct platform_driver rtl8366s_driver = { .driver = { .name = RTL8366S_DRIVER_NAME, - .owner = THIS_MODULE, #ifdef CONFIG_OF .of_match_table = of_match_ptr(rtl8366s_match), #endif diff --git a/target/linux/generic/files/drivers/net/phy/rtl8367.c b/target/linux/generic/files/drivers/net/phy/rtl8367.c index 0acfeb54bba587..950e9d2767d9ec 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8367.c +++ b/target/linux/generic/files/drivers/net/phy/rtl8367.c @@ -1834,7 +1834,6 @@ MODULE_DEVICE_TABLE(of, rtl8367_match); static struct platform_driver rtl8367_driver = { .driver = { .name = RTL8367_DRIVER_NAME, - .owner = THIS_MODULE, #ifdef CONFIG_OF .of_match_table = of_match_ptr(rtl8367_match), #endif diff --git a/target/linux/generic/files/drivers/net/phy/rtl8367b.c b/target/linux/generic/files/drivers/net/phy/rtl8367b.c index 4236912dd51e47..5f885aa5be8cd5 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8367b.c +++ b/target/linux/generic/files/drivers/net/phy/rtl8367b.c @@ -1633,7 +1633,6 @@ MODULE_DEVICE_TABLE(of, rtl8367b_match); static struct platform_driver rtl8367b_driver = { .driver = { .name = RTL8367B_DRIVER_NAME, - .owner = THIS_MODULE, #ifdef CONFIG_OF .of_match_table = of_match_ptr(rtl8367b_match), #endif diff --git a/target/linux/generic/hack-6.6/800-GPIO-add-named-gpio-exports.patch b/target/linux/generic/hack-6.6/800-GPIO-add-named-gpio-exports.patch index a1d787191ccdae..e6dcdfd92b6a1b 100644 --- a/target/linux/generic/hack-6.6/800-GPIO-add-named-gpio-exports.patch +++ b/target/linux/generic/hack-6.6/800-GPIO-add-named-gpio-exports.patch @@ -15,7 +15,7 @@ Signed-off-by: John Crispin #include "gpiolib.h" #include "gpiolib-of.h" -@@ -1129,3 +1131,74 @@ void of_gpiochip_remove(struct gpio_chip +@@ -1129,3 +1131,73 @@ void of_gpiochip_remove(struct gpio_chip { of_node_put(dev_of_node(&chip->gpiodev->dev)); } @@ -81,7 +81,6 @@ Signed-off-by: John Crispin +static struct platform_driver gpio_export_driver = { + .driver = { + .name = "gpio-export", -+ .owner = THIS_MODULE, + .of_match_table = of_match_ptr(gpio_export_ids), + }, + .probe = of_gpio_export_probe, diff --git a/target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch b/target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch index ff38964ecee8bf..b06c29ffaf18c4 100644 --- a/target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch +++ b/target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch @@ -81,7 +81,7 @@ Signed-off-by: Daniel Golle swim_mod-y := swim.o swim_asm.o --- /dev/null +++ b/drivers/block/fitblk.c -@@ -0,0 +1,659 @@ +@@ -0,0 +1,658 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * uImage.FIT virtual block device driver. @@ -714,7 +714,6 @@ Signed-off-by: Daniel Golle + .probe = fitblk_probe, + .driver = { + .name = "fitblk", -+ .owner = THIS_MODULE, + }, +}; + diff --git a/target/linux/ipq40xx/patches-6.6/850-soc-add-qualcomm-syscon.patch b/target/linux/ipq40xx/patches-6.6/850-soc-add-qualcomm-syscon.patch index 0e93ebb646b510..7cd473b24eb299 100644 --- a/target/linux/ipq40xx/patches-6.6/850-soc-add-qualcomm-syscon.patch +++ b/target/linux/ipq40xx/patches-6.6/850-soc-add-qualcomm-syscon.patch @@ -23,7 +23,7 @@ Subject: SoC: add qualcomm syscon +obj-$(CONFIG_QCOM_TCSR) += qcom_tcsr.o --- /dev/null +++ b/drivers/soc/qcom/qcom_tcsr.c -@@ -0,0 +1,96 @@ +@@ -0,0 +1,95 @@ +/* + * Copyright (c) 2014, The Linux foundation. All rights reserved. + * @@ -109,7 +109,6 @@ Subject: SoC: add qualcomm syscon +static struct platform_driver tcsr_driver = { + .driver = { + .name = "tcsr", -+ .owner = THIS_MODULE, + .of_match_table = tcsr_dt_match, + }, + .probe = tcsr_probe, diff --git a/target/linux/ipq806x/patches-6.6/850-soc-add-qualcomm-syscon.patch b/target/linux/ipq806x/patches-6.6/850-soc-add-qualcomm-syscon.patch index 8b49af8e84f5a3..2d639bbfd386fd 100644 --- a/target/linux/ipq806x/patches-6.6/850-soc-add-qualcomm-syscon.patch +++ b/target/linux/ipq806x/patches-6.6/850-soc-add-qualcomm-syscon.patch @@ -28,7 +28,7 @@ Subject: SoC: add qualcomm syscon depends on ARCH_QCOM || COMPILE_TEST --- /dev/null +++ b/drivers/soc/qcom/qcom_tcsr.c -@@ -0,0 +1,62 @@ +@@ -0,0 +1,61 @@ +/* + * Copyright (c) 2014, The Linux foundation. All rights reserved. + * @@ -80,7 +80,6 @@ Subject: SoC: add qualcomm syscon +static struct platform_driver tcsr_driver = { + .driver = { + .name = "tcsr", -+ .owner = THIS_MODULE, + .of_match_table = tcsr_dt_match, + }, + .probe = tcsr_probe, diff --git a/target/linux/lantiq/patches-6.6/0008-MIPS-lantiq-backport-old-timer-code.patch b/target/linux/lantiq/patches-6.6/0008-MIPS-lantiq-backport-old-timer-code.patch index 3e6c2676855e5e..81bf72913b66f4 100644 --- a/target/linux/lantiq/patches-6.6/0008-MIPS-lantiq-backport-old-timer-code.patch +++ b/target/linux/lantiq/patches-6.6/0008-MIPS-lantiq-backport-old-timer-code.patch @@ -186,7 +186,7 @@ Signed-off-by: John Crispin obj-y += vmmc.o --- /dev/null +++ b/arch/mips/lantiq/xway/timer.c -@@ -0,0 +1,887 @@ +@@ -0,0 +1,886 @@ +#ifndef CONFIG_SOC_AMAZON_SE + +#include @@ -1043,7 +1043,6 @@ Signed-off-by: John Crispin + .probe = gptu_probe, + .driver = { + .name = "gptu-xway", -+ .owner = THIS_MODULE, + .of_match_table = gptu_match, + }, +}; diff --git a/target/linux/lantiq/patches-6.6/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch b/target/linux/lantiq/patches-6.6/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch index 1992b536f4c11a..235e48f6deb0ff 100644 --- a/target/linux/lantiq/patches-6.6/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch +++ b/target/linux/lantiq/patches-6.6/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch @@ -47,7 +47,7 @@ Signed-off-by: John Crispin obj-$(CONFIG_I2C_MESON) += i2c-meson.o --- /dev/null +++ b/drivers/i2c/busses/i2c-lantiq.c -@@ -0,0 +1,746 @@ +@@ -0,0 +1,745 @@ + +/* + * Lantiq I2C bus adapter @@ -782,7 +782,6 @@ Signed-off-by: John Crispin + .remove = ltq_i2c_remove, + .driver = { + .name = DRV_NAME, -+ .owner = THIS_MODULE, + .of_match_table = ltq_i2c_match, + }, +}; diff --git a/target/linux/lantiq/patches-6.6/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch b/target/linux/lantiq/patches-6.6/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch index 8bb6e5a0da25b4..3ece97052b4e4a 100644 --- a/target/linux/lantiq/patches-6.6/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch +++ b/target/linux/lantiq/patches-6.6/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch @@ -36,7 +36,7 @@ Signed-off-by: John Crispin +obj-$(CONFIG_PCI) += ath5k_eep.o --- /dev/null +++ b/arch/mips/lantiq/xway/ath5k_eep.c -@@ -0,0 +1,136 @@ +@@ -0,0 +1,135 @@ +/* + * Copyright (C) 2011 Luca Olivetti + * Copyright (C) 2011 John Crispin @@ -149,7 +149,6 @@ Signed-off-by: John Crispin +static struct platform_driver ath5k_eeprom_driver = { + .driver = { + .name = "ath5k,eeprom", -+ .owner = THIS_MODULE, + .of_match_table = of_match_ptr(ath5k_eeprom_ids), + }, +}; diff --git a/target/linux/lantiq/patches-6.6/0151-lantiq-ifxmips_pcie-use-of.patch b/target/linux/lantiq/patches-6.6/0151-lantiq-ifxmips_pcie-use-of.patch index b83bf992a6ef50..65253bc7e440a6 100644 --- a/target/linux/lantiq/patches-6.6/0151-lantiq-ifxmips_pcie-use-of.patch +++ b/target/linux/lantiq/patches-6.6/0151-lantiq-ifxmips_pcie-use-of.patch @@ -293,7 +293,7 @@ Signed-off-by: Eddi De Pieri register_pci_controller(&ifx_pcie_controller[pcie_port].pcic); /* XXX, clear error status */ -@@ -1083,6 +1185,30 @@ static int __init ifx_pcie_bios_init(voi +@@ -1083,6 +1185,29 @@ static int __init ifx_pcie_bios_init(voi return 0; } @@ -308,7 +308,6 @@ Signed-off-by: Eddi De Pieri + .probe = ifx_pcie_bios_probe, + .driver = { + .name = "pcie-xrx200", -+ .owner = THIS_MODULE, + .of_match_table = ifxmips_pcie_match, + }, +}; diff --git a/target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367s_mdio.c b/target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367s_mdio.c index b4d4554d4fef51..d958d622e0c28c 100644 --- a/target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367s_mdio.c +++ b/target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367s_mdio.c @@ -296,7 +296,6 @@ static struct platform_driver gsw_driver = { .remove = rtk_gsw_remove, .driver = { .name = "rtk-gsw", - .owner = THIS_MODULE, .of_match_table = rtk_gsw_match, }, }; diff --git a/target/linux/qualcommax/patches-6.6/0900-power-Add-Qualcomm-APM.patch b/target/linux/qualcommax/patches-6.6/0900-power-Add-Qualcomm-APM.patch index 2e5c72b7d1f6b7..f1053515844ada 100644 --- a/target/linux/qualcommax/patches-6.6/0900-power-Add-Qualcomm-APM.patch +++ b/target/linux/qualcommax/patches-6.6/0900-power-Add-Qualcomm-APM.patch @@ -49,7 +49,7 @@ Signed-off-by: Robert Marko +obj-$(CONFIG_QCOM_APM) += apm.o --- /dev/null +++ b/drivers/power/qcom/apm.c -@@ -0,0 +1,944 @@ +@@ -0,0 +1,943 @@ +/* + * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. + * @@ -971,7 +971,6 @@ Signed-off-by: Robert Marko + .driver = { + .name = MSM_APM_DRIVER_NAME, + .of_match_table = msm_apm_match_table, -+ .owner = THIS_MODULE, + }, + .probe = msm_apm_probe, + .remove = msm_apm_remove, diff --git a/target/linux/qualcommax/patches-6.6/0901-regulator-add-Qualcomm-CPR-regulators.patch b/target/linux/qualcommax/patches-6.6/0901-regulator-add-Qualcomm-CPR-regulators.patch index c85be0357c1fad..46d4fc246fbdc1 100644 --- a/target/linux/qualcommax/patches-6.6/0901-regulator-add-Qualcomm-CPR-regulators.patch +++ b/target/linux/qualcommax/patches-6.6/0901-regulator-add-Qualcomm-CPR-regulators.patch @@ -77,7 +77,7 @@ Signed-off-by: Robert Marko obj-$(CONFIG_REGULATOR_PF8X00) += pf8x00-regulator.o --- /dev/null +++ b/drivers/regulator/cpr3-npu-regulator.c -@@ -0,0 +1,695 @@ +@@ -0,0 +1,694 @@ +/* + * Copyright (c) 2017, The Linux Foundation. All rights reserved. + * @@ -752,7 +752,6 @@ Signed-off-by: Robert Marko + .driver = { + .name = "qcom,cpr3-npu-regulator", + .of_match_table = cpr3_regulator_match_table, -+ .owner = THIS_MODULE, + }, + .probe = cpr3_npu_regulator_probe, + .remove = cpr3_npu_regulator_remove, @@ -9866,7 +9865,7 @@ Signed-off-by: Robert Marko +} --- /dev/null +++ b/drivers/regulator/cpr4-apss-regulator.c -@@ -0,0 +1,1819 @@ +@@ -0,0 +1,1818 @@ +/* + * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. + * @@ -11663,7 +11662,6 @@ Signed-off-by: Robert Marko + .driver = { + .name = "qcom,cpr4-apss-regulator", + .of_match_table = cpr4_regulator_match_table, -+ .owner = THIS_MODULE, + }, + .probe = cpr4_apss_regulator_probe, + .remove = cpr4_apss_regulator_remove, diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3050.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3050.c index cafa28e7a44f5e..bbb52d74b240a2 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3050.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3050.c @@ -1525,7 +1525,6 @@ static struct platform_driver esw_driver = { .remove = esw_remove, .driver = { .name = "rt3050-esw", - .owner = THIS_MODULE, .of_match_table = ralink_esw_match, }, }; diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620.c index 9fc54a74b42337..154983494ee1aa 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620.c @@ -296,7 +296,6 @@ static struct platform_driver gsw_driver = { .remove = mt7620_gsw_remove, .driver = { .name = "mt7620-gsw", - .owner = THIS_MODULE, .of_match_table = mediatek_gsw_match, }, }; diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c index d8d27fda3b15d9..4dff1340d70571 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c @@ -1657,7 +1657,6 @@ static struct platform_driver fe_driver = { .remove = fe_remove, .driver = { .name = "mtk_soc_eth", - .owner = THIS_MODULE, .of_match_table = of_fe_match, }, }; diff --git a/target/linux/siflower/files-6.6/drivers/gpio/gpio-siflower.c b/target/linux/siflower/files-6.6/drivers/gpio/gpio-siflower.c index f061021e30a58f..bd3d8906b44540 100644 --- a/target/linux/siflower/files-6.6/drivers/gpio/gpio-siflower.c +++ b/target/linux/siflower/files-6.6/drivers/gpio/gpio-siflower.c @@ -333,7 +333,6 @@ static struct platform_driver sf_gpio_driver = { .remove = sf_gpio_remove, .driver = { .name = "siflower_gpio", - .owner = THIS_MODULE, .of_match_table = sf_gpio_ids, }, }; From 999ef8270fcce23ff976f3361f562f96ecee7b21 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Sun, 10 Nov 2024 04:26:43 +0100 Subject: [PATCH 25/48] imagebuilder: fix OPKG package inclusion In 451e2ce006 the code would only move packages separated by dashes, however OPKG uses underscores to split between package name and version. Result was the lack of such packages in the packed ImageBuilder. Use dashes or underscores depending on the select package manger. Fixes: 451e2ce006 "imagebuilder: fix package inclusion and APK index" Signed-off-by: Paul Spooren --- target/imagebuilder/Makefile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index 19f21472bdc275..9181d86a1cc831 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -23,6 +23,7 @@ BUNDLER_PATH := $(subst $(space),:,$(filter-out $(TOPDIR)/%,$(subst :,$(space),$ BUNDLER_COMMAND := PATH=$(BUNDLER_PATH) $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(PKG_BUILD_DIR)/staging_dir/host PACKAGE_SUFFIX:=$(if $(CONFIG_USE_APK),apk,ipk) +PACKAGE_VERSION_SEPARATOR:=$(if $(CONFIG_USE_APK),-,_) all: compile @@ -71,9 +72,9 @@ endif ifeq ($(CONFIG_IB_STANDALONE),) $(FIND) $(call FeedPackageDir,libc) -type f \ \( \ - -name 'base-files-*.$(PACKAGE_SUFFIX)' -or \ - -name 'libc-*.$(PACKAGE_SUFFIX)' -or \ - -name 'kernel-*.$(PACKAGE_SUFFIX)' \) \ + -name 'base-files$(PACKAGE_VERSION_SEPARATOR)*.$(PACKAGE_SUFFIX)' -or \ + -name 'libc$(PACKAGE_VERSION_SEPARATOR)*.$(PACKAGE_SUFFIX)' -or \ + -name 'kernel$(PACKAGE_VERSION_SEPARATOR)*.$(PACKAGE_SUFFIX)' \) \ -exec $(CP) -t $(PKG_BUILD_DIR)/packages {} + else $(FIND) $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.$(PACKAGE_SUFFIX)' \ From 85844cfc5c591d00997ade665340315d54bc5822 Mon Sep 17 00:00:00 2001 From: John Audia Date: Fri, 8 Nov 2024 14:57:44 -0500 Subject: [PATCH 26/48] kernel: bump 6.6 to 6.6.60 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.60 Removed upstreamed: generic/backport-6.6/409-mtd-spi-nor-winbond-fix-w25q128-regression.patch All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.60&id=27a58a19bd20a7afe369da2ce6d4ebea70768acd Build system: x86/64 Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/16892 Signed-off-by: Nick Hainke --- include/kernel-6.6 | 4 +- ...evm_thermal_of_zone_register_with_pa.patch | 4 +- ...-Poll-the-device-if-no-interrupt-is-.patch | 2 +- ...-Clean-up-timer-and-workqueue-on-rem.patch | 4 +- ...ci_sync-Add-fallback-bd-address-prop.patch | 4 +- ...n-edt-ft5x06-Suppress-bogus-data-on-.patch | 4 +- ...th-hci_sync-Fix-crash-on-NULL-parent.patch | 2 +- ...i-nor-winbond-fix-w25q128-regression.patch | 59 ------------------- ...tional-threaded-NAPI-wakeup-based-on.patch | 6 +- ...-to-use-SMP-threads-for-backlog-NAPI.patch | 22 +++---- ...klog-NAPI-to-clean-up-the-defer_list.patch | 2 +- ...-net-Rename-rps_lock-to-backlog_lock.patch | 18 +++--- ...-net-Make-USO-depend-on-CSUM-offload.patch | 6 +- ...64-if-device-if-driver-is-configured.patch | 2 +- ...-create-a-dummy-net_device-allocator.patch | 6 +- ...t-introduce-napi_is_scheduled-helper.patch | 2 +- ...c-move-TX-timer-arm-after-DMA-enable.patch | 12 ++-- ...et-free_netdev-exit-earlier-if-dummy.patch | 2 +- ...vert-driver-core-Set-fw_devlink-on-b.patch | 2 +- ...fix-serdes-init-sequence-for-IPQ6018.patch | 2 +- .../1009-net-stmmac-use-GFP_DMA32.patch | 2 +- 21 files changed, 54 insertions(+), 113 deletions(-) delete mode 100644 target/linux/generic/backport-6.6/409-mtd-spi-nor-winbond-fix-w25q128-regression.patch diff --git a/include/kernel-6.6 b/include/kernel-6.6 index 5e154f2d217549..261a77428cd3be 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .59 -LINUX_KERNEL_HASH-6.6.59 = 23616808d8c08f12815ff898f4edb4c11397a2b2843d029ee62452d21833a76d +LINUX_VERSION-6.6 = .60 +LINUX_KERNEL_HASH-6.6.60 = 52f9e32d5082ab94253447fd66670d0c3bb765cfcb99b0bf61d1b8eae25952ef diff --git a/target/linux/airoha/patches-6.6/101-01-thermal-of-Add-devm_thermal_of_zone_register_with_pa.patch b/target/linux/airoha/patches-6.6/101-01-thermal-of-Add-devm_thermal_of_zone_register_with_pa.patch index e69f57d27309c0..889ec1123ef314 100644 --- a/target/linux/airoha/patches-6.6/101-01-thermal-of-Add-devm_thermal_of_zone_register_with_pa.patch +++ b/target/linux/airoha/patches-6.6/101-01-thermal-of-Add-devm_thermal_of_zone_register_with_pa.patch @@ -181,7 +181,7 @@ Signed-off-by: Christian Marangi * @dev: Device for which which resource was allocated. --- a/include/linux/thermal.h +++ b/include/linux/thermal.h -@@ -261,6 +261,10 @@ struct thermal_zone_params { +@@ -263,6 +263,10 @@ struct thermal_zone_params { #ifdef CONFIG_THERMAL_OF struct thermal_zone_device *devm_thermal_of_zone_register(struct device *dev, int id, void *data, const struct thermal_zone_device_ops *ops); @@ -192,7 +192,7 @@ Signed-off-by: Christian Marangi void devm_thermal_of_zone_unregister(struct device *dev, struct thermal_zone_device *tz); -@@ -272,6 +276,15 @@ struct thermal_zone_device *devm_thermal +@@ -274,6 +278,15 @@ struct thermal_zone_device *devm_thermal { return ERR_PTR(-ENOTSUPP); } diff --git a/target/linux/bcm27xx/patches-6.6/950-0262-Input-edt-ft5x06-Poll-the-device-if-no-interrupt-is-.patch b/target/linux/bcm27xx/patches-6.6/950-0262-Input-edt-ft5x06-Poll-the-device-if-no-interrupt-is-.patch index bfb26e8f02850c..9369883fc6084f 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0262-Input-edt-ft5x06-Poll-the-device-if-no-interrupt-is-.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0262-Input-edt-ft5x06-Poll-the-device-if-no-interrupt-is-.patch @@ -193,7 +193,7 @@ Signed-off-by: Dave Stevenson tsdata->tdata_offset + crclen; } -@@ -1317,17 +1374,27 @@ static int edt_ft5x06_ts_probe(struct i2 +@@ -1335,17 +1392,27 @@ static int edt_ft5x06_ts_probe(struct i2 return error; } diff --git a/target/linux/bcm27xx/patches-6.6/950-0302-Input-edt-ft54x6-Clean-up-timer-and-workqueue-on-rem.patch b/target/linux/bcm27xx/patches-6.6/950-0302-Input-edt-ft54x6-Clean-up-timer-and-workqueue-on-rem.patch index 2b5abd258175b5..3486c2acaacfe0 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0302-Input-edt-ft54x6-Clean-up-timer-and-workqueue-on-rem.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0302-Input-edt-ft54x6-Clean-up-timer-and-workqueue-on-rem.patch @@ -18,7 +18,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/input/touchscreen/edt-ft5x06.c +++ b/drivers/input/touchscreen/edt-ft5x06.c -@@ -1420,6 +1420,10 @@ static void edt_ft5x06_ts_remove(struct +@@ -1438,6 +1438,10 @@ static void edt_ft5x06_ts_remove(struct { struct edt_ft5x06_ts_data *tsdata = i2c_get_clientdata(client); @@ -27,5 +27,5 @@ Signed-off-by: Dave Stevenson + cancel_work_sync(&tsdata->work_i2c_poll); + } edt_ft5x06_ts_teardown_debugfs(tsdata); - regmap_exit(tsdata->regmap); } + diff --git a/target/linux/bcm27xx/patches-6.6/950-0441-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch b/target/linux/bcm27xx/patches-6.6/950-0441-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch index 0e404906be64a7..cc5e3d1dc304b6 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0441-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0441-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch @@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell --- a/net/bluetooth/hci_sync.c +++ b/net/bluetooth/hci_sync.c -@@ -4861,6 +4861,7 @@ static const struct { +@@ -4865,6 +4865,7 @@ static const struct { */ static int hci_dev_setup_sync(struct hci_dev *hdev) { @@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell int ret = 0; bool invalid_bdaddr; size_t i; -@@ -4889,7 +4890,8 @@ static int hci_dev_setup_sync(struct hci +@@ -4893,7 +4894,8 @@ static int hci_dev_setup_sync(struct hci test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks); if (!ret) { if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) && diff --git a/target/linux/bcm27xx/patches-6.6/950-0669-input-touchscreen-edt-ft5x06-Suppress-bogus-data-on-.patch b/target/linux/bcm27xx/patches-6.6/950-0669-input-touchscreen-edt-ft5x06-Suppress-bogus-data-on-.patch index b3bf708ade9b56..9019a430493645 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0669-input-touchscreen-edt-ft5x06-Suppress-bogus-data-on-.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0669-input-touchscreen-edt-ft5x06-Suppress-bogus-data-on-.patch @@ -58,7 +58,7 @@ Signed-off-by: Nick Hollinghurst if (!error && num_points) error = regmap_bulk_read(tsdata->regmap, tsdata->tdata_offset, -@@ -1300,7 +1318,7 @@ static int edt_ft5x06_ts_probe(struct i2 +@@ -1318,7 +1336,7 @@ static int edt_ft5x06_ts_probe(struct i2 if (tsdata->reset_gpio) { usleep_range(5000, 6000); gpiod_set_value_cansleep(tsdata->reset_gpio, 0); @@ -67,7 +67,7 @@ Signed-off-by: Nick Hollinghurst } input = devm_input_allocate_device(&client->dev); -@@ -1389,11 +1407,12 @@ static int edt_ft5x06_ts_probe(struct i2 +@@ -1407,11 +1425,12 @@ static int edt_ft5x06_ts_probe(struct i2 return error; } } else { diff --git a/target/linux/bcm27xx/patches-6.6/950-1218-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch b/target/linux/bcm27xx/patches-6.6/950-1218-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch index 272f711e632d88..3b4c7e65afc17d 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1218-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1218-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/net/bluetooth/hci_sync.c +++ b/net/bluetooth/hci_sync.c -@@ -4861,7 +4861,8 @@ static const struct { +@@ -4865,7 +4865,8 @@ static const struct { */ static int hci_dev_setup_sync(struct hci_dev *hdev) { diff --git a/target/linux/generic/backport-6.6/409-mtd-spi-nor-winbond-fix-w25q128-regression.patch b/target/linux/generic/backport-6.6/409-mtd-spi-nor-winbond-fix-w25q128-regression.patch deleted file mode 100644 index de79328138b0a5..00000000000000 --- a/target/linux/generic/backport-6.6/409-mtd-spi-nor-winbond-fix-w25q128-regression.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 342672bbdf713654316a0ff73c7f2ecf7ea6693d Mon Sep 17 00:00:00 2001 -From: Michael Walle -Date: Fri, 21 Jun 2024 14:09:29 +0200 -Subject: [PATCH] mtd: spi-nor: winbond: fix w25q128 regression - -Upstream commit d35df77707bf5ae1221b5ba1c8a88cf4fcdd4901 - -("mtd: spi-nor: winbond: fix w25q128 regression") -however the code has changed a lot after v6.6 so the patch did -not apply to v6.6 or v6.1 which still has the problem. - -This patch fixes the issue in the way of the old API and has -been tested on hardware. Please apply it for v6.1 and v6.6. - -Commit 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128") -removed the flags for non-SFDP devices. It was assumed that it wasn't in -use anymore. This wasn't true. Add the no_sfdp_flags as well as the size -again. - -We add the additional flags for dual and quad read because they have -been reported to work properly by Hartmut using both older and newer -versions of this flash, the similar flashes with 64Mbit and 256Mbit -already have these flags and because it will (luckily) trigger our -legacy SFDP parsing, so newer versions with SFDP support will still get -the parameters from the SFDP tables. - -Reported-by: Hartmut Birr -Closes: https://lore.kernel.org/r/CALxbwRo_-9CaJmt7r7ELgu+vOcgk=xZcGHobnKf=oT2=u4d4aA@mail.gmail.com/ -Fixes: 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128") -Reviewed-by: Linus Walleij -Signed-off-by: Michael Walle -Acked-by: Tudor Ambarus -Reviewed-by: Esben Haabendal -Reviewed-by: Pratyush Yadav -Signed-off-by: Pratyush Yadav -Link: https://lore.kernel.org/r/20240621120929.2670185-1-mwalle@kernel.org -[Backported to v6.6 - vastly different due to upstream changes] -Reviewed-by: Tudor Ambarus -Signed-off-by: Linus Walleij ---- - drivers/mtd/spi-nor/winbond.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - ---- a/drivers/mtd/spi-nor/winbond.c -+++ b/drivers/mtd/spi-nor/winbond.c -@@ -120,9 +120,10 @@ static const struct flash_info winbond_n - NO_SFDP_FLAGS(SECT_4K) }, - { "w25q80bl", INFO(0xef4014, 0, 64 * 1024, 16) - NO_SFDP_FLAGS(SECT_4K) }, -- { "w25q128", INFO(0xef4018, 0, 0, 0) -- PARSE_SFDP -- FLAGS(SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB) }, -+ { "w25q128", INFO(0xef4018, 0, 64 * 1024, 256) -+ FLAGS(SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB) -+ NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | -+ SPI_NOR_QUAD_READ) }, - { "w25q256", INFO(0xef4019, 0, 64 * 1024, 512) - NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) - .fixups = &w25q256_fixups }, diff --git a/target/linux/generic/backport-6.6/600-v6.10-net-Remove-conditional-threaded-NAPI-wakeup-based-on.patch b/target/linux/generic/backport-6.6/600-v6.10-net-Remove-conditional-threaded-NAPI-wakeup-based-on.patch index 3f75dffde71999..6ee4716c5cd095 100644 --- a/target/linux/generic/backport-6.6/600-v6.10-net-Remove-conditional-threaded-NAPI-wakeup-based-on.patch +++ b/target/linux/generic/backport-6.6/600-v6.10-net-Remove-conditional-threaded-NAPI-wakeup-based-on.patch @@ -32,7 +32,7 @@ Signed-off-by: Paolo Abeni --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4477,13 +4477,7 @@ static inline void ____napi_schedule(str +@@ -4481,13 +4481,7 @@ static inline void ____napi_schedule(str */ thread = READ_ONCE(napi->thread); if (thread) { @@ -47,7 +47,7 @@ Signed-off-by: Paolo Abeni wake_up_process(thread); return; } -@@ -6639,8 +6633,6 @@ static int napi_poll(struct napi_struct +@@ -6643,8 +6637,6 @@ static int napi_poll(struct napi_struct static int napi_thread_wait(struct napi_struct *napi) { @@ -56,7 +56,7 @@ Signed-off-by: Paolo Abeni set_current_state(TASK_INTERRUPTIBLE); while (!kthread_should_stop()) { -@@ -6649,15 +6641,13 @@ static int napi_thread_wait(struct napi_ +@@ -6653,15 +6645,13 @@ static int napi_thread_wait(struct napi_ * Testing SCHED bit is not enough because SCHED bit might be * set by some other busy poll thread or by napi_disable(). */ diff --git a/target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch b/target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch index b343a3f9642a22..8c0b41f37b33ff 100644 --- a/target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch +++ b/target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch @@ -108,7 +108,7 @@ Signed-off-by: Paolo Abeni static inline void rps_lock_irqsave(struct softnet_data *sd, unsigned long *flags) { -@@ -4445,6 +4471,7 @@ EXPORT_SYMBOL(__dev_direct_xmit); +@@ -4449,6 +4475,7 @@ EXPORT_SYMBOL(__dev_direct_xmit); /************************************************************************* * Receiver routines *************************************************************************/ @@ -116,7 +116,7 @@ Signed-off-by: Paolo Abeni int netdev_max_backlog __read_mostly = 1000; EXPORT_SYMBOL(netdev_max_backlog); -@@ -4477,12 +4504,16 @@ static inline void ____napi_schedule(str +@@ -4481,12 +4508,16 @@ static inline void ____napi_schedule(str */ thread = READ_ONCE(napi->thread); if (thread) { @@ -133,7 +133,7 @@ Signed-off-by: Paolo Abeni list_add_tail(&napi->poll_list, &sd->poll_list); WRITE_ONCE(napi->list_owner, smp_processor_id()); /* If not called from net_rx_action() -@@ -4728,6 +4759,11 @@ static void napi_schedule_rps(struct sof +@@ -4732,6 +4763,11 @@ static void napi_schedule_rps(struct sof #ifdef CONFIG_RPS if (sd != mysd) { @@ -145,7 +145,7 @@ Signed-off-by: Paolo Abeni sd->rps_ipi_next = mysd->rps_ipi_list; mysd->rps_ipi_list = sd; -@@ -5951,7 +5987,7 @@ static void net_rps_action_and_irq_enabl +@@ -5955,7 +5991,7 @@ static void net_rps_action_and_irq_enabl #ifdef CONFIG_RPS struct softnet_data *remsd = sd->rps_ipi_list; @@ -154,7 +154,7 @@ Signed-off-by: Paolo Abeni sd->rps_ipi_list = NULL; local_irq_enable(); -@@ -5966,7 +6002,7 @@ static void net_rps_action_and_irq_enabl +@@ -5970,7 +6006,7 @@ static void net_rps_action_and_irq_enabl static bool sd_has_rps_ipi_waiting(struct softnet_data *sd) { #ifdef CONFIG_RPS @@ -163,7 +163,7 @@ Signed-off-by: Paolo Abeni #else return false; #endif -@@ -6010,7 +6046,7 @@ static int process_backlog(struct napi_s +@@ -6014,7 +6050,7 @@ static int process_backlog(struct napi_s * We can use a plain write instead of clear_bit(), * and we dont need an smp_mb() memory barrier. */ @@ -172,7 +172,7 @@ Signed-off-by: Paolo Abeni again = false; } else { skb_queue_splice_tail_init(&sd->input_pkt_queue, -@@ -6676,43 +6712,48 @@ static void skb_defer_free_flush(struct +@@ -6680,43 +6716,48 @@ static void skb_defer_free_flush(struct } } @@ -250,7 +250,7 @@ Signed-off-by: Paolo Abeni return 0; } -@@ -11293,7 +11334,7 @@ static int dev_cpu_dead(unsigned int old +@@ -11297,7 +11338,7 @@ static int dev_cpu_dead(unsigned int old list_del_init(&napi->poll_list); if (napi->poll == process_backlog) @@ -259,7 +259,7 @@ Signed-off-by: Paolo Abeni else ____napi_schedule(sd, napi); } -@@ -11301,12 +11342,14 @@ static int dev_cpu_dead(unsigned int old +@@ -11305,12 +11346,14 @@ static int dev_cpu_dead(unsigned int old raise_softirq_irqoff(NET_TX_SOFTIRQ); local_irq_enable(); @@ -278,7 +278,7 @@ Signed-off-by: Paolo Abeni /* Process offline CPU's input_pkt_queue */ while ((skb = __skb_dequeue(&oldsd->process_queue))) { -@@ -11569,6 +11612,38 @@ static struct pernet_operations __net_in +@@ -11573,6 +11616,38 @@ static struct pernet_operations __net_in * */ @@ -317,7 +317,7 @@ Signed-off-by: Paolo Abeni /* * This is called single threaded during boot, so no need * to take the rtnl semaphore. -@@ -11619,7 +11694,10 @@ static int __init net_dev_init(void) +@@ -11623,7 +11698,10 @@ static int __init net_dev_init(void) init_gro_hash(&sd->backlog); sd->backlog.poll = process_backlog; sd->backlog.weight = weight_p; diff --git a/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch b/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch index 3b1a64e4c64f46..3fcc72e589532c 100644 --- a/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch +++ b/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch @@ -82,7 +82,7 @@ Signed-off-by: Paolo Abeni spin_unlock_irq(&sd->input_pkt_queue.lock); else if (!IS_ENABLED(CONFIG_PREEMPT_RT)) local_irq_enable(); -@@ -4778,6 +4778,23 @@ static void napi_schedule_rps(struct sof +@@ -4782,6 +4782,23 @@ static void napi_schedule_rps(struct sof __napi_schedule_irqoff(&mysd->backlog); } diff --git a/target/linux/generic/backport-6.6/603-v6.10-net-Rename-rps_lock-to-backlog_lock.patch b/target/linux/generic/backport-6.6/603-v6.10-net-Rename-rps_lock-to-backlog_lock.patch index dab96763fc292f..056bd5686eaff1 100644 --- a/target/linux/generic/backport-6.6/603-v6.10-net-Rename-rps_lock-to-backlog_lock.patch +++ b/target/linux/generic/backport-6.6/603-v6.10-net-Rename-rps_lock-to-backlog_lock.patch @@ -67,7 +67,7 @@ Signed-off-by: Paolo Abeni { if (IS_ENABLED(CONFIG_RPS) || use_backlog_threads()) spin_unlock_irq(&sd->input_pkt_queue.lock); -@@ -4783,12 +4783,12 @@ void kick_defer_list_purge(struct softne +@@ -4787,12 +4787,12 @@ void kick_defer_list_purge(struct softne unsigned long flags; if (use_backlog_threads()) { @@ -82,7 +82,7 @@ Signed-off-by: Paolo Abeni } else if (!cmpxchg(&sd->defer_ipi_scheduled, 0, 1)) { smp_call_function_single_async(cpu, &sd->defer_csd); -@@ -4850,7 +4850,7 @@ static int enqueue_to_backlog(struct sk_ +@@ -4854,7 +4854,7 @@ static int enqueue_to_backlog(struct sk_ reason = SKB_DROP_REASON_NOT_SPECIFIED; sd = &per_cpu(softnet_data, cpu); @@ -91,7 +91,7 @@ Signed-off-by: Paolo Abeni if (!netif_running(skb->dev)) goto drop; qlen = skb_queue_len(&sd->input_pkt_queue); -@@ -4859,7 +4859,7 @@ static int enqueue_to_backlog(struct sk_ +@@ -4863,7 +4863,7 @@ static int enqueue_to_backlog(struct sk_ enqueue: __skb_queue_tail(&sd->input_pkt_queue, skb); input_queue_tail_incr_save(sd, qtail); @@ -100,7 +100,7 @@ Signed-off-by: Paolo Abeni return NET_RX_SUCCESS; } -@@ -4874,7 +4874,7 @@ enqueue: +@@ -4878,7 +4878,7 @@ enqueue: drop: sd->dropped++; @@ -109,7 +109,7 @@ Signed-off-by: Paolo Abeni dev_core_stats_rx_dropped_inc(skb->dev); kfree_skb_reason(skb, reason); -@@ -5905,7 +5905,7 @@ static void flush_backlog(struct work_st +@@ -5909,7 +5909,7 @@ static void flush_backlog(struct work_st local_bh_disable(); sd = this_cpu_ptr(&softnet_data); @@ -118,7 +118,7 @@ Signed-off-by: Paolo Abeni skb_queue_walk_safe(&sd->input_pkt_queue, skb, tmp) { if (skb->dev->reg_state == NETREG_UNREGISTERING) { __skb_unlink(skb, &sd->input_pkt_queue); -@@ -5913,7 +5913,7 @@ static void flush_backlog(struct work_st +@@ -5917,7 +5917,7 @@ static void flush_backlog(struct work_st input_queue_head_incr(sd); } } @@ -127,7 +127,7 @@ Signed-off-by: Paolo Abeni skb_queue_walk_safe(&sd->process_queue, skb, tmp) { if (skb->dev->reg_state == NETREG_UNREGISTERING) { -@@ -5931,14 +5931,14 @@ static bool flush_required(int cpu) +@@ -5935,14 +5935,14 @@ static bool flush_required(int cpu) struct softnet_data *sd = &per_cpu(softnet_data, cpu); bool do_flush; @@ -144,7 +144,7 @@ Signed-off-by: Paolo Abeni return do_flush; #endif -@@ -6053,7 +6053,7 @@ static int process_backlog(struct napi_s +@@ -6057,7 +6057,7 @@ static int process_backlog(struct napi_s } @@ -153,7 +153,7 @@ Signed-off-by: Paolo Abeni if (skb_queue_empty(&sd->input_pkt_queue)) { /* * Inline a custom version of __napi_complete(). -@@ -6069,7 +6069,7 @@ static int process_backlog(struct napi_s +@@ -6073,7 +6073,7 @@ static int process_backlog(struct napi_s skb_queue_splice_tail_init(&sd->input_pkt_queue, &sd->process_queue); } diff --git a/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch b/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch index 30758f180f3e95..42aff7f0afc1ee 100644 --- a/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch +++ b/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch @@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -9755,6 +9755,15 @@ static void netdev_sync_lower_features(s +@@ -9759,6 +9759,15 @@ static void netdev_sync_lower_features(s } } @@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski static netdev_features_t netdev_fix_features(struct net_device *dev, netdev_features_t features) { -@@ -9836,15 +9845,9 @@ static netdev_features_t netdev_fix_feat +@@ -9840,15 +9849,9 @@ static netdev_features_t netdev_fix_feat features &= ~NETIF_F_LRO; } @@ -55,7 +55,7 @@ Signed-off-by: Jakub Kicinski } if ((features & NETIF_F_HW_TLS_RX) && !(features & NETIF_F_RXCSUM)) { -@@ -9852,6 +9855,11 @@ static netdev_features_t netdev_fix_feat +@@ -9856,6 +9859,11 @@ static netdev_features_t netdev_fix_feat features &= ~NETIF_F_HW_TLS_RX; } diff --git a/target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch b/target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch index 2db89c5a05a3dd..d72882dbb6829b 100644 --- a/target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch +++ b/target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch @@ -18,7 +18,7 @@ Signed-off-by: Paolo Abeni --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -10662,6 +10662,8 @@ struct rtnl_link_stats64 *dev_get_stats( +@@ -10666,6 +10666,8 @@ struct rtnl_link_stats64 *dev_get_stats( ops->ndo_get_stats64(dev, storage); } else if (ops->ndo_get_stats) { netdev_stats_to_stats64(storage, ops->ndo_get_stats(dev)); diff --git a/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch b/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch index aea95667e5f9b6..3f48a8c34a9338 100644 --- a/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch +++ b/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch @@ -49,7 +49,7 @@ Signed-off-by: David S. Miller unsigned char name_assign_type, --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -10349,25 +10349,12 @@ err_free_name: +@@ -10353,25 +10353,12 @@ err_free_name: } EXPORT_SYMBOL(register_netdevice); @@ -79,7 +79,7 @@ Signed-off-by: David S. Miller /* make sure we BUG if trying to hit standard * register/unregister code path */ -@@ -10387,12 +10374,32 @@ int init_dummy_netdev(struct net_device +@@ -10391,12 +10378,32 @@ int init_dummy_netdev(struct net_device * because users of this 'device' dont need to change * its refcount. */ @@ -113,7 +113,7 @@ Signed-off-by: David S. Miller /** * register_netdev - register a network device * @dev: device to register -@@ -10986,6 +10993,19 @@ void free_netdev(struct net_device *dev) +@@ -10990,6 +10997,19 @@ void free_netdev(struct net_device *dev) EXPORT_SYMBOL(free_netdev); /** diff --git a/target/linux/generic/backport-6.6/770-net-introduce-napi_is_scheduled-helper.patch b/target/linux/generic/backport-6.6/770-net-introduce-napi_is_scheduled-helper.patch index 838bd03c8c55ef..d7b2b275067fb8 100644 --- a/target/linux/generic/backport-6.6/770-net-introduce-napi_is_scheduled-helper.patch +++ b/target/linux/generic/backport-6.6/770-net-introduce-napi_is_scheduled-helper.patch @@ -85,7 +85,7 @@ Signed-off-by: Paolo Abeni /** --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6606,7 +6606,7 @@ static int __napi_poll(struct napi_struc +@@ -6610,7 +6610,7 @@ static int __napi_poll(struct napi_struc * accidentally calling ->poll() when NAPI is not scheduled. */ work = 0; diff --git a/target/linux/generic/backport-6.6/771-v6.7-02-net-stmmac-move-TX-timer-arm-after-DMA-enable.patch b/target/linux/generic/backport-6.6/771-v6.7-02-net-stmmac-move-TX-timer-arm-after-DMA-enable.patch index 60dfe4c0357aaa..66a9251438a265 100644 --- a/target/linux/generic/backport-6.6/771-v6.7-02-net-stmmac-move-TX-timer-arm-after-DMA-enable.patch +++ b/target/linux/generic/backport-6.6/771-v6.7-02-net-stmmac-move-TX-timer-arm-after-DMA-enable.patch @@ -42,7 +42,7 @@ Signed-off-by: Paolo Abeni u64_stats_update_begin(&txq_stats->napi_syncp); u64_stats_add(&txq_stats->napi.tx_packets, tx_packets); -@@ -5590,6 +5594,7 @@ static int stmmac_napi_poll_tx(struct na +@@ -5602,6 +5606,7 @@ static int stmmac_napi_poll_tx(struct na container_of(napi, struct stmmac_channel, tx_napi); struct stmmac_priv *priv = ch->priv_data; struct stmmac_txq_stats *txq_stats; @@ -50,7 +50,7 @@ Signed-off-by: Paolo Abeni u32 chan = ch->index; int work_done; -@@ -5598,7 +5603,7 @@ static int stmmac_napi_poll_tx(struct na +@@ -5610,7 +5615,7 @@ static int stmmac_napi_poll_tx(struct na u64_stats_inc(&txq_stats->napi.poll); u64_stats_update_end(&txq_stats->napi_syncp); @@ -59,7 +59,7 @@ Signed-off-by: Paolo Abeni work_done = min(work_done, budget); if (work_done < budget && napi_complete_done(napi, work_done)) { -@@ -5609,6 +5614,10 @@ static int stmmac_napi_poll_tx(struct na +@@ -5621,6 +5626,10 @@ static int stmmac_napi_poll_tx(struct na spin_unlock_irqrestore(&ch->lock, flags); } @@ -70,7 +70,7 @@ Signed-off-by: Paolo Abeni return work_done; } -@@ -5617,6 +5626,7 @@ static int stmmac_napi_poll_rxtx(struct +@@ -5629,6 +5638,7 @@ static int stmmac_napi_poll_rxtx(struct struct stmmac_channel *ch = container_of(napi, struct stmmac_channel, rxtx_napi); struct stmmac_priv *priv = ch->priv_data; @@ -78,7 +78,7 @@ Signed-off-by: Paolo Abeni int rx_done, tx_done, rxtx_done; struct stmmac_rxq_stats *rxq_stats; struct stmmac_txq_stats *txq_stats; -@@ -5632,7 +5642,7 @@ static int stmmac_napi_poll_rxtx(struct +@@ -5644,7 +5654,7 @@ static int stmmac_napi_poll_rxtx(struct u64_stats_inc(&txq_stats->napi.poll); u64_stats_update_end(&txq_stats->napi_syncp); @@ -87,7 +87,7 @@ Signed-off-by: Paolo Abeni tx_done = min(tx_done, budget); rx_done = stmmac_rx_zc(priv, budget, chan); -@@ -5657,6 +5667,10 @@ static int stmmac_napi_poll_rxtx(struct +@@ -5669,6 +5679,10 @@ static int stmmac_napi_poll_rxtx(struct spin_unlock_irqrestore(&ch->lock, flags); } diff --git a/target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch b/target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch index 9e38d88e22bf36..21db87419ee970 100644 --- a/target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch +++ b/target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch @@ -23,7 +23,7 @@ Signed-off-by: David S. Miller --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -10979,7 +10979,8 @@ void free_netdev(struct net_device *dev) +@@ -10983,7 +10983,8 @@ void free_netdev(struct net_device *dev) dev->xdp_bulkq = NULL; /* Compatibility with error handling in drivers */ diff --git a/target/linux/generic/hack-6.6/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch b/target/linux/generic/hack-6.6/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch index 85a19027fda7f6..1c5fb11ff540cd 100644 --- a/target/linux/generic/hack-6.6/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch +++ b/target/linux/generic/hack-6.6/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch @@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/base/core.c +++ b/drivers/base/core.c -@@ -1658,7 +1658,7 @@ static void device_links_purge(struct de +@@ -1657,7 +1657,7 @@ static void device_links_purge(struct de #define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \ DL_FLAG_PM_RUNTIME) diff --git a/target/linux/qualcommax/patches-6.6/0061-v6.8-phy-qcom-qmp-usb-fix-serdes-init-sequence-for-IPQ6018.patch b/target/linux/qualcommax/patches-6.6/0061-v6.8-phy-qcom-qmp-usb-fix-serdes-init-sequence-for-IPQ6018.patch index 4082e3d8526b9d..9021b572e8e04d 100644 --- a/target/linux/qualcommax/patches-6.6/0061-v6.8-phy-qcom-qmp-usb-fix-serdes-init-sequence-for-IPQ6018.patch +++ b/target/linux/qualcommax/patches-6.6/0061-v6.8-phy-qcom-qmp-usb-fix-serdes-init-sequence-for-IPQ6018.patch @@ -47,7 +47,7 @@ Signed-off-by: Vinod Koul static const struct qmp_phy_cfg ipq8074_usb3phy_cfg = { .lanes = 1, -@@ -2238,7 +2258,7 @@ err_node_put: +@@ -2239,7 +2259,7 @@ err_node_put: static const struct of_device_id qmp_usb_of_match_table[] = { { .compatible = "qcom,ipq6018-qmp-usb3-phy", diff --git a/target/linux/starfive/patches-6.6/1009-net-stmmac-use-GFP_DMA32.patch b/target/linux/starfive/patches-6.6/1009-net-stmmac-use-GFP_DMA32.patch index ad8b92f7158083..25849e7c26d984 100644 --- a/target/linux/starfive/patches-6.6/1009-net-stmmac-use-GFP_DMA32.patch +++ b/target/linux/starfive/patches-6.6/1009-net-stmmac-use-GFP_DMA32.patch @@ -19,7 +19,7 @@ Signed-off-by: Matteo Croce if (priv->dma_cap.host_dma_width <= 32) gfp |= GFP_DMA32; -@@ -4673,7 +4673,7 @@ static inline void stmmac_rx_refill(stru +@@ -4685,7 +4685,7 @@ static inline void stmmac_rx_refill(stru struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[queue]; int dirty = stmmac_rx_dirty(priv, queue); unsigned int entry = rx_q->dirty_rx; From 0ce237a20cc5168c62afcacb3b47d77a952d64c1 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Thu, 7 Nov 2024 22:49:21 +0100 Subject: [PATCH 27/48] base-files: Remove pkg_check when using apk /sbin/pkg_check uses opkg and is not even packaged when using the default opkg configuration. remove it when using apk too. Signed-off-by: Hauke Mehrtens --- package/base-files/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 4da50a27362dce..4bcb4882d733c4 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -251,6 +251,7 @@ ifneq ($(CONFIG_USE_APK),) $(VERSION_SED_SCRIPT) $(1)/etc/apk/repositories rm -f $(1)/etc/uci-defaults/13_fix-group-user + rm -f $(1)/sbin/pkg_check else $(if $(CONFIG_CLEAN_IPKG),, \ mkdir -p $(1)/etc/opkg; \ From be952e98bc1d768a0da5b84e59a6e7c04a1cdab8 Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Sun, 10 Nov 2024 15:57:01 +0200 Subject: [PATCH 28/48] wolfssl: Adjust version for apk Adjust wolfssl version for apk by removing the "-stable" from the OpenWrt version, although it is still needed for upstream download archive name. Define PKG_BUILD_DIR accordingly. Utilize new short version to simplify ABI_VERSION calculation. Signed-off-by: Hannu Nyman Link: https://github.com/openwrt/openwrt/pull/16906 Signed-off-by: Christian Marangi --- package/libs/wolfssl/Makefile | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/package/libs/wolfssl/Makefile b/package/libs/wolfssl/Makefile index bac4a8ef52bc83..56daacc71bd03e 100644 --- a/package/libs/wolfssl/Makefile +++ b/package/libs/wolfssl/Makefile @@ -8,13 +8,16 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wolfssl -PKG_VERSION:=5.7.2-stable +PKG_VERSION:=5.7.2 +PKG_REAL_VERSION:=$(PKG_VERSION)-stable PKG_RELEASE:=1 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_REAL_VERSION).tar.gz +PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_REAL_VERSION) PKG_HASH:=0f2ed82e345b833242705bbc4b08a2a2037a33f7bf9c610efae6464f6b10e305 +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_REAL_VERSION) + PKG_FIXUP:=libtool libtool-abiver PKG_INSTALL:=1 PKG_BUILD_FLAGS:=no-mips16 lto @@ -40,7 +43,7 @@ PKG_CONFIG_DEPENDS:=\ CONFIG_WOLFSSL_HAS_TLSV13 \ CONFIG_WOLFSSL_HAS_WPAS -PKG_ABI_VERSION:=$(patsubst %-stable,%,$(PKG_VERSION)).$(call version_abbrev,$(call confvar,$(PKG_CONFIG_DEPENDS))) +PKG_ABI_VERSION:=$(PKG_VERSION).$(call version_abbrev,$(call confvar,$(PKG_CONFIG_DEPENDS))) PKG_CONFIG_DEPENDS+=\ CONFIG_PACKAGE_libwolfssl-benchmark \ From adb921c34ff220951a699665bb35dc0e3538b3b2 Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Sun, 10 Nov 2024 17:16:51 +0200 Subject: [PATCH 29/48] gdb: Fix description for apk, remove backtick Remove backtick from gdb description text, as that seems to be recognized as a shell action by compilation with apk, causing error. Example from test buildbot: rstrip.sh: /builder/shared-workdir/build/sdk/build_dir/target-aarch64_generic_musl/gdb-15.2/ipkg-aarch64_generic/gdb/usr/bin/gdb: executable bash: -c: line 1: unexpected EOF while looking for matching ``' bash: -c: line 2: syntax error: unexpected end of file make[3]: *** [Makefile:123: /builder/shared-workdir/build/sdk/bin/packages/aarch64_generic/base/gdb-15.2-r1.apk] Error 2 Local compilation: rstrip.sh: /OpenWrt/aarch64/build_dir/target-aarch64_cortex-a53_musl/gdb-15.2/ipkg-aarch64_cortex-a53/gdb/usr/bin/gdb: executable bash: -c: line 1: unexpected EOF while looking for matching ``' make[2]: *** [Makefile:123: /OpenWrt/aarch64/bin/packages/aarch64_cortex-a53/base/gdb-15.2-r1.apk] Error 2 Signed-off-by: Hannu Nyman Link: https://github.com/openwrt/openwrt/pull/16908 Signed-off-by: Hauke Mehrtens --- package/devel/gdb/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/devel/gdb/Makefile b/package/devel/gdb/Makefile index 366746be87fbaf..7bdc6c83cbe899 100644 --- a/package/devel/gdb/Makefile +++ b/package/devel/gdb/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=gdb PKG_VERSION:=15.2 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/gdb @@ -37,7 +37,7 @@ $(call Package/gdb/Default) endef define Package/gdb/description -GDB, the GNU Project debugger, allows you to see what is going on `inside' +GDB, the GNU Project debugger, allows you to see what is going on 'inside' another program while it executes -- or what another program was doing at the moment it crashed. endef From 44824f0b787b13e2f2fccc58256b2c42fa3f9f5d Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 18 Oct 2024 19:08:02 -0700 Subject: [PATCH 30/48] lantiq: use more devm for i2c i2c_add_numbered_adapter is the wrong function to use here. It requires setting nr to some value, otherwise it behaves the same as i2c_add_adapter. nr is not set. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/16825 Signed-off-by: Hauke Mehrtens --- ...I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/target/linux/lantiq/patches-6.6/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch b/target/linux/lantiq/patches-6.6/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch index 235e48f6deb0ff..1f2f5139d60a13 100644 --- a/target/linux/lantiq/patches-6.6/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch +++ b/target/linux/lantiq/patches-6.6/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch @@ -47,7 +47,7 @@ Signed-off-by: John Crispin obj-$(CONFIG_I2C_MESON) += i2c-meson.o --- /dev/null +++ b/drivers/i2c/busses/i2c-lantiq.c -@@ -0,0 +1,745 @@ +@@ -0,0 +1,742 @@ + +/* + * Lantiq I2C bus adapter @@ -658,7 +658,9 @@ Signed-off-by: John Crispin + } + + init_completion(&priv->cmd_complete); -+ mutex_init(&priv->mutex); ++ ret = devm_mutex_init(&pdev->dev, &priv->mutex); ++ if (ret) ++ return ret; + + priv->membase = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(priv->membase)) @@ -719,7 +721,7 @@ Signed-off-by: John Crispin + clk_activate(priv->clk_gate); + + /* add our adapter to the i2c stack */ -+ ret = i2c_add_numbered_adapter(adap); ++ ret = devm_i2c_add_adapter(&pdev->dev, adap); + if (ret) { + dev_err(&pdev->dev, "can't register I2C adapter\n"); + goto out; @@ -737,7 +739,6 @@ Signed-off-by: John Crispin + ret = ltq_i2c_hw_init(adap); + if (ret) { + dev_err(&pdev->dev, "can't configure adapter\n"); -+ i2c_del_adapter(adap); + platform_set_drvdata(pdev, NULL); + goto out; + } else { @@ -762,10 +763,6 @@ Signed-off-by: John Crispin + /* power down the core */ + clk_deactivate(priv->clk_gate); + -+ /* remove driver */ -+ i2c_del_adapter(&priv->adap); -+ kfree(priv); -+ + dev_dbg(&pdev->dev, "removed\n"); + platform_set_drvdata(pdev, NULL); + From fccff963c0a6ba035455daea61566f4d121643e3 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 31 Oct 2024 12:22:04 -0700 Subject: [PATCH 31/48] lantiq: use devm for mutex_init It's common to avoid calling mutex_destroy when done. It's not correct strictly speaking. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/16832 Signed-off-by: Hauke Mehrtens --- .../0008-MIPS-lantiq-backport-old-timer-code.patch | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/target/linux/lantiq/patches-6.6/0008-MIPS-lantiq-backport-old-timer-code.patch b/target/linux/lantiq/patches-6.6/0008-MIPS-lantiq-backport-old-timer-code.patch index 81bf72913b66f4..a396efd99078f6 100644 --- a/target/linux/lantiq/patches-6.6/0008-MIPS-lantiq-backport-old-timer-code.patch +++ b/target/linux/lantiq/patches-6.6/0008-MIPS-lantiq-backport-old-timer-code.patch @@ -186,7 +186,7 @@ Signed-off-by: John Crispin obj-y += vmmc.o --- /dev/null +++ b/arch/mips/lantiq/xway/timer.c -@@ -0,0 +1,886 @@ +@@ -0,0 +1,888 @@ +#ifndef CONFIG_SOC_AMAZON_SE + +#include @@ -989,7 +989,9 @@ Signed-off-by: John Crispin + ltq_w32(0xfff, LQ_GPTU_IRNCR); + + memset(&timer_dev, 0, sizeof(timer_dev)); -+ mutex_init(&timer_dev.gptu_mutex); ++ ret = devm_mutex_init(&pdev->dev, &timer_dev.gptu_mutex); ++ if (ret) ++ return ret; + + lq_enable_gptu(); + timer_dev.number_of_timers = GPTU_ID_CFG * 2; From d9ed0d438b0ec7d813764d629be7a753dc3fbac5 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Thu, 24 Oct 2024 00:06:09 +0200 Subject: [PATCH 32/48] libnftnl: update to 1.2.8 Release Announcement: https://www.spinics.net/lists/netfilter-devel/msg87287.html https://www.spinics.net/lists/netfilter-devel/msg88520.html Link: https://github.com/openwrt/openwrt/pull/16769 Signed-off-by: Hauke Mehrtens --- package/libs/libnftnl/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/libs/libnftnl/Makefile b/package/libs/libnftnl/Makefile index b512d4d58fe616..f06b223993c2be 100644 --- a/package/libs/libnftnl/Makefile +++ b/package/libs/libnftnl/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libnftnl PKG_CPE_ID:=cpe:/a:netfilter:libnftnl -PKG_VERSION:=1.2.6 +PKG_VERSION:=1.2.8 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files -PKG_HASH:=ceeaea2cd92147da19f13a35a7f1a4bc2767ff897e838e4b479cf54b59c777f4 +PKG_HASH:=37fea5d6b5c9b08de7920d298de3cdc942e7ae64b1a3e8b880b2d390ae67ad95 PKG_MAINTAINER:=Steven Barth PKG_LICENSE:=GPL-2.0-or-later From c11a18be0dc38c81280baa948500fe1a57de0685 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Thu, 24 Oct 2024 00:09:22 +0200 Subject: [PATCH 33/48] nftables: update to 1.1.1 Release Announcement: https://lwn.net/Articles/982283/ https://lwn.net/Articles/992760/ Link: https://github.com/openwrt/openwrt/pull/16769 Signed-off-by: Hauke Mehrtens --- package/network/utils/nftables/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/network/utils/nftables/Makefile b/package/network/utils/nftables/Makefile index 38a8199d11dc09..06b3fcfcdad7ad 100644 --- a/package/network/utils/nftables/Makefile +++ b/package/network/utils/nftables/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nftables -PKG_VERSION:=1.0.9 +PKG_VERSION:=1.1.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files -PKG_HASH:=a3c304cd9ba061239ee0474f9afb938a9bb99d89b960246f66f0c3a0a85e14cd +PKG_HASH:=6358830f3a64f31e39b0ad421d7dadcd240b72343ded48d8ef13b8faf204865a PKG_MAINTAINER:= PKG_LICENSE:=GPL-2.0 From 40b8fbaa9754c86480eefc3692c9116a51a64718 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Wed, 6 Nov 2024 16:08:32 +0100 Subject: [PATCH 34/48] config: Use APK as package manager by default This commit comes after a long period of hard work, starting back in early 2021 as a proof of concept. Thanks to the Alpine Linux project for creating such a nice package manager. Thanks to everyone involved; this is going to be great! Signed-off-by: Paul Spooren --- config/Config-build.in | 1 + 1 file changed, 1 insertion(+) diff --git a/config/Config-build.in b/config/Config-build.in index 481be0bb6c55dd..6db2354e88c54f 100644 --- a/config/Config-build.in +++ b/config/Config-build.in @@ -71,6 +71,7 @@ menu "Global build settings" config USE_APK imply PACKAGE_apk-mbedtls bool "Use APK instead of OPKG to build distribution (EXPERIMENTAL)" + default y comment "General build options" From cdfe413d263409e33eda936c34c4338eed66b5a5 Mon Sep 17 00:00:00 2001 From: Mieczyslaw Nalewaj Date: Mon, 11 Nov 2024 09:14:28 +0100 Subject: [PATCH 35/48] spidev_test: fix version for APK Refactor version of spidev_test for APK. Signed-off-by: Mieczyslaw Nalewaj Link: https://github.com/openwrt/openwrt/pull/16917 Signed-off-by: Robert Marko --- package/utils/spidev_test/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package/utils/spidev_test/Makefile b/package/utils/spidev_test/Makefile index fef5c8f6467a2f..d264a8950acdac 100644 --- a/package/utils/spidev_test/Makefile +++ b/package/utils/spidev_test/Makefile @@ -9,7 +9,8 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=spidev-test -PKG_RELEASE:=$(LINUX_VERSION) +PKG_VERSION:=$(LINUX_VERSION) +PKG_RELEASE:=1 PKG_BUILD_DIR:=$(LINUX_DIR)/tools/spi-$(TARGET_DIR_NAME) PKG_BUILD_PARALLEL:=1 @@ -20,7 +21,7 @@ define Package/spidev-test CATEGORY:=Utilities DEPENDS:=+kmod-spi-dev TITLE:=SPI testing utility - VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE) + VERSION:=$(LINUX_VERSION)-r$(PKG_RELEASE) URL:=http://www.kernel.org endef From 44598c233dd9a676bc34666968f33f8b9ff4dd0c Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 11 Nov 2024 19:52:14 +0100 Subject: [PATCH 36/48] build: remove broken dependency of metadata on toplevel .config variables Instead of relying on .config symbols for metadata, alter the DEFAULT variable of affected packages. Fixes enabling opkg vs apk among others. Signed-off-by: Felix Fietkau --- include/target.mk | 40 ++-------------------------------- package/system/apk/Makefile | 1 + package/system/opkg/Makefile | 1 + package/system/procd/Makefile | 3 +++ package/utils/busybox/Makefile | 2 ++ 5 files changed, 9 insertions(+), 38 deletions(-) diff --git a/include/target.mk b/include/target.mk index d13902ad6e78ec..3dc0acff5c2620 100644 --- a/include/target.mk +++ b/include/target.mk @@ -77,45 +77,9 @@ else endif endif -ifneq ($(DUMP),) - # Parse generic config that might be set before a .config is generated to modify the - # default package configuration - # Keep DYNAMIC_DEF_PKG_CONF in sync with toplevel.mk to reflect the same configs - DYNAMIC_DEF_PKG_CONF := CONFIG_USE_APK CONFIG_SELINUX CONFIG_SMALL_FLASH CONFIG_SECCOMP - $(foreach config, $(DYNAMIC_DEF_PKG_CONF), \ - $(eval $(config) := $(shell grep "$(config)=y" $(TOPDIR)/.config 2>/dev/null)) \ - ) - # The config options that are enabled by default and where other default - # packages depends on needs to be set if they are missing in the .config. - ifeq ($(shell grep "CONFIG_SECCOMP" $(TOPDIR)/.config 2>/dev/null),) - ifeq ($(filter $(BOARD), uml),) - ifneq ($(filter $(ARCH), aarch64 arm armeb mips mipsel mips64 mips64el i386 powerpc x86_64),) - CONFIG_SECCOMP := y - endif - endif - endif -endif - -ifneq ($(CONFIG_USE_APK),) -DEFAULT_PACKAGES+=apk-mbedtls -else -DEFAULT_PACKAGES+=opkg -endif - -ifneq ($(CONFIG_SELINUX),) -DEFAULT_PACKAGES+=busybox-selinux procd-selinux -else -DEFAULT_PACKAGES+=busybox procd -endif - # include ujail on systems with enough storage -ifeq ($(CONFIG_SMALL_FLASH),) -DEFAULT_PACKAGES+=procd-ujail -endif - -# include seccomp ld-preload hooks if kernel supports it -ifneq ($(CONFIG_SECCOMP),) -DEFAULT_PACKAGES+=procd-seccomp +ifeq ($(filter small_flash,$(FEATURES)),) + DEFAULT_PACKAGES+=procd-ujail endif # Add device specific packages (here below to allow device type set from subtarget) diff --git a/package/system/apk/Makefile b/package/system/apk/Makefile index cd1b56caf6153c..2d637fa180987d 100644 --- a/package/system/apk/Makefile +++ b/package/system/apk/Makefile @@ -36,6 +36,7 @@ define Package/apk-mbedtls $(Package/apk/default) TITLE += (mbedtls) DEPENDS +=+libmbedtls + DEFAULT:=y if USE_APK VARIANT:=mbedtls DEFAULT_VARIANT:=1 CONFLICTS:=apk-openssl diff --git a/package/system/opkg/Makefile b/package/system/opkg/Makefile index 9fea969ae96e0b..e7c45e3523135a 100644 --- a/package/system/opkg/Makefile +++ b/package/system/opkg/Makefile @@ -39,6 +39,7 @@ define Package/opkg CATEGORY:=Base system TITLE:=opkg package manager DEPENDS:=+uclient-fetch +libpthread +libubox + DEFAULT:=y if !USE_APK URL:=$(PKG_SOURCE_URL) MENU:=1 endef diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile index 86de4babfdfaff..9ff6fb80f7c949 100644 --- a/package/system/procd/Makefile +++ b/package/system/procd/Makefile @@ -50,6 +50,7 @@ define Package/procd $(call Package/procd/Default) VARIANT:=default CONFLICTS:=procd-selinux + DEFAULT:=y if !SELINUX endef define Package/procd-selinux @@ -58,6 +59,7 @@ define Package/procd-selinux TITLE += with SELinux support PROVIDES:=procd VARIANT:=selinux + DEFAULT:=y if SELINUX endef define Package/procd-ujail @@ -73,6 +75,7 @@ define Package/procd-seccomp CATEGORY:=Base system DEPENDS:=@SECCOMP +libubox +libblobmsg-json TITLE:=OpenWrt process seccomp helper + utrace + DEFAULT:=y if SECCOMP endef define Package/uxc diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile index 4ef470df755890..7b591db71679c7 100644 --- a/package/utils/busybox/Makefile +++ b/package/utils/busybox/Makefile @@ -56,6 +56,7 @@ define Package/busybox $(call Package/busybox/Default) CONFLICTS:=busybox-selinux VARIANT:=default + DEFAULT:=y if !SELINUX endef define Package/busybox-selinux @@ -64,6 +65,7 @@ define Package/busybox-selinux DEPENDS += +libselinux VARIANT:=selinux PROVIDES:=busybox + DEFAULT:=y if SELINUX endef define Package/busybox/description From 1f3d5858b441cf4e1195b96242dd08d68538e83d Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 9 Nov 2024 15:46:26 -0800 Subject: [PATCH 37/48] mdadm: backport musl patch Needed to fix compilation with GCC14. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/16912 Signed-off-by: Robert Marko --- package/utils/mdadm/Makefile | 2 +- package/utils/mdadm/patches/060-gcc14.patch | 24 +++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 package/utils/mdadm/patches/060-gcc14.patch diff --git a/package/utils/mdadm/Makefile b/package/utils/mdadm/Makefile index c2778fe351cb3a..b521daaefc92b2 100644 --- a/package/utils/mdadm/Makefile +++ b/package/utils/mdadm/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mdadm PKG_VERSION:=4.3 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm diff --git a/package/utils/mdadm/patches/060-gcc14.patch b/package/utils/mdadm/patches/060-gcc14.patch new file mode 100644 index 00000000000000..545a40ac0ac563 --- /dev/null +++ b/package/utils/mdadm/patches/060-gcc14.patch @@ -0,0 +1,24 @@ +From 8bda86099089b44129ef6206764f9de47a45f0db Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 12 Mar 2024 11:01:50 +0100 +Subject: [PATCH] util.c: add limits.h include for NAME_MAX definition + +Add limits.h include for NAME_MAX definition. + +Signed-off-by: Alexander Kanavin +Signed-off-by: Mariusz Tkaczyk +--- + util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/util.c ++++ b/util.c +@@ -36,7 +36,7 @@ + #include + #include + #include +- ++#include + + /* + * following taken from linux/blkpg.h because they aren't From 3e42526404f021094ae3fa41524c396d753f4c6c Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Mon, 11 Nov 2024 12:23:01 -0800 Subject: [PATCH 38/48] ramips: mt7621: fix typo Missing u caused the regulator to fail probe. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/16925 Signed-off-by: Robert Marko --- target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts b/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts index 2d06b949f2f027..41173dd1295ffe 100644 --- a/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts +++ b/target/linux/ramips/dts/mt7621_zyxel_lte5398-m904.dts @@ -96,7 +96,7 @@ reg_usb_power: regulator { compatible = "regulator-fixed"; - reglator-name = "usb_power"; + regulator-name = "usb_power"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; From fc9ec5bd3d22d50654af154fc779517fa7aecb33 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sun, 10 Nov 2024 00:31:18 +0100 Subject: [PATCH 39/48] include: cmake.mk: honor CONFIG_DEBUG Set CMAKE_BUILD_TYPE according to CONFIG_DEBUG. Signed-off-by: Daniel Golle --- include/cmake.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/cmake.mk b/include/cmake.mk index 87309dd0458a82..f59410c2f32dd8 100644 --- a/include/cmake.mk +++ b/include/cmake.mk @@ -97,7 +97,7 @@ define Build/Configure/Default -DCMAKE_SYSTEM_NAME=Linux \ -DCMAKE_SYSTEM_VERSION=1 \ -DCMAKE_SYSTEM_PROCESSOR=$(ARCH) \ - -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_BUILD_TYPE=$(if $(CONFIG_DEBUG),Debug,Release) \ -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \ -DCMAKE_C_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \ From be3e7a84bd37f29e14e4c6a89b8c79bc9808c36c Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sun, 10 Nov 2024 00:32:05 +0100 Subject: [PATCH 40/48] include: meson.mk: honor CONFIG_DEBUG Set buildtype according to CONFIG_DEBUG. Signed-off-by: Daniel Golle --- include/meson.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/meson.mk b/include/meson.mk index 2a20c2bd6bd04e..ff452d8b01fa4c 100644 --- a/include/meson.mk +++ b/include/meson.mk @@ -124,7 +124,7 @@ define Build/Configure/Meson $(call Meson/CreateCrossFile,$(PKG_BUILD_DIR)/openwrt-cross.txt) $(call Meson, \ setup \ - --buildtype plain \ + --buildtype $(if $(CONFIG_DEBUG),debug,plain) \ --native-file $(PKG_BUILD_DIR)/openwrt-native.txt \ --cross-file $(PKG_BUILD_DIR)/openwrt-cross.txt \ -Ddefault_library=both \ From 1125ed408c7f0d130b5606ab39e4dd98a41d5f0a Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sun, 10 Nov 2024 15:54:14 -0800 Subject: [PATCH 41/48] realtek: rtl83xx: use devm for mutex_init mutex_destroy is missing in remove. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/16926 Signed-off-by: Robert Marko --- .../linux/realtek/files-6.6/drivers/net/dsa/rtl83xx/common.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/linux/realtek/files-6.6/drivers/net/dsa/rtl83xx/common.c b/target/linux/realtek/files-6.6/drivers/net/dsa/rtl83xx/common.c index 5468fc0653ef51..fe0980a1beb82a 100644 --- a/target/linux/realtek/files-6.6/drivers/net/dsa/rtl83xx/common.c +++ b/target/linux/realtek/files-6.6/drivers/net/dsa/rtl83xx/common.c @@ -1492,7 +1492,9 @@ static int __init rtl83xx_sw_probe(struct platform_device *pdev) priv->ds->needs_standalone_vlan_filtering = true; priv->dev = dev; - mutex_init(&priv->reg_mutex); + err = devm_mutex_init(dev, &priv->reg_mutex); + if (err) + return err; priv->family_id = soc_info.family; priv->id = soc_info.id; From 64fbc965958a752c6ae722b1a9162e5a3438fbce Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Tue, 12 Nov 2024 13:55:30 +0100 Subject: [PATCH 42/48] airoha: an7581: backport upstream ethernet fixes Backport patches fixing some ethernet problem merged upstream. Signed-off-by: Christian Marangi --- ...completion-queue-data-in-airoha_qdma.patch | 92 +++++++++++++ ...13-net-airoha-Simplify-Tx-napi-logic.patch | 130 ++++++++++++++++++ 2 files changed, 222 insertions(+) create mode 100644 target/linux/airoha/patches-6.6/031-01-v6.13-net-airoha-Read-completion-queue-data-in-airoha_qdma.patch create mode 100644 target/linux/airoha/patches-6.6/031-02-v6.13-net-airoha-Simplify-Tx-napi-logic.patch diff --git a/target/linux/airoha/patches-6.6/031-01-v6.13-net-airoha-Read-completion-queue-data-in-airoha_qdma.patch b/target/linux/airoha/patches-6.6/031-01-v6.13-net-airoha-Read-completion-queue-data-in-airoha_qdma.patch new file mode 100644 index 00000000000000..306ce6588396bf --- /dev/null +++ b/target/linux/airoha/patches-6.6/031-01-v6.13-net-airoha-Read-completion-queue-data-in-airoha_qdma.patch @@ -0,0 +1,92 @@ +From 3affa310de523d63e52ea8e2efb3c476df29e414 Mon Sep 17 00:00:00 2001 +From: Lorenzo Bianconi +Date: Tue, 29 Oct 2024 13:17:09 +0100 +Subject: [PATCH 1/2] net: airoha: Read completion queue data in + airoha_qdma_tx_napi_poll() + +In order to avoid any possible race, read completion queue head and +pending entry in airoha_qdma_tx_napi_poll routine instead of doing it in +airoha_irq_handler. Remove unused airoha_tx_irq_queue unused fields. +This is a preliminary patch to add Qdisc offload for airoha_eth driver. + +Signed-off-by: Lorenzo Bianconi +Link: https://patch.msgid.link/20241029-airoha-en7581-tx-napi-work-v1-1-96ad1686b946@kernel.org +Signed-off-by: Jakub Kicinski +--- + drivers/net/ethernet/mediatek/airoha_eth.c | 31 +++++++++------------- + 1 file changed, 13 insertions(+), 18 deletions(-) + +--- a/drivers/net/ethernet/mediatek/airoha_eth.c ++++ b/drivers/net/ethernet/mediatek/airoha_eth.c +@@ -752,11 +752,9 @@ struct airoha_tx_irq_queue { + struct airoha_qdma *qdma; + + struct napi_struct napi; +- u32 *q; + + int size; +- int queued; +- u16 head; ++ u32 *q; + }; + + struct airoha_hw_stats { +@@ -1656,25 +1654,31 @@ static int airoha_qdma_init_rx(struct ai + static int airoha_qdma_tx_napi_poll(struct napi_struct *napi, int budget) + { + struct airoha_tx_irq_queue *irq_q; ++ int id, done = 0, irq_queued; + struct airoha_qdma *qdma; + struct airoha_eth *eth; +- int id, done = 0; ++ u32 status, head; + + irq_q = container_of(napi, struct airoha_tx_irq_queue, napi); + qdma = irq_q->qdma; + id = irq_q - &qdma->q_tx_irq[0]; + eth = qdma->eth; + +- while (irq_q->queued > 0 && done < budget) { +- u32 qid, last, val = irq_q->q[irq_q->head]; ++ status = airoha_qdma_rr(qdma, REG_IRQ_STATUS(id)); ++ head = FIELD_GET(IRQ_HEAD_IDX_MASK, status); ++ head = head % irq_q->size; ++ irq_queued = FIELD_GET(IRQ_ENTRY_LEN_MASK, status); ++ ++ while (irq_queued > 0 && done < budget) { ++ u32 qid, last, val = irq_q->q[head]; + struct airoha_queue *q; + + if (val == 0xff) + break; + +- irq_q->q[irq_q->head] = 0xff; /* mark as done */ +- irq_q->head = (irq_q->head + 1) % irq_q->size; +- irq_q->queued--; ++ irq_q->q[head] = 0xff; /* mark as done */ ++ head = (head + 1) % irq_q->size; ++ irq_queued--; + done++; + + last = FIELD_GET(IRQ_DESC_IDX_MASK, val); +@@ -2026,20 +2030,11 @@ static irqreturn_t airoha_irq_handler(in + + if (intr[0] & INT_TX_MASK) { + for (i = 0; i < ARRAY_SIZE(qdma->q_tx_irq); i++) { +- struct airoha_tx_irq_queue *irq_q = &qdma->q_tx_irq[i]; +- u32 status, head; +- + if (!(intr[0] & TX_DONE_INT_MASK(i))) + continue; + + airoha_qdma_irq_disable(qdma, QDMA_INT_REG_IDX0, + TX_DONE_INT_MASK(i)); +- +- status = airoha_qdma_rr(qdma, REG_IRQ_STATUS(i)); +- head = FIELD_GET(IRQ_HEAD_IDX_MASK, status); +- irq_q->head = head % irq_q->size; +- irq_q->queued = FIELD_GET(IRQ_ENTRY_LEN_MASK, status); +- + napi_schedule(&qdma->q_tx_irq[i].napi); + } + } diff --git a/target/linux/airoha/patches-6.6/031-02-v6.13-net-airoha-Simplify-Tx-napi-logic.patch b/target/linux/airoha/patches-6.6/031-02-v6.13-net-airoha-Simplify-Tx-napi-logic.patch new file mode 100644 index 00000000000000..b35f828f118d9e --- /dev/null +++ b/target/linux/airoha/patches-6.6/031-02-v6.13-net-airoha-Simplify-Tx-napi-logic.patch @@ -0,0 +1,130 @@ +From 0c729f53b8c33b9e5eadc2d5e673759e3510501e Mon Sep 17 00:00:00 2001 +From: Lorenzo Bianconi +Date: Tue, 29 Oct 2024 13:17:10 +0100 +Subject: [PATCH 2/2] net: airoha: Simplify Tx napi logic + +Simplify Tx napi logic relying just on the packet index provided by +completion queue indicating the completed packet that can be removed +from the Tx DMA ring. +This is a preliminary patch to add Qdisc offload for airoha_eth driver. + +Signed-off-by: Lorenzo Bianconi +Link: https://patch.msgid.link/20241029-airoha-en7581-tx-napi-work-v1-2-96ad1686b946@kernel.org +Signed-off-by: Jakub Kicinski +--- + drivers/net/ethernet/mediatek/airoha_eth.c | 73 ++++++++++++---------- + 1 file changed, 41 insertions(+), 32 deletions(-) + +--- a/drivers/net/ethernet/mediatek/airoha_eth.c ++++ b/drivers/net/ethernet/mediatek/airoha_eth.c +@@ -1670,8 +1670,12 @@ static int airoha_qdma_tx_napi_poll(stru + irq_queued = FIELD_GET(IRQ_ENTRY_LEN_MASK, status); + + while (irq_queued > 0 && done < budget) { +- u32 qid, last, val = irq_q->q[head]; ++ u32 qid, val = irq_q->q[head]; ++ struct airoha_qdma_desc *desc; ++ struct airoha_queue_entry *e; + struct airoha_queue *q; ++ u32 index, desc_ctrl; ++ struct sk_buff *skb; + + if (val == 0xff) + break; +@@ -1681,9 +1685,7 @@ static int airoha_qdma_tx_napi_poll(stru + irq_queued--; + done++; + +- last = FIELD_GET(IRQ_DESC_IDX_MASK, val); + qid = FIELD_GET(IRQ_RING_IDX_MASK, val); +- + if (qid >= ARRAY_SIZE(qdma->q_tx)) + continue; + +@@ -1691,46 +1693,53 @@ static int airoha_qdma_tx_napi_poll(stru + if (!q->ndesc) + continue; + ++ index = FIELD_GET(IRQ_DESC_IDX_MASK, val); ++ if (index >= q->ndesc) ++ continue; ++ + spin_lock_bh(&q->lock); + +- while (q->queued > 0) { +- struct airoha_qdma_desc *desc = &q->desc[q->tail]; +- struct airoha_queue_entry *e = &q->entry[q->tail]; +- u32 desc_ctrl = le32_to_cpu(desc->ctrl); +- struct sk_buff *skb = e->skb; +- u16 index = q->tail; +- +- if (!(desc_ctrl & QDMA_DESC_DONE_MASK) && +- !(desc_ctrl & QDMA_DESC_DROP_MASK)) +- break; ++ if (!q->queued) ++ goto unlock; + +- q->tail = (q->tail + 1) % q->ndesc; +- q->queued--; ++ desc = &q->desc[index]; ++ desc_ctrl = le32_to_cpu(desc->ctrl); + +- dma_unmap_single(eth->dev, e->dma_addr, e->dma_len, +- DMA_TO_DEVICE); +- +- WRITE_ONCE(desc->msg0, 0); +- WRITE_ONCE(desc->msg1, 0); ++ if (!(desc_ctrl & QDMA_DESC_DONE_MASK) && ++ !(desc_ctrl & QDMA_DESC_DROP_MASK)) ++ goto unlock; ++ ++ e = &q->entry[index]; ++ skb = e->skb; ++ ++ dma_unmap_single(eth->dev, e->dma_addr, e->dma_len, ++ DMA_TO_DEVICE); ++ memset(e, 0, sizeof(*e)); ++ WRITE_ONCE(desc->msg0, 0); ++ WRITE_ONCE(desc->msg1, 0); ++ q->queued--; ++ ++ /* completion ring can report out-of-order indexes if hw QoS ++ * is enabled and packets with different priority are queued ++ * to same DMA ring. Take into account possible out-of-order ++ * reports incrementing DMA ring tail pointer ++ */ ++ while (q->tail != q->head && !q->entry[q->tail].dma_addr) ++ q->tail = (q->tail + 1) % q->ndesc; + +- if (skb) { +- u16 queue = skb_get_queue_mapping(skb); +- struct netdev_queue *txq; +- +- txq = netdev_get_tx_queue(skb->dev, queue); +- netdev_tx_completed_queue(txq, 1, skb->len); +- if (netif_tx_queue_stopped(txq) && +- q->ndesc - q->queued >= q->free_thr) +- netif_tx_wake_queue(txq); +- +- dev_kfree_skb_any(skb); +- e->skb = NULL; +- } ++ if (skb) { ++ u16 queue = skb_get_queue_mapping(skb); ++ struct netdev_queue *txq; ++ ++ txq = netdev_get_tx_queue(skb->dev, queue); ++ netdev_tx_completed_queue(txq, 1, skb->len); ++ if (netif_tx_queue_stopped(txq) && ++ q->ndesc - q->queued >= q->free_thr) ++ netif_tx_wake_queue(txq); + +- if (index == last) +- break; ++ dev_kfree_skb_any(skb); + } +- ++unlock: + spin_unlock_bh(&q->lock); + } + From 3df5966f9453ecefcabc893f6449c8c4f1054aef Mon Sep 17 00:00:00 2001 From: Paul Donald Date: Sun, 10 Nov 2024 19:53:07 +0100 Subject: [PATCH 43/48] cryptodev-linux: give a coherent description For the last ten years, nobody has noticed that this driver doesn't actually say what it is for. ;) Signed-off-by: Paul Donald Link: https://github.com/openwrt/openwrt/pull/16910 Signed-off-by: Christian Marangi --- package/kernel/cryptodev-linux/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package/kernel/cryptodev-linux/Makefile b/package/kernel/cryptodev-linux/Makefile index ea1bd241617b7d..611d4ae27adf2f 100644 --- a/package/kernel/cryptodev-linux/Makefile +++ b/package/kernel/cryptodev-linux/Makefile @@ -36,8 +36,9 @@ define KernelPackage/cryptodev endef define KernelPackage/cryptodev/description - This is a driver for that allows to use the Linux kernel supported - hardware ciphers by user-space applications. + This driver allows use of the Linux kernel supported hardware-based + cryptographic and hash accelerators by user-space applications, + via a "/dev/crypto" device. endef define Build/Configure From ce0b843ac7d27e124cb9ca13e9a1aeb115fcaf23 Mon Sep 17 00:00:00 2001 From: Paul Donald Date: Sun, 10 Nov 2024 19:47:34 +0100 Subject: [PATCH 44/48] cryptodev-linux: change home-page URL Most links and info on the org page are broken or defunct, and all new versions are available on the github based repo anyway. Signed-off-by: Paul Donald Link: https://github.com/openwrt/openwrt/pull/16910 Signed-off-by: Christian Marangi --- package/kernel/cryptodev-linux/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/cryptodev-linux/Makefile b/package/kernel/cryptodev-linux/Makefile index 611d4ae27adf2f..165cc60487b5b0 100644 --- a/package/kernel/cryptodev-linux/Makefile +++ b/package/kernel/cryptodev-linux/Makefile @@ -28,7 +28,7 @@ include $(INCLUDE_DIR)/package.mk define KernelPackage/cryptodev SUBMENU:=Cryptographic API modules TITLE:=Driver for cryptographic acceleration - URL:=http://cryptodev-linux.org/ + URL:=https://github.com/cryptodev-linux/cryptodev-linux DEPENDS:=+kmod-crypto-authenc +kmod-crypto-hash FILES:=$(PKG_BUILD_DIR)/cryptodev.$(LINUX_KMOD_SUFFIX) AUTOLOAD:=$(call AutoLoad,50,cryptodev) From 8729d2a64d282d37b69c0853269af401a0102517 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Wed, 6 Nov 2024 20:13:06 +0100 Subject: [PATCH 45/48] qualcommax: ipq60xx: add NSS reserved memory It seems that despite NSS not being supported in OpenWrt the memory it usually uses needs to be reserved anyway for stability reasons. Link: https://github.com/openwrt/openwrt/pull/16928 Signed-off-by: Robert Marko --- ...qcom-ipq6018-add-NSS-reserved-memory.patch | 27 +++++++++++++++++++ ...arm64-dts-qcom-ipq6018-add-wifi-node.patch | 2 +- ...07-soc-qcom-fix-smp2p-ack-on-ipq6018.patch | 2 +- ...pq6018-assign-QDSS_AT-clock-to-wifi-.patch | 2 +- 4 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 target/linux/qualcommax/patches-6.6/0140-arm64-dts-qcom-ipq6018-add-NSS-reserved-memory.patch diff --git a/target/linux/qualcommax/patches-6.6/0140-arm64-dts-qcom-ipq6018-add-NSS-reserved-memory.patch b/target/linux/qualcommax/patches-6.6/0140-arm64-dts-qcom-ipq6018-add-NSS-reserved-memory.patch new file mode 100644 index 00000000000000..84591c845dc5e7 --- /dev/null +++ b/target/linux/qualcommax/patches-6.6/0140-arm64-dts-qcom-ipq6018-add-NSS-reserved-memory.patch @@ -0,0 +1,27 @@ +From 7e102b1eb2ca3eff7a6f33ebeab17825e6f70956 Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Mon, 4 Nov 2024 22:01:24 +0100 +Subject: [PATCH] arm64: dts: qcom: ipq6018: add NSS reserved memory + +It seems that despite NSS not being supported in OpenWrt the memory it +usually uses needs to be reserved anyway for stability reasons. + +Signed-off-by: Robert Marko +--- + arch/arm64/boot/dts/qcom/ipq6018.dtsi | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi ++++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi +@@ -199,6 +199,11 @@ + no-map; + }; + ++ nss_region: memory@40000000 { ++ reg = <0x0 0x40000000 0x0 0x01000000>; ++ no-map; ++ }; ++ + bootloader@4a100000 { + reg = <0x0 0x4a100000 0x0 0x400000>; + no-map; diff --git a/target/linux/qualcommax/patches-6.6/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch b/target/linux/qualcommax/patches-6.6/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch index f4968f1a4d1c99..d41244d65a6f39 100644 --- a/target/linux/qualcommax/patches-6.6/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch +++ b/target/linux/qualcommax/patches-6.6/0906-arm64-dts-qcom-ipq6018-add-wifi-node.patch @@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -809,6 +809,102 @@ +@@ -814,6 +814,102 @@ }; }; diff --git a/target/linux/qualcommax/patches-6.6/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch b/target/linux/qualcommax/patches-6.6/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch index 094442a59bec6b..5154aad53163db 100644 --- a/target/linux/qualcommax/patches-6.6/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch +++ b/target/linux/qualcommax/patches-6.6/0907-soc-qcom-fix-smp2p-ack-on-ipq6018.patch @@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -1157,6 +1157,7 @@ +@@ -1162,6 +1162,7 @@ wcss_smp2p_out: master-kernel { qcom,entry-name = "master-kernel"; diff --git a/target/linux/qualcommax/patches-6.6/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch b/target/linux/qualcommax/patches-6.6/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch index a0528e7f50a21a..993d60870b82ce 100644 --- a/target/linux/qualcommax/patches-6.6/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch +++ b/target/linux/qualcommax/patches-6.6/0909-arm64-dts-qcom-ipq6018-assign-QDSS_AT-clock-to-wifi-.patch @@ -13,7 +13,7 @@ Signed-off-by: Mantas Pucka --- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi -@@ -930,8 +930,8 @@ +@@ -935,8 +935,8 @@ "wcss_reset", "wcss_q6_reset"; From dbe01f7d999d0e02fa1e01aa596562ce04ec1f6a Mon Sep 17 00:00:00 2001 From: Til Kaiser Date: Tue, 12 Nov 2024 16:33:56 +0100 Subject: [PATCH 46/48] perf: fix version for APK Change the version schema of perf to be compatible with APK as described in this commit: e8725a932e16eaf6ec51add8c084d959cbe32ff2. Signed-off-by: Til Kaiser Link: https://github.com/openwrt/openwrt/pull/16930 Signed-off-by: Christian Marangi --- package/devel/perf/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/devel/perf/Makefile b/package/devel/perf/Makefile index 20be59516dad12..a2830420cc778c 100644 --- a/package/devel/perf/Makefile +++ b/package/devel/perf/Makefile @@ -30,7 +30,7 @@ define Package/perf DEPENDS:= +libelf +libdw +PACKAGE_libunwind:libunwind +libpthread +librt +objdump @!IN_SDK @KERNEL_PERF_EVENTS \ +PACKAGE_libbfd:libbfd +PACKAGE_libopcodes:libopcodes +libtraceevent TITLE:=Linux performance monitoring tool - VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE) + VERSION:=$(LINUX_VERSION)-r$(PKG_RELEASE) URL:=http://www.kernel.org endef From a72c8c770584075782959f2aa5c1487d68517edd Mon Sep 17 00:00:00 2001 From: Sergey Matsievskiy Date: Fri, 8 Nov 2024 14:43:52 +0300 Subject: [PATCH 47/48] build: add comments to makefiles Add comments to build system makefile functions and variables to help developers in understanding build system internals and ease the development process. This patch adds some documentation examples with proposed doxygen-like syntax. Hopefully, this would start the discussion and result in generation of the makefile documentation guidelines. Signed-off-by: Sergey Matsievskiy Link: https://github.com/openwrt/openwrt/pull/16888 Signed-off-by: Christian Marangi --- include/image.mk | 56 +++++++++++++++++++++++++++ include/target.mk | 34 ++++++++++++++--- rules.mk | 97 ++++++++++++++++++++++++++++++++++++++++------- 3 files changed, 169 insertions(+), 18 deletions(-) diff --git a/include/image.mk b/include/image.mk index a4ac1b49cf8aa4..9a4dff2167a14f 100644 --- a/include/image.mk +++ b/include/image.mk @@ -21,6 +21,11 @@ include $(INCLUDE_DIR)/rootfs.mk override MAKE:=$(_SINGLE)$(SUBMAKE) override NO_TRACE_MAKE:=$(_SINGLE)$(NO_TRACE_MAKE) +##@ +# @brief Convert size with unit postfix to unitless expression in bytes. +# +# @param 1: Size with unit. Possible unit postfix are `g`, `m`, `k`. +## exp_units = $(subst k, * 1024,$(subst m, * 1024k,$(subst g, * 1024m,$(1)))) target_params = $(subst +,$(space),$*) @@ -111,6 +116,12 @@ endef PROFILE_SANITIZED := $(call tolower,$(subst DEVICE_,,$(subst $(space),-,$(PROFILE)))) +##@ +# @brief Call function for each group of arguments. +# +# @param 1: List of lists of arguments. Lists are separated by `|`. +# @param 2: Function to call for list of arguments. +## define split_args $(foreach data, \ $(subst |,$(space),\ @@ -118,12 +129,24 @@ $(foreach data, \ $(call $(2),$(strip $(subst ^,$(space),$(data))))) endef +##@ +# @brief Call build function with arguments. +# +# @param 1: Function to call. Function name is prepended with `Build/`. +# @param 2...: Function arguments. +## define build_cmd $(if $(Build/$(word 1,$(1))),,$(error Missing Build/$(word 1,$(1)))) $(call Build/$(word 1,$(1)),$(wordlist 2,$(words $(1)),$(1))) endef +##@ +# @brief Call build functions from the list. +# +# @param 1: List of build functions with arguments, separated by `|`. +# First word in each group is a build command without `Build/` prefix. +## define concat_cmd $(call split_args,$(1),build_cmd) endef @@ -163,6 +186,12 @@ DTC_WARN_FLAGS := \ DTC_FLAGS += $(DTC_WARN_FLAGS) DTCO_FLAGS += $(DTC_WARN_FLAGS) +##@ +# @brief Pad file to specified size. +# +# @param 1: File. +# @param 2: Padding. +## define Image/pad-to dd if=$(1) of=$(1).new bs=$(2) conv=sync mv $(1).new $(1) @@ -403,26 +432,53 @@ define Device/InitProfile DEVICE_DESCRIPTION = Build firmware images for $$(DEVICE_TITLE) endef +##@ +# @brief Image configuration variables. +# +# @param 1: Device name. +## define Device/Init + ##@ Device name. DEVICE_NAME := $(1) + ##@ Commands to build kernel. + # Commands with arguments are separated by `|`. + ## KERNEL:= + ##@ Commands to build initramfs. + # Commands with arguments are separated by `|`. + ## KERNEL_INITRAMFS = $$(KERNEL) + ##@ Kernel command line. CMDLINE:= + ##@ Images to build. IMAGES := + ##@ Artifacts to build. ARTIFACTS := + ##@ Device image prefix. DEVICE_IMG_PREFIX := $(IMG_PREFIX)-$(1) + ##@ Device image name. DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1)-$$(2) + ##@ Factory image name. FACTORY_IMG_NAME := + ##@ Maximum image size. Optional. IMAGE_SIZE := + ##@ Maximum image size. Optional. NAND_SIZE := + ##@ Kernel image prefix. KERNEL_PREFIX = $$(DEVICE_IMG_PREFIX) + ##@ Kernel image suffix. KERNEL_SUFFIX := -kernel.bin + ##@ Initramfs image suffix. KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX) + ##@ Kernel image name. KERNEL_IMAGE = $$(KERNEL_PREFIX)$$(KERNEL_SUFFIX) + ##@ Initramfs image prefix. KERNEL_INITRAMFS_PREFIX = $$(DEVICE_IMG_PREFIX)-initramfs KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX)$$(KERNEL_INITRAMFS_SUFFIX) + ##@ Initramfs image name. KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs + ##@ Kernel install flag. KERNEL_INSTALL := KERNEL_NAME := vmlinux KERNEL_DEPENDS := diff --git a/include/target.mk b/include/target.mk index 3dc0acff5c2620..02ea68b15c8121 100644 --- a/include/target.mk +++ b/include/target.mk @@ -7,10 +7,17 @@ ifneq ($(__target_inc),1) __target_inc=1 -# default device type +##@ +# @brief Default device type ( basic | nas | router ). +## DEVICE_TYPE?=router -# Default packages - the really basic set +##@ +# @brief Default packages. +# +# The really basic set. Additional packages are added based on @DEVICE_TYPE and +# @CONFIG_* values. +## DEFAULT_PACKAGES:=\ base-files \ ca-bundle \ @@ -27,15 +34,21 @@ DEFAULT_PACKAGES:=\ urandom-seed \ urngd -# For the basic set +##@ +# @brief Default packages for @DEVICE_TYPE basic. +## DEFAULT_PACKAGES.basic:= -# For nas targets +##@ +# @brief Default packages for @DEVICE_TYPE nas. +## DEFAULT_PACKAGES.nas:=\ block-mount \ fdisk \ lsblk \ mdadm -# For router targets +##@ +# @brief Default packages for @DEVICE_TYPE router. +## DEFAULT_PACKAGES.router:=\ dnsmasq \ firewall4 \ @@ -85,7 +98,18 @@ endif # Add device specific packages (here below to allow device type set from subtarget) DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE)) +##@ +# @brief Filter out packages, prepended with `-`. +# +# @param 1: Package list. +## filter_packages = $(filter-out -% $(patsubst -%,%,$(filter -%,$(1))),$(1)) + +##@ +# @brief Append extra package dependencies. +# +# @param 1: Package list. +## extra_packages = $(if $(filter wpad wpad-% nas,$(1)),iwinfo) define ProfileDefault diff --git a/rules.mk b/rules.mk index 973fd1cbb90ea3..54df407fca4b95 100644 --- a/rules.mk +++ b/rules.mk @@ -20,6 +20,11 @@ endif export TMP_DIR:=$(TOPDIR)/tmp export TMPDIR:=$(TMP_DIR) +##@ +# @brief Strip quotes `"` and pounds `#` from string. +# +# @param 1: String. +## qstrip=$(strip $(subst ",,$(1))) #")) @@ -27,8 +32,23 @@ empty:= space:= $(empty) $(empty) comma:=, pound:=\# +##@ +# @brief Merge strings by removing spaces. +# +# @param 1: String. +## merge=$(subst $(space),,$(1)) +##@ +# @brief Get hash sum of variable list. +# +# @param 1: List of variable names. +## confvar=$(shell echo '$(foreach v,$(1),$(v)=$(subst ','\'',$($(v))))' | $(MKHASH) md5) +##@ +# @brief Strip last extension from file name. +# +# @param 1: File name. +## strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1)) paren_left = ( @@ -51,9 +71,18 @@ __tr_head = $(subst $(paren_left)subst,$(paren_left)subst$(space),$(__tr_head_st __tr_tail = $(subst $(space),,$(foreach cv,$(1),$(paren_right))) __tr_template = $(__tr_head)$$(1)$(__tr_tail) +##@ +# @brief Convert string characters to upper. +## $(eval toupper = $(call __tr_template,$(chars_lower),$(chars_upper))) +##@ +# @brief Convert string characters to lower. +## $(eval tolower = $(call __tr_template,$(chars_upper),$(chars_lower))) +##@ +# @brief Abbreviate version. Truncate to 8 characters. +## version_abbrev = $(if $(if $(CHECK),,$(DUMP)),$(1),$(shell printf '%.8s' $(1))) _SINGLE=export MAKEFLAGS=$(space); @@ -102,6 +131,13 @@ endif DEFAULT_SUBDIR_TARGETS:=clean download prepare compile update refresh prereq dist distcheck configure check check-depends +##@ +# @brief Create default targets. +# +# Targets are created from @DEFAULT_SUBDIR_TARGETS and input argument lists. +# +# @param 1: Additional targets list. +## define DefaultTargets $(foreach t,$(DEFAULT_SUBDIR_TARGETS) $(1), .$(t): @@ -371,16 +407,28 @@ export BISON_PKGDATADIR:=$(STAGING_DIR_HOST)/share/bison export HOST_GNULIB_SRCDIR:=$(STAGING_DIR_HOST)/share/gnulib export M4:=$(STAGING_DIR_HOST)/bin/m4 +##@ +# @brief Slugify variable name and prepend suffix. +## define shvar V_$(subst .,_,$(subst -,_,$(subst /,_,$(1)))) endef +##@ +# @brief Create and export variable, set to function result. +# +# @param 1: Function name. Used as variable name, prepended with `V_`. +## define shexport export $(call shvar,$(1))=$$(call $(1)) endef +##@ +# @brief Support 64 bit tine in C code. +# # Test support for 64-bit time with C code from largefile.m4 provided by GNU Gnulib -# the value is 'y' when successful and '' otherwise +# the value is `y` when successful and `` otherwise +## define YEAR_2038 $(shell \ mkdir -p $(TMP_DIR); \ @@ -392,9 +440,12 @@ $(shell \ ) endef -# Execute commands under flock -# $(1) => The shell expression. -# $(2) => The lock name. If not given, the global lock will be used. +##@ +# @brief Execute commands under flock +# +# @param 1: The shell expression. +# @param 2: The lock name. If not given, the global lock will be used. +## ifneq ($(wildcard $(STAGING_DIR_HOST)/bin/flock),) define locked SHELL= \ @@ -406,10 +457,14 @@ else locked=$(1) endif -# Recursively copy paths into another directory, purge dangling + +##@ +# @brief Recursively copy paths into another directory, purge dangling # symlinks before. -# $(1) => File glob expression -# $(2) => Destination directory +# +# @param 1: File glob expression. +# @param 1: Destination directory. +## define file_copy for src_dir in $(sort $(foreach d,$(wildcard $(1)),$(dir $(d)))); do \ ( cd $$src_dir; find -type f -or -type d ) | \ @@ -424,19 +479,30 @@ define file_copy $(CP) $(1) $(2) endef -# Calculate sha256sum of any plain file within a given directory -# $(1) => Input directory -# $(2) => If set, recurse into subdirectories +##@ +# @brief Calculate sha256sum of any plain file within a given directory. +# +# @param 1: Input directory. +# @param 2: If set, recurse into subdirectories. +## define sha256sums (cd $(1); find . $(if $(2),,-maxdepth 1) -type f -not -name 'sha256sums' -printf "%P\n" | sort | \ xargs -r $(MKHASH) -n sha256 | sed -ne 's!^\(.*\) \(.*\)$$!\1 *\2!p' > sha256sums) endef -# file extension +##@ +# @brief Retrieve file extension. +# +# @param 1: File name. +## ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1))) -# Count Git commits of a package -# $(1) => if non-empty: count commits since last ": [uU]pdate to " or ": [bB]ump to " in commit message +##@ +# @brief Count Git commits of a package. +# +# @param 1: if non-empty: count commits since last ": [uU]pdate to " +# or ": [bB]ump to " in commit message. +## define commitcount $(shell \ if git log -1 >/dev/null 2>/dev/null; then \ @@ -458,6 +524,11 @@ $(shell \ ) endef +##@ +# @brief Get ABI version string, stripping `-`, `_` and `.`. +# +# @param 1: Version string. +## abi_version_str = $(subst -,,$(subst _,,$(subst .,,$(1)))) COMMITCOUNT = $(if $(DUMP),0,$(call commitcount)) From f84187035e96d6d9912deebc25822910a7d539a5 Mon Sep 17 00:00:00 2001 From: Eric Fahlgren Date: Tue, 12 Nov 2024 09:10:02 -0800 Subject: [PATCH 48/48] build: create package index.json Duplicate the old opkg index.json using the new apk database. Needed to get the ASU server working on new snapshots. Signed-off-by: Eric Fahlgren Link: https://github.com/openwrt/openwrt/pull/16931 Signed-off-by: Christian Marangi --- package/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/package/Makefile b/package/Makefile index b60ed10fb6d87d..88d312d4edc56d 100644 --- a/package/Makefile +++ b/package/Makefile @@ -131,6 +131,11 @@ ifneq ($(CONFIG_USE_APK),) --sign $(BUILD_KEY_APK_SEC) \ --output packages.adb \ $$(ls *.apk | grep -v 'base-files-\|kernel-\|libc-'); \ + echo -n '{"architecture": "$(ARCH_PACKAGES)", "packages":{' > index.json; \ + $(STAGING_DIR_HOST)/bin/apk adbdump packages.adb | \ + awk '/- name: / {pkg = $$NF} ; / version: / {printf "\"%s\": \"%s\", ", pkg, $$NF}' | \ + sed 's/, $$//' >> index.json; \ + echo '}}' >> index.json; \ done else @for d in $(PACKAGE_SUBDIRS); do ( \