Browse Source

generic: 6.1: refresh hack patches

Refresh hack patches with make target/linux/refresh.

Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi 2 năm trước cách đây
mục cha
commit
aa56d00aa6
44 tập tin đã thay đổi với 205 bổ sung232 xóa
  1. 18 20
      target/linux/generic/hack-6.1/204-module_strip.patch
  2. 2 2
      target/linux/generic/hack-6.1/205-kconfig-abort-configuration-on-unset-symbol.patch
  3. 2 2
      target/linux/generic/hack-6.1/210-darwin_scripts_include.patch
  4. 1 28
      target/linux/generic/hack-6.1/212-tools_portability.patch
  5. 4 4
      target/linux/generic/hack-6.1/220-arm-gc_sections.patch
  6. 8 8
      target/linux/generic/hack-6.1/221-module_exports.patch
  7. 2 2
      target/linux/generic/hack-6.1/230-openwrt_lzma_options.patch
  8. 2 2
      target/linux/generic/hack-6.1/250-netfilter_depends.patch
  9. 12 12
      target/linux/generic/hack-6.1/251-kconfig.patch
  10. 2 2
      target/linux/generic/hack-6.1/253-ksmbd-config.patch
  11. 1 1
      target/linux/generic/hack-6.1/259-regmap_dynamic.patch
  12. 1 1
      target/linux/generic/hack-6.1/260-crypto_test_dependencies.patch
  13. 1 1
      target/linux/generic/hack-6.1/261-lib-arc4-unhide.patch
  14. 1 1
      target/linux/generic/hack-6.1/280-rfkill-stubs.patch
  15. 1 1
      target/linux/generic/hack-6.1/321-powerpc_crtsavres_prereq.patch
  16. 3 3
      target/linux/generic/hack-6.1/402-mtd-blktrans-call-add-disks-after-mtd-device.patch
  17. 10 10
      target/linux/generic/hack-6.1/410-block-fit-partition-parser.patch
  18. 1 1
      target/linux/generic/hack-6.1/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch
  19. 1 1
      target/linux/generic/hack-6.1/430-mtk-bmt-support.patch
  20. 21 21
      target/linux/generic/hack-6.1/600-bridge_offload.patch
  21. 2 2
      target/linux/generic/hack-6.1/645-netfilter-connmark-introduce-set-dscpmark.patch
  22. 6 6
      target/linux/generic/hack-6.1/650-netfilter-add-xt_FLOWOFFLOAD-target.patch
  23. 1 1
      target/linux/generic/hack-6.1/651-wireless_mesh_header.patch
  24. 1 1
      target/linux/generic/hack-6.1/660-fq_codel_defaults.patch
  25. 1 1
      target/linux/generic/hack-6.1/661-kernel-ct-size-the-hashtable-more-adequately.patch
  26. 1 1
      target/linux/generic/hack-6.1/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch
  27. 8 8
      target/linux/generic/hack-6.1/720-net-phy-add-aqr-phys.patch
  28. 9 9
      target/linux/generic/hack-6.1/721-net-add-packet-mangeling.patch
  29. 8 7
      target/linux/generic/hack-6.1/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch
  30. 1 1
      target/linux/generic/hack-6.1/723-net-phy-aquantia-fix-system-side-protocol-mi.patch
  31. 5 4
      target/linux/generic/hack-6.1/724-net-phy-aquantia-Add-AQR113-driver-support.patch
  32. 4 3
      target/linux/generic/hack-6.1/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch
  33. 4 4
      target/linux/generic/hack-6.1/760-net-usb-r8152-add-LED-configuration-from-OF.patch
  34. 8 8
      target/linux/generic/hack-6.1/765-mxl-gpy-control-LED-reg-from-DT.patch
  35. 2 2
      target/linux/generic/hack-6.1/773-bgmac-add-srab-switch.patch
  36. 3 3
      target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch
  37. 7 7
      target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch
  38. 6 6
      target/linux/generic/hack-6.1/800-GPIO-add-named-gpio-exports.patch
  39. 9 9
      target/linux/generic/hack-6.1/901-debloat_sock_diag.patch
  40. 15 15
      target/linux/generic/hack-6.1/902-debloat_proc.patch
  41. 6 7
      target/linux/generic/hack-6.1/904-debloat_dma_buf.patch
  42. 1 1
      target/linux/generic/hack-6.1/911-kobject_add_broadcast_uevent.patch
  43. 2 2
      target/linux/generic/hack-6.1/920-device_tree_cmdline.patch
  44. 1 1
      target/linux/generic/hack-6.1/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch

+ 18 - 20
target/linux/generic/hack-6.1/204-module_strip.patch

@@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 
 --- a/include/linux/module.h
 --- a/include/linux/module.h
 +++ b/include/linux/module.h
 +++ b/include/linux/module.h
-@@ -164,6 +164,7 @@ extern void cleanup_module(void);
+@@ -163,6 +163,7 @@ extern void cleanup_module(void);
  
  
  /* Generic info of form tag = "info" */
  /* Generic info of form tag = "info" */
  #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
  #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
@@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
  /* For userspace: you can also call me... */
  /* For userspace: you can also call me... */
  #define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
  #define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
-@@ -233,12 +234,12 @@ extern void cleanup_module(void);
+@@ -232,12 +233,12 @@ extern void cleanup_module(void);
   * Author(s), use "Name <email>" or just "Name", for multiple
   * Author(s), use "Name <email>" or just "Name", for multiple
   * authors use multiple MODULE_AUTHOR() statements/lines.
   * authors use multiple MODULE_AUTHOR() statements/lines.
   */
   */
@@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  /* Creates an alias so file2alias.c can find device table. */
  /* Creates an alias so file2alias.c can find device table. */
  #define MODULE_DEVICE_TABLE(type, name)					\
  #define MODULE_DEVICE_TABLE(type, name)					\
  extern typeof(name) __mod_##type##__##name##_device_table		\
  extern typeof(name) __mod_##type##__##name##_device_table		\
-@@ -265,7 +266,9 @@ extern typeof(name) __mod_##type##__##na
+@@ -264,7 +265,9 @@ extern typeof(name) __mod_##type##__##na
   */
   */
  
  
  #if defined(MODULE) || !defined(CONFIG_SYSFS)
  #if defined(MODULE) || !defined(CONFIG_SYSFS)
@@ -49,14 +49,14 @@ Signed-off-by: Felix Fietkau <[email protected]>
  #else
  #else
  #define MODULE_VERSION(_version)					\
  #define MODULE_VERSION(_version)					\
  	MODULE_INFO(version, _version);					\
  	MODULE_INFO(version, _version);					\
-@@ -288,7 +291,7 @@ extern typeof(name) __mod_##type##__##na
+@@ -287,7 +290,7 @@ extern typeof(name) __mod_##type##__##na
  /* Optional firmware file (or files) needed by the module
  /* Optional firmware file (or files) needed by the module
   * format is simply firmware file name.  Multiple firmware
   * format is simply firmware file name.  Multiple firmware
   * files require multiple MODULE_FIRMWARE() specifiers */
   * files require multiple MODULE_FIRMWARE() specifiers */
 -#define MODULE_FIRMWARE(_firmware) MODULE_INFO(firmware, _firmware)
 -#define MODULE_FIRMWARE(_firmware) MODULE_INFO(firmware, _firmware)
 +#define MODULE_FIRMWARE(_firmware) MODULE_INFO_STRIP(firmware, _firmware)
 +#define MODULE_FIRMWARE(_firmware) MODULE_INFO_STRIP(firmware, _firmware)
  
  
- #define MODULE_IMPORT_NS(ns) MODULE_INFO(import_ns, #ns)
+ #define MODULE_IMPORT_NS(ns)	MODULE_INFO(import_ns, __stringify(ns))
  
  
 --- a/include/linux/moduleparam.h
 --- a/include/linux/moduleparam.h
 +++ b/include/linux/moduleparam.h
 +++ b/include/linux/moduleparam.h
@@ -88,9 +88,9 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
 --- a/kernel/module/Kconfig
 --- a/kernel/module/Kconfig
 +++ b/kernel/module/Kconfig
 +++ b/kernel/module/Kconfig
-@@ -2352,6 +2352,13 @@ config UNUSED_KSYMS_WHITELIST
- 	  one per line. The path can be absolute, or relative to the kernel
- 	  source tree.
+@@ -290,4 +290,11 @@ config MODULES_TREE_LOOKUP
+ 	def_bool y
+ 	depends on PERF_EVENTS || TRACING || CFI_CLANG
  
  
 +config MODULE_STRIPPED
 +config MODULE_STRIPPED
 +	bool "Reduce module size"
 +	bool "Reduce module size"
@@ -100,11 +100,9 @@ Signed-off-by: Felix Fietkau <[email protected]>
 +	  device tables, etc.
 +	  device tables, etc.
 +
 +
  endif # MODULES
  endif # MODULES
- 
- config MODULES_TREE_LOOKUP
 --- a/kernel/module/main.c
 --- a/kernel/module/main.c
 +++ b/kernel/module/main.c
 +++ b/kernel/module/main.c
-@@ -1218,6 +1218,7 @@ static struct module_attribute *modinfo_
+@@ -988,6 +988,7 @@ size_t modinfo_attrs_count = ARRAY_SIZE(
  
  
  static const char vermagic[] = VERMAGIC_STRING;
  static const char vermagic[] = VERMAGIC_STRING;
  
  
@@ -112,7 +110,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  int try_to_force_load(struct module *mod, const char *reason)
  int try_to_force_load(struct module *mod, const char *reason)
  {
  {
  #ifdef CONFIG_MODULE_FORCE_LOAD
  #ifdef CONFIG_MODULE_FORCE_LOAD
-@@ -1229,6 +1230,7 @@ static int try_to_force_load(struct modu
+@@ -999,6 +1000,7 @@ int try_to_force_load(struct module *mod
  	return -ENOEXEC;
  	return -ENOEXEC;
  #endif
  #endif
  }
  }
@@ -120,7 +118,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
  static char *get_modinfo(const struct load_info *info, const char *tag);
  static char *get_modinfo(const struct load_info *info, const char *tag);
  static char *get_next_modinfo(const struct load_info *info, const char *tag,
  static char *get_next_modinfo(const struct load_info *info, const char *tag,
-@@ -3266,9 +3268,11 @@ static int setup_load_info(struct load_i
+@@ -1950,9 +1952,11 @@ static int setup_load_info(struct load_i
  
  
  static int check_modinfo(struct module *mod, struct load_info *info, int flags)
  static int check_modinfo(struct module *mod, struct load_info *info, int flags)
  {
  {
@@ -133,7 +131,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	if (flags & MODULE_INIT_IGNORE_VERMAGIC)
  	if (flags & MODULE_INIT_IGNORE_VERMAGIC)
  		modmagic = NULL;
  		modmagic = NULL;
  
  
-@@ -3289,6 +3293,7 @@ static int check_modinfo(struct module *
+@@ -1973,6 +1977,7 @@ static int check_modinfo(struct module *
  				mod->name);
  				mod->name);
  		add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
  		add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
  	}
  	}
@@ -143,7 +141,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
 --- a/scripts/mod/modpost.c
 --- a/scripts/mod/modpost.c
 +++ b/scripts/mod/modpost.c
 +++ b/scripts/mod/modpost.c
-@@ -2034,7 +2034,9 @@ static void read_symbols(const char *mod
+@@ -1817,7 +1817,9 @@ static void read_symbols(const char *mod
  		symname = remove_dot(info.strtab + sym->st_name);
  		symname = remove_dot(info.strtab + sym->st_name);
  
  
  		handle_symbol(mod, &info, sym, symname);
  		handle_symbol(mod, &info, sym, symname);
@@ -153,7 +151,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	}
  	}
  
  
  	for (sym = info.symtab_start; sym < info.symtab_stop; sym++) {
  	for (sym = info.symtab_start; sym < info.symtab_stop; sym++) {
-@@ -2213,8 +2215,10 @@ static void add_header(struct buffer *b,
+@@ -1980,8 +1982,10 @@ static void add_header(struct buffer *b,
  	buf_printf(b, "BUILD_SALT;\n");
  	buf_printf(b, "BUILD_SALT;\n");
  	buf_printf(b, "BUILD_LTO_INFO;\n");
  	buf_printf(b, "BUILD_LTO_INFO;\n");
  	buf_printf(b, "\n");
  	buf_printf(b, "\n");
@@ -164,7 +162,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	buf_printf(b, "\n");
  	buf_printf(b, "\n");
  	buf_printf(b, "__visible struct module __this_module\n");
  	buf_printf(b, "__visible struct module __this_module\n");
  	buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n");
  	buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n");
-@@ -2231,8 +2235,10 @@ static void add_header(struct buffer *b,
+@@ -1995,8 +1999,10 @@ static void add_header(struct buffer *b,
  	buf_printf(b, "\t.arch = MODULE_ARCH_INIT,\n");
  	buf_printf(b, "\t.arch = MODULE_ARCH_INIT,\n");
  	buf_printf(b, "};\n");
  	buf_printf(b, "};\n");
  
  
@@ -175,7 +173,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
  	buf_printf(b,
  	buf_printf(b,
  		   "\n"
  		   "\n"
-@@ -2245,8 +2251,10 @@ static void add_retpoline(struct buffer
+@@ -2004,8 +2010,10 @@ static void add_header(struct buffer *b,
  		   "MODULE_INFO(retpoline, \"Y\");\n"
  		   "MODULE_INFO(retpoline, \"Y\");\n"
  		   "#endif\n");
  		   "#endif\n");
  
  
@@ -186,7 +184,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
  	if (strstarts(mod->name, "tools/testing"))
  	if (strstarts(mod->name, "tools/testing"))
  		buf_printf(b, "\nMODULE_INFO(test, \"Y\");\n");
  		buf_printf(b, "\nMODULE_INFO(test, \"Y\");\n");
-@@ -2326,11 +2334,13 @@ static void add_depends(struct buffer *b
+@@ -2101,11 +2109,13 @@ static void add_depends(struct buffer *b
  
  
  static void add_srcversion(struct buffer *b, struct module *mod)
  static void add_srcversion(struct buffer *b, struct module *mod)
  {
  {
@@ -200,7 +198,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  }
  }
  
  
  static void write_buf(struct buffer *b, const char *fname)
  static void write_buf(struct buffer *b, const char *fname)
-@@ -2579,7 +2589,9 @@ int main(int argc, char **argv)
+@@ -2191,7 +2201,9 @@ static void write_mod_c_file(struct modu
  	add_exported_symbols(&buf, mod);
  	add_exported_symbols(&buf, mod);
  	add_versions(&buf, mod);
  	add_versions(&buf, mod);
  	add_depends(&buf, mod);
  	add_depends(&buf, mod);

+ 2 - 2
target/linux/generic/hack-6.1/205-kconfig-abort-configuration-on-unset-symbol.patch

@@ -19,7 +19,7 @@ Signed-off-by: David Bauer <[email protected]>
 
 
 --- a/scripts/kconfig/conf.c
 --- a/scripts/kconfig/conf.c
 +++ b/scripts/kconfig/conf.c
 +++ b/scripts/kconfig/conf.c
-@@ -341,6 +341,9 @@ static int conf_askvalue(struct symbol *
+@@ -338,6 +338,9 @@ static int conf_askvalue(struct symbol *
  		}
  		}
  		/* fall through */
  		/* fall through */
  	default:
  	default:
@@ -29,7 +29,7 @@ Signed-off-by: David Bauer <[email protected]>
  		fflush(stdout);
  		fflush(stdout);
  		xfgets(line, sizeof(line), stdin);
  		xfgets(line, sizeof(line), stdin);
  		break;
  		break;
-@@ -523,6 +526,9 @@ static int conf_choice(struct menu *menu
+@@ -520,6 +523,9 @@ static int conf_choice(struct menu *menu
  			}
  			}
  			/* fall through */
  			/* fall through */
  		case oldaskconfig:
  		case oldaskconfig:

+ 2 - 2
target/linux/generic/hack-6.1/210-darwin_scripts_include.patch

@@ -3039,7 +3039,7 @@ Signed-off-by: Florian Fainelli <[email protected]>
  main(int argc, char **argv)
  main(int argc, char **argv)
 --- a/scripts/mod/modpost.h
 --- a/scripts/mod/modpost.h
 +++ b/scripts/mod/modpost.h
 +++ b/scripts/mod/modpost.h
-@@ -8,7 +8,11 @@
+@@ -9,7 +9,11 @@
  #include <sys/mman.h>
  #include <sys/mman.h>
  #include <fcntl.h>
  #include <fcntl.h>
  #include <unistd.h>
  #include <unistd.h>
@@ -3049,5 +3049,5 @@ Signed-off-by: Florian Fainelli <[email protected]>
 +#include "elf.h"
 +#include "elf.h"
 +#endif
 +#endif
  
  
+ #include "list.h"
  #include "elfconfig.h"
  #include "elfconfig.h"
- 

+ 1 - 28
target/linux/generic/hack-6.1/212-tools_portability.patch

@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  struct kmem_cache;
  struct kmem_cache;
 --- a/tools/perf/pmu-events/jevents.py
 --- a/tools/perf/pmu-events/jevents.py
 +++ b/tools/perf/pmu-events/jevents.py
 +++ b/tools/perf/pmu-events/jevents.py
-@@ -684,6 +684,7 @@
+@@ -684,6 +684,7 @@ def main() -> None:
  #include "util/header.h"
  #include "util/header.h"
  #include "util/pmu.h"
  #include "util/pmu.h"
  #include <string.h>
  #include <string.h>
@@ -91,30 +91,3 @@ Signed-off-by: Felix Fietkau <[email protected]>
  #include <stddef.h>
  #include <stddef.h>
  
  
  struct compact_pmu_event {
  struct compact_pmu_event {
-# --- a/tools/perf/pmu-events/jevents.c
-# +++ b/tools/perf/pmu-events/jevents.c
-# @@ -1,4 +1,6 @@
-# +#ifdef __linux__
-#  #define  _XOPEN_SOURCE 500	/* needed for nftw() */
-# +#endif
-#  #define  _GNU_SOURCE		/* needed for asprintf() */
- 
-#  /* Parse event JSON files */
-# @@ -35,6 +37,7 @@
-#  #include <stdlib.h>
-#  #include <errno.h>
-#  #include <string.h>
-# +#include <strings.h>
-#  #include <ctype.h>
-#  #include <unistd.h>
-#  #include <stdarg.h>
-# --- a/tools/perf/pmu-events/json.c
-# +++ b/tools/perf/pmu-events/json.c
-# @@ -38,7 +38,6 @@
-#  #include <unistd.h>
-#  #include "jsmn.h"
-#  #include "json.h"
-# -#include <linux/kernel.h>
- 
- 
-#  static char *mapfile(const char *fn, size_t *size)

+ 4 - 4
target/linux/generic/hack-6.1/220-arm-gc_sections.patch

@@ -12,7 +12,7 @@ Signed-off-by: Gabor Juhos <[email protected]>
 ---
 ---
 --- a/arch/arm/Kconfig
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
-@@ -117,6 +117,7 @@ config ARM
+@@ -122,6 +122,7 @@ config ARM
  	select HAVE_UID16
  	select HAVE_UID16
  	select HAVE_VIRT_CPU_ACCOUNTING_GEN
  	select HAVE_VIRT_CPU_ACCOUNTING_GEN
  	select IRQ_FORCED_THREADING
  	select IRQ_FORCED_THREADING
@@ -22,14 +22,14 @@ Signed-off-by: Gabor Juhos <[email protected]>
  	select OF_EARLY_FLATTREE if OF
  	select OF_EARLY_FLATTREE if OF
 --- a/arch/arm/boot/compressed/Makefile
 --- a/arch/arm/boot/compressed/Makefile
 +++ b/arch/arm/boot/compressed/Makefile
 +++ b/arch/arm/boot/compressed/Makefile
-@@ -92,6 +92,7 @@ endif
+@@ -91,6 +91,7 @@ endif
  ifeq ($(CONFIG_USE_OF),y)
  ifeq ($(CONFIG_USE_OF),y)
  OBJS	+= $(libfdt_objs) fdt_check_mem_start.o
  OBJS	+= $(libfdt_objs) fdt_check_mem_start.o
  endif
  endif
 +KBUILD_CFLAGS_KERNEL := $(patsubst -f%-sections,,$(KBUILD_CFLAGS_KERNEL))
 +KBUILD_CFLAGS_KERNEL := $(patsubst -f%-sections,,$(KBUILD_CFLAGS_KERNEL))
  
  
- # -fstack-protector-strong triggers protection checks in this code,
- # but it is being used too early to link to meaningful stack_chk logic.
+ OBJS	+= lib1funcs.o ashldi3.o bswapsdi2.o
+ 
 --- a/arch/arm/kernel/vmlinux.lds.S
 --- a/arch/arm/kernel/vmlinux.lds.S
 +++ b/arch/arm/kernel/vmlinux.lds.S
 +++ b/arch/arm/kernel/vmlinux.lds.S
 @@ -75,7 +75,7 @@ SECTIONS
 @@ -75,7 +75,7 @@ SECTIONS

+ 8 - 8
target/linux/generic/hack-6.1/221-module_exports.patch

@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  /* Align . to a 8 byte boundary equals to maximum function alignment. */
  /* Align . to a 8 byte boundary equals to maximum function alignment. */
  #define ALIGN_FUNCTION()  . = ALIGN(8)
  #define ALIGN_FUNCTION()  . = ALIGN(8)
  
  
-@@ -485,14 +495,14 @@
+@@ -512,14 +522,14 @@
  	/* Kernel symbol table: Normal symbols */			\
  	/* Kernel symbol table: Normal symbols */			\
  	__ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {		\
  	__ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {		\
  		__start___ksymtab = .;					\
  		__start___ksymtab = .;					\
@@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  		__stop___ksymtab_gpl = .;				\
  		__stop___ksymtab_gpl = .;				\
  	}								\
  	}								\
  									\
  									\
-@@ -512,7 +522,7 @@
+@@ -539,7 +549,7 @@
  									\
  									\
  	/* Kernel symbol table: strings */				\
  	/* Kernel symbol table: strings */				\
          __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) {	\
          __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) {	\
@@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	}								\
  	}								\
  									\
  									\
  	/* __*init sections */						\
  	/* __*init sections */						\
-@@ -1018,6 +1028,8 @@
+@@ -1048,6 +1058,8 @@
  #define COMMON_DISCARDS							\
  #define COMMON_DISCARDS							\
  	SANITIZER_DISCARDS						\
  	SANITIZER_DISCARDS						\
  	PATCHABLE_DISCARDS						\
  	PATCHABLE_DISCARDS						\
@@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	*(.modinfo)							\
  	*(.modinfo)							\
 --- a/include/linux/export.h
 --- a/include/linux/export.h
 +++ b/include/linux/export.h
 +++ b/include/linux/export.h
-@@ -84,6 +84,12 @@ struct kernel_symbol {
+@@ -72,6 +72,12 @@ struct kernel_symbol {
  
  
  #else
  #else
  
  
@@ -80,7 +80,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  /*
  /*
   * For every exported symbol, do the following:
   * For every exported symbol, do the following:
   *
   *
-@@ -101,7 +107,7 @@ struct kernel_symbol {
+@@ -87,7 +93,7 @@ struct kernel_symbol {
  	extern typeof(sym) sym;							\
  	extern typeof(sym) sym;							\
  	extern const char __kstrtab_##sym[];					\
  	extern const char __kstrtab_##sym[];					\
  	extern const char __kstrtabns_##sym[];					\
  	extern const char __kstrtabns_##sym[];					\
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	    "__kstrtabns_" #sym ":					\n"	\
  	    "__kstrtabns_" #sym ":					\n"	\
 --- a/include/asm-generic/export.h
 --- a/include/asm-generic/export.h
 +++ b/include/asm-generic/export.h
 +++ b/include/asm-generic/export.h
-@@ -26,6 +26,12 @@
+@@ -31,6 +31,12 @@
  #endif
  #endif
  .endm
  .endm
  
  
@@ -104,7 +104,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  /*
  /*
   * note on .section use: we specify progbits since usage of the "M" (SHF_MERGE)
   * note on .section use: we specify progbits since usage of the "M" (SHF_MERGE)
   * section flag requires it. Use '%progbits' instead of '@progbits' since the
   * section flag requires it. Use '%progbits' instead of '@progbits' since the
-@@ -39,7 +45,7 @@
+@@ -44,7 +50,7 @@
  __ksymtab_\name:
  __ksymtab_\name:
  	__put \val, __kstrtab_\name
  	__put \val, __kstrtab_\name
  	.previous
  	.previous
@@ -115,7 +115,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	.previous
  	.previous
 --- a/scripts/Makefile.build
 --- a/scripts/Makefile.build
 +++ b/scripts/Makefile.build
 +++ b/scripts/Makefile.build
-@@ -397,7 +397,7 @@ targets += $(real-dtb-y) $(lib-y) $(alwa
+@@ -388,7 +388,7 @@ targets += $(real-dtb-y) $(lib-y) $(alwa
  # Linker scripts preprocessor (.lds.S -> .lds)
  # Linker scripts preprocessor (.lds.S -> .lds)
  # ---------------------------------------------------------------------------
  # ---------------------------------------------------------------------------
  quiet_cmd_cpp_lds_S = LDS     $@
  quiet_cmd_cpp_lds_S = LDS     $@

+ 2 - 2
target/linux/generic/hack-6.1/230-openwrt_lzma_options.patch

@@ -23,7 +23,7 @@ Signed-off-by: Imre Kaloz <[email protected]>
  	{ {0x02, 0x21}, "lz4", unlz4 },
  	{ {0x02, 0x21}, "lz4", unlz4 },
 --- a/scripts/Makefile.lib
 --- a/scripts/Makefile.lib
 +++ b/scripts/Makefile.lib
 +++ b/scripts/Makefile.lib
-@@ -402,10 +402,10 @@ quiet_cmd_bzip2 = BZIP2   $@
+@@ -443,10 +443,10 @@ quiet_cmd_bzip2_with_size = BZIP2   $@
  # ---------------------------------------------------------------------------
  # ---------------------------------------------------------------------------
  
  
  quiet_cmd_lzma = LZMA    $@
  quiet_cmd_lzma = LZMA    $@
@@ -35,4 +35,4 @@ Signed-off-by: Imre Kaloz <[email protected]>
 +      cmd_lzma_with_size = { cat $(real-prereqs) | $(LZMA) e -d20 -lc1 -lp2 -pb2 -eos -si -so; $(size_append); } > $@
 +      cmd_lzma_with_size = { cat $(real-prereqs) | $(LZMA) e -d20 -lc1 -lp2 -pb2 -eos -si -so; $(size_append); } > $@
  
  
  quiet_cmd_lzo = LZO     $@
  quiet_cmd_lzo = LZO     $@
-       cmd_lzo = { cat $(real-prereqs) | $(KLZOP) -9; $(size_append); } > $@
+       cmd_lzo = cat $(real-prereqs) | $(KLZOP) -9 > $@

+ 2 - 2
target/linux/generic/hack-6.1/250-netfilter_depends.patch

@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 
 --- a/net/netfilter/Kconfig
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -243,7 +243,6 @@ config NF_CONNTRACK_FTP
+@@ -253,7 +253,6 @@ config NF_CONNTRACK_FTP
  
  
  config NF_CONNTRACK_H323
  config NF_CONNTRACK_H323
  	tristate "H.323 protocol support"
  	tristate "H.323 protocol support"
@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	depends on NETFILTER_ADVANCED
  	depends on NETFILTER_ADVANCED
  	help
  	help
  	  H.323 is a VoIP signalling protocol from ITU-T. As one of the most
  	  H.323 is a VoIP signalling protocol from ITU-T. As one of the most
-@@ -1106,7 +1105,6 @@ config NETFILTER_XT_TARGET_SECMARK
+@@ -1118,7 +1117,6 @@ config NETFILTER_XT_TARGET_SECMARK
  
  
  config NETFILTER_XT_TARGET_TCPMSS
  config NETFILTER_XT_TARGET_TCPMSS
  	tristate '"TCPMSS" target support'
  	tristate '"TCPMSS" target support'

+ 12 - 12
target/linux/generic/hack-6.1/251-kconfig.patch

@@ -16,8 +16,8 @@ Signed-off-by: John Crispin <[email protected]>
 
 
 --- a/crypto/Kconfig
 --- a/crypto/Kconfig
 +++ b/crypto/Kconfig
 +++ b/crypto/Kconfig
-@@ -34,7 +34,7 @@ config CRYPTO_FIPS
- 	  this is.
+@@ -55,7 +55,7 @@ config CRYPTO_FIPS_VERSION
+ 	  By default the KERNELRELEASE value is used.
  
  
  config CRYPTO_ALGAPI
  config CRYPTO_ALGAPI
 -	tristate
 -	tristate
@@ -25,7 +25,7 @@ Signed-off-by: John Crispin <[email protected]>
  	select CRYPTO_ALGAPI2
  	select CRYPTO_ALGAPI2
  	help
  	help
  	  This option provides the API for cryptographic algorithms.
  	  This option provides the API for cryptographic algorithms.
-@@ -43,7 +43,7 @@ config CRYPTO_ALGAPI2
+@@ -64,7 +64,7 @@ config CRYPTO_ALGAPI2
  	tristate
  	tristate
  
  
  config CRYPTO_AEAD
  config CRYPTO_AEAD
@@ -34,7 +34,7 @@ Signed-off-by: John Crispin <[email protected]>
  	select CRYPTO_AEAD2
  	select CRYPTO_AEAD2
  	select CRYPTO_ALGAPI
  	select CRYPTO_ALGAPI
  
  
-@@ -54,7 +54,7 @@ config CRYPTO_AEAD2
+@@ -75,7 +75,7 @@ config CRYPTO_AEAD2
  	select CRYPTO_RNG2
  	select CRYPTO_RNG2
  
  
  config CRYPTO_SKCIPHER
  config CRYPTO_SKCIPHER
@@ -43,7 +43,7 @@ Signed-off-by: John Crispin <[email protected]>
  	select CRYPTO_SKCIPHER2
  	select CRYPTO_SKCIPHER2
  	select CRYPTO_ALGAPI
  	select CRYPTO_ALGAPI
  
  
-@@ -64,7 +64,7 @@ config CRYPTO_SKCIPHER2
+@@ -85,7 +85,7 @@ config CRYPTO_SKCIPHER2
  	select CRYPTO_RNG2
  	select CRYPTO_RNG2
  
  
  config CRYPTO_HASH
  config CRYPTO_HASH
@@ -52,7 +52,7 @@ Signed-off-by: John Crispin <[email protected]>
  	select CRYPTO_HASH2
  	select CRYPTO_HASH2
  	select CRYPTO_ALGAPI
  	select CRYPTO_ALGAPI
  
  
-@@ -73,7 +73,7 @@ config CRYPTO_HASH2
+@@ -94,7 +94,7 @@ config CRYPTO_HASH2
  	select CRYPTO_ALGAPI2
  	select CRYPTO_ALGAPI2
  
  
  config CRYPTO_RNG
  config CRYPTO_RNG
@@ -92,7 +92,7 @@ Signed-off-by: John Crispin <[email protected]>
  	bool
  	bool
 --- a/lib/Kconfig
 --- a/lib/Kconfig
 +++ b/lib/Kconfig
 +++ b/lib/Kconfig
-@@ -443,16 +443,16 @@ config BCH_CONST_T
+@@ -457,16 +457,16 @@ config BCH_CONST_T
  # Textsearch support is select'ed if needed
  # Textsearch support is select'ed if needed
  #
  #
  config TEXTSEARCH
  config TEXTSEARCH
@@ -115,8 +115,8 @@ Signed-off-by: John Crispin <[email protected]>
  	bool
  	bool
 --- a/net/netfilter/Kconfig
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -11,7 +11,7 @@ config NETFILTER_INGRESS
- 	  infrastructure.
+@@ -22,7 +22,7 @@ config NETFILTER_SKIP_EGRESS
+ 	def_bool NETFILTER_EGRESS && (NET_CLS_ACT || IFB)
  
  
  config NETFILTER_NETLINK
  config NETFILTER_NETLINK
 -	tristate
 -	tristate
@@ -147,7 +147,7 @@ Signed-off-by: John Crispin <[email protected]>
  
  
  config CFG80211
  config CFG80211
  	tristate "cfg80211 - wireless configuration API"
  	tristate "cfg80211 - wireless configuration API"
-@@ -204,7 +204,7 @@ config CFG80211_WEXT_EXPORT
+@@ -208,7 +208,7 @@ config CFG80211_WEXT_EXPORT
  endif # CFG80211
  endif # CFG80211
  
  
  config LIB80211
  config LIB80211
@@ -156,7 +156,7 @@ Signed-off-by: John Crispin <[email protected]>
  	default n
  	default n
  	help
  	help
  	  This options enables a library of common routines used
  	  This options enables a library of common routines used
-@@ -213,17 +213,17 @@ config LIB80211
+@@ -217,17 +217,17 @@ config LIB80211
  	  Drivers should select this themselves if needed.
  	  Drivers should select this themselves if needed.
  
  
  config LIB80211_CRYPT_WEP
  config LIB80211_CRYPT_WEP
@@ -199,7 +199,7 @@ Signed-off-by: John Crispin <[email protected]>
  	bool
  	bool
 --- a/net/Kconfig
 --- a/net/Kconfig
 +++ b/net/Kconfig
 +++ b/net/Kconfig
-@@ -432,7 +432,7 @@ config NET_DEVLINK
+@@ -430,7 +430,7 @@ config NET_DEVLINK
  	default n
  	default n
  
  
  config PAGE_POOL
  config PAGE_POOL

+ 2 - 2
target/linux/generic/hack-6.1/253-ksmbd-config.patch

@@ -10,7 +10,7 @@ Subject: [PATCH] Kconfig: add tristate for OID and ASNI string
 
 
 --- a/init/Kconfig
 --- a/init/Kconfig
 +++ b/init/Kconfig
 +++ b/init/Kconfig
-@@ -2388,7 +2388,7 @@ config PADATA
+@@ -2003,7 +2003,7 @@ config PADATA
  	bool
  	bool
  
  
  config ASN1
  config ASN1
@@ -21,7 +21,7 @@ Subject: [PATCH] Kconfig: add tristate for OID and ASNI string
  	  that can be interpreted by the ASN.1 stream decoder and used to
  	  that can be interpreted by the ASN.1 stream decoder and used to
 --- a/lib/Kconfig
 --- a/lib/Kconfig
 +++ b/lib/Kconfig
 +++ b/lib/Kconfig
-@@ -614,7 +614,7 @@ config LIBFDT
+@@ -637,7 +637,7 @@ config LIBFDT
  	bool
  	bool
  
  
  config OID_REGISTRY
  config OID_REGISTRY

+ 1 - 1
target/linux/generic/hack-6.1/259-regmap_dynamic.patch

@@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  #include <linux/mutex.h>
  #include <linux/mutex.h>
  #include <linux/err.h>
  #include <linux/err.h>
  #include <linux/property.h>
  #include <linux/property.h>
-@@ -3348,3 +3349,5 @@ static int __init regmap_initcall(void)
+@@ -3511,3 +3512,5 @@ static int __init regmap_initcall(void)
  	return 0;
  	return 0;
  }
  }
  postcore_initcall(regmap_initcall);
  postcore_initcall(regmap_initcall);

+ 1 - 1
target/linux/generic/hack-6.1/260-crypto_test_dependencies.patch

@@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 
 --- a/crypto/Kconfig
 --- a/crypto/Kconfig
 +++ b/crypto/Kconfig
 +++ b/crypto/Kconfig
-@@ -121,13 +121,13 @@ config CRYPTO_MANAGER
+@@ -142,13 +142,13 @@ config CRYPTO_MANAGER
  	  cbc(aes).
  	  cbc(aes).
  
  
  config CRYPTO_MANAGER2
  config CRYPTO_MANAGER2

+ 1 - 1
target/linux/generic/hack-6.1/261-lib-arc4-unhide.patch

@@ -13,7 +13,7 @@ from backports.
 
 
 --- a/lib/crypto/Kconfig
 --- a/lib/crypto/Kconfig
 +++ b/lib/crypto/Kconfig
 +++ b/lib/crypto/Kconfig
-@@ -6,7 +6,7 @@ config CRYPTO_LIB_AES
+@@ -9,7 +9,7 @@ config CRYPTO_LIB_AES
  	tristate
  	tristate
  
  
  config CRYPTO_LIB_ARC4
  config CRYPTO_LIB_ARC4

+ 1 - 1
target/linux/generic/hack-6.1/280-rfkill-stubs.patch

@@ -26,7 +26,7 @@ Signed-off-by: John Crispin <[email protected]>
   * @name: name of the struct -- the string is not copied internally
   * @name: name of the struct -- the string is not copied internally
 --- a/net/Makefile
 --- a/net/Makefile
 +++ b/net/Makefile
 +++ b/net/Makefile
-@@ -52,7 +52,7 @@ obj-$(CONFIG_TIPC)		+= tipc/
+@@ -51,7 +51,7 @@ obj-$(CONFIG_TIPC)		+= tipc/
  obj-$(CONFIG_NETLABEL)		+= netlabel/
  obj-$(CONFIG_NETLABEL)		+= netlabel/
  obj-$(CONFIG_IUCV)		+= iucv/
  obj-$(CONFIG_IUCV)		+= iucv/
  obj-$(CONFIG_SMC)		+= smc/
  obj-$(CONFIG_SMC)		+= smc/

+ 1 - 1
target/linux/generic/hack-6.1/321-powerpc_crtsavres_prereq.patch

@@ -16,7 +16,7 @@ Signed-off-by: Alexandros C. Couloumbis <[email protected]>
 
 
 --- a/arch/powerpc/Makefile
 --- a/arch/powerpc/Makefile
 +++ b/arch/powerpc/Makefile
 +++ b/arch/powerpc/Makefile
-@@ -61,19 +61,6 @@ machine-$(CONFIG_PPC64) += 64
+@@ -42,19 +42,6 @@ machine-$(CONFIG_PPC64) += 64
  machine-$(CONFIG_CPU_LITTLE_ENDIAN) += le
  machine-$(CONFIG_CPU_LITTLE_ENDIAN) += le
  UTS_MACHINE := $(subst $(space),,$(machine-y))
  UTS_MACHINE := $(subst $(space),,$(machine-y))
  
  

+ 3 - 3
target/linux/generic/hack-6.1/402-mtd-blktrans-call-add-disks-after-mtd-device.patch

@@ -25,7 +25,7 @@ Signed-off-by: Daniel Golle <[email protected]>
 
 
 --- a/drivers/mtd/mtd_blkdevs.c
 --- a/drivers/mtd/mtd_blkdevs.c
 +++ b/drivers/mtd/mtd_blkdevs.c
 +++ b/drivers/mtd/mtd_blkdevs.c
-@@ -384,19 +384,8 @@ int add_mtd_blktrans_dev(struct mtd_blkt
+@@ -386,19 +386,8 @@ int add_mtd_blktrans_dev(struct mtd_blkt
  	if (new->readonly)
  	if (new->readonly)
  		set_disk_ro(gd, 1);
  		set_disk_ro(gd, 1);
  
  
@@ -45,7 +45,7 @@ Signed-off-by: Daniel Golle <[email protected]>
  out_free_tag_set:
  out_free_tag_set:
  	blk_mq_free_tag_set(new->tag_set);
  	blk_mq_free_tag_set(new->tag_set);
  out_kfree_tag_set:
  out_kfree_tag_set:
-@@ -402,6 +395,35 @@ out_list_del:
+@@ -408,6 +397,35 @@ out_list_del:
  	return ret;
  	return ret;
  }
  }
  
  
@@ -91,7 +91,7 @@ Signed-off-by: Daniel Golle <[email protected]>
  
  
  #include "mtdcore.h"
  #include "mtdcore.h"
  
  
-@@ -1082,6 +1083,8 @@ int mtd_device_parse_register(struct mtd
+@@ -1074,6 +1075,8 @@ int mtd_device_parse_register(struct mtd
  		register_reboot_notifier(&mtd->reboot_notifier);
  		register_reboot_notifier(&mtd->reboot_notifier);
  	}
  	}
  
  

+ 10 - 10
target/linux/generic/hack-6.1/410-block-fit-partition-parser.patch

@@ -19,7 +19,7 @@ Subject: [PATCH] kernel: add block fit partition parser
 
 
 --- a/block/blk.h
 --- a/block/blk.h
 +++ b/block/blk.h
 +++ b/block/blk.h
-@@ -354,6 +354,8 @@ void blk_free_ext_minor(unsigned int min
+@@ -414,6 +414,8 @@ void blk_free_ext_minor(unsigned int min
  #define ADDPART_FLAG_NONE	0
  #define ADDPART_FLAG_NONE	0
  #define ADDPART_FLAG_RAID	1
  #define ADDPART_FLAG_RAID	1
  #define ADDPART_FLAG_WHOLEDISK	2
  #define ADDPART_FLAG_WHOLEDISK	2
@@ -30,7 +30,7 @@ Subject: [PATCH] kernel: add block fit partition parser
  int bdev_del_partition(struct gendisk *disk, int partno);
  int bdev_del_partition(struct gendisk *disk, int partno);
 --- a/block/partitions/Kconfig
 --- a/block/partitions/Kconfig
 +++ b/block/partitions/Kconfig
 +++ b/block/partitions/Kconfig
-@@ -101,6 +101,13 @@ config ATARI_PARTITION
+@@ -103,6 +103,13 @@ config ATARI_PARTITION
  	  Say Y here if you would like to use hard disks under Linux which
  	  Say Y here if you would like to use hard disks under Linux which
  	  were partitioned under the Atari OS.
  	  were partitioned under the Atari OS.
  
  
@@ -56,7 +56,7 @@ Subject: [PATCH] kernel: add block fit partition parser
  obj-$(CONFIG_LDM_PARTITION) += ldm.o
  obj-$(CONFIG_LDM_PARTITION) += ldm.o
 --- a/block/partitions/check.h
 --- a/block/partitions/check.h
 +++ b/block/partitions/check.h
 +++ b/block/partitions/check.h
-@@ -58,6 +58,7 @@ int amiga_partition(struct parsed_partit
+@@ -57,6 +57,7 @@ int amiga_partition(struct parsed_partit
  int atari_partition(struct parsed_partitions *state);
  int atari_partition(struct parsed_partitions *state);
  int cmdline_partition(struct parsed_partitions *state);
  int cmdline_partition(struct parsed_partitions *state);
  int efi_partition(struct parsed_partitions *state);
  int efi_partition(struct parsed_partitions *state);
@@ -64,7 +64,7 @@ Subject: [PATCH] kernel: add block fit partition parser
  int ibm_partition(struct parsed_partitions *);
  int ibm_partition(struct parsed_partitions *);
  int karma_partition(struct parsed_partitions *state);
  int karma_partition(struct parsed_partitions *state);
  int ldm_partition(struct parsed_partitions *state);
  int ldm_partition(struct parsed_partitions *state);
-@@ -68,3 +69,5 @@ int sgi_partition(struct parsed_partitio
+@@ -67,3 +68,5 @@ int sgi_partition(struct parsed_partitio
  int sun_partition(struct parsed_partitions *state);
  int sun_partition(struct parsed_partitions *state);
  int sysv68_partition(struct parsed_partitions *state);
  int sysv68_partition(struct parsed_partitions *state);
  int ultrix_partition(struct parsed_partitions *state);
  int ultrix_partition(struct parsed_partitions *state);
@@ -72,9 +72,9 @@ Subject: [PATCH] kernel: add block fit partition parser
 +int parse_fit_partitions(struct parsed_partitions *state, u64 start_sector, u64 nr_sectors, int *slot, int add_remain);
 +int parse_fit_partitions(struct parsed_partitions *state, u64 start_sector, u64 nr_sectors, int *slot, int add_remain);
 --- a/block/partitions/core.c
 --- a/block/partitions/core.c
 +++ b/block/partitions/core.c
 +++ b/block/partitions/core.c
-@@ -12,6 +12,10 @@
+@@ -10,6 +10,10 @@
+ #include <linux/ctype.h>
  #include <linux/vmalloc.h>
  #include <linux/vmalloc.h>
- #include <linux/blktrace_api.h>
  #include <linux/raid/detect.h>
  #include <linux/raid/detect.h>
 +#ifdef CONFIG_FIT_PARTITION
 +#ifdef CONFIG_FIT_PARTITION
 +#include <linux/root_dev.h>
 +#include <linux/root_dev.h>
@@ -83,7 +83,7 @@ Subject: [PATCH] kernel: add block fit partition parser
  #include "check.h"
  #include "check.h"
  
  
  static int (*check_part[])(struct parsed_partitions *) = {
  static int (*check_part[])(struct parsed_partitions *) = {
-@@ -48,6 +52,9 @@ static int (*check_part[])(struct parsed
+@@ -46,6 +50,9 @@ static int (*check_part[])(struct parsed
  #ifdef CONFIG_EFI_PARTITION
  #ifdef CONFIG_EFI_PARTITION
  	efi_partition,		/* this must come before msdos */
  	efi_partition,		/* this must come before msdos */
  #endif
  #endif
@@ -93,7 +93,7 @@ Subject: [PATCH] kernel: add block fit partition parser
  #ifdef CONFIG_SGI_PARTITION
  #ifdef CONFIG_SGI_PARTITION
  	sgi_partition,
  	sgi_partition,
  #endif
  #endif
-@@ -408,6 +415,11 @@ static struct block_device *add_partitio
+@@ -398,6 +405,11 @@ static struct block_device *add_partitio
  			goto out_del;
  			goto out_del;
  	}
  	}
  
  
@@ -105,7 +105,7 @@ Subject: [PATCH] kernel: add block fit partition parser
  	/* everything is up and running, commence */
  	/* everything is up and running, commence */
  	err = xa_insert(&disk->part_tbl, partno, bdev, GFP_KERNEL);
  	err = xa_insert(&disk->part_tbl, partno, bdev, GFP_KERNEL);
  	if (err)
  	if (err)
-@@ -598,6 +610,11 @@ static bool blk_add_partition(struct gen
+@@ -585,6 +597,11 @@ static bool blk_add_partition(struct gen
  	    (state->parts[p].flags & ADDPART_FLAG_RAID))
  	    (state->parts[p].flags & ADDPART_FLAG_RAID))
  		md_autodetect_dev(part->bd_dev);
  		md_autodetect_dev(part->bd_dev);
  
  
@@ -143,7 +143,7 @@ Subject: [PATCH] kernel: add block fit partition parser
  	kfree(gpt);
  	kfree(gpt);
 --- a/block/partitions/efi.h
 --- a/block/partitions/efi.h
 +++ b/block/partitions/efi.h
 +++ b/block/partitions/efi.h
-@@ -52,6 +52,9 @@
+@@ -51,6 +51,9 @@
  #define PARTITION_LINUX_LVM_GUID \
  #define PARTITION_LINUX_LVM_GUID \
      EFI_GUID( 0xe6d6d379, 0xf507, 0x44c2, \
      EFI_GUID( 0xe6d6d379, 0xf507, 0x44c2, \
                0xa2, 0x3c, 0x23, 0x8f, 0x2a, 0x3d, 0xf9, 0x28)
                0xa2, 0x3c, 0x23, 0x8f, 0x2a, 0x3d, 0xf9, 0x28)

+ 1 - 1
target/linux/generic/hack-6.1/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch

@@ -12,7 +12,7 @@ Signed-off-by: Rafał Miłecki <[email protected]>
 
 
 --- a/drivers/mtd/mtdcore.c
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -761,7 +761,8 @@ int add_mtd_device(struct mtd_info *mtd)
+@@ -750,7 +750,8 @@ int add_mtd_device(struct mtd_info *mtd)
  
  
  	mutex_unlock(&mtd_table_mutex);
  	mutex_unlock(&mtd_table_mutex);
  
  

+ 1 - 1
target/linux/generic/hack-6.1/430-mtk-bmt-support.patch

@@ -23,7 +23,7 @@ Subject: [PATCH] mtd/nand: add MediaTek NAND bad block managment table
  	depends on HAS_IOMEM
  	depends on HAS_IOMEM
 --- a/drivers/mtd/nand/Makefile
 --- a/drivers/mtd/nand/Makefile
 +++ b/drivers/mtd/nand/Makefile
 +++ b/drivers/mtd/nand/Makefile
-@@ -2,6 +2,7 @@
+@@ -3,6 +3,7 @@
  nandcore-objs := core.o bbt.o
  nandcore-objs := core.o bbt.o
  obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o
  obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o
  obj-$(CONFIG_MTD_NAND_ECC_MEDIATEK) += ecc-mtk.o
  obj-$(CONFIG_MTD_NAND_ECC_MEDIATEK) += ecc-mtk.o

+ 21 - 21
target/linux/generic/hack-6.1/600-bridge_offload.patch

@@ -25,7 +25,7 @@ Subject: [PATCH] net/bridge: add bridge offload
 
 
 --- a/include/linux/if_bridge.h
 --- a/include/linux/if_bridge.h
 +++ b/include/linux/if_bridge.h
 +++ b/include/linux/if_bridge.h
-@@ -59,6 +59,7 @@ struct br_ip_list {
+@@ -60,6 +60,7 @@ struct br_ip_list {
  #define BR_TX_FWD_OFFLOAD	BIT(20)
  #define BR_TX_FWD_OFFLOAD	BIT(20)
  #define BR_PORT_LOCKED		BIT(21)
  #define BR_PORT_LOCKED		BIT(21)
  #define BR_BPDU_FILTER		BIT(22)
  #define BR_BPDU_FILTER		BIT(22)
@@ -54,7 +54,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  
  
  /*
  /*
   * Handle changes in state of network devices enslaved to a bridge.
   * Handle changes in state of network devices enslaved to a bridge.
-@@ -381,6 +382,10 @@ static int __init br_init(void)
+@@ -389,6 +390,10 @@ static int __init br_init(void)
  	if (err)
  	if (err)
  		goto err_out;
  		goto err_out;
  
  
@@ -65,7 +65,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  	err = register_pernet_subsys(&br_net_ops);
  	err = register_pernet_subsys(&br_net_ops);
  	if (err)
  	if (err)
  		goto err_out1;
  		goto err_out1;
-@@ -430,6 +435,8 @@ err_out3:
+@@ -438,6 +443,8 @@ err_out3:
  err_out2:
  err_out2:
  	unregister_pernet_subsys(&br_net_ops);
  	unregister_pernet_subsys(&br_net_ops);
  err_out1:
  err_out1:
@@ -74,7 +74,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  	br_fdb_fini();
  	br_fdb_fini();
  err_out:
  err_out:
  	stp_proto_unregister(&br_stp_proto);
  	stp_proto_unregister(&br_stp_proto);
-@@ -452,6 +459,7 @@ static void __exit br_deinit(void)
+@@ -460,6 +467,7 @@ static void __exit br_deinit(void)
  #if IS_ENABLED(CONFIG_ATM_LANE)
  #if IS_ENABLED(CONFIG_ATM_LANE)
  	br_fdb_test_addr_hook = NULL;
  	br_fdb_test_addr_hook = NULL;
  #endif
  #endif
@@ -84,7 +84,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  
  
 --- a/net/bridge/br_device.c
 --- a/net/bridge/br_device.c
 +++ b/net/bridge/br_device.c
 +++ b/net/bridge/br_device.c
-@@ -524,6 +524,8 @@ void br_dev_setup(struct net_device *dev
+@@ -525,6 +525,8 @@ void br_dev_setup(struct net_device *dev
  	br->bridge_hello_time = br->hello_time = 2 * HZ;
  	br->bridge_hello_time = br->hello_time = 2 * HZ;
  	br->bridge_forward_delay = br->forward_delay = 15 * HZ;
  	br->bridge_forward_delay = br->forward_delay = 15 * HZ;
  	br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME;
  	br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME;
@@ -103,7 +103,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  
  
  static const struct rhashtable_params br_fdb_rht_params = {
  static const struct rhashtable_params br_fdb_rht_params = {
  	.head_offset = offsetof(struct net_bridge_fdb_entry, rhnode),
  	.head_offset = offsetof(struct net_bridge_fdb_entry, rhnode),
-@@ -185,6 +185,8 @@ static void fdb_notify(struct net_bridge
+@@ -185,6 +186,8 @@ static void fdb_notify(struct net_bridge
  	struct sk_buff *skb;
  	struct sk_buff *skb;
  	int err = -ENOBUFS;
  	int err = -ENOBUFS;
  
  
@@ -112,13 +112,13 @@ Subject: [PATCH] net/bridge: add bridge offload
  	if (swdev_notify)
  	if (swdev_notify)
  		br_switchdev_fdb_notify(br, fdb, type);
  		br_switchdev_fdb_notify(br, fdb, type);
  
  
-@@ -518,6 +519,8 @@ static struct net_bridge_fdb_entry *fdb_
+@@ -393,6 +396,8 @@ static struct net_bridge_fdb_entry *fdb_
  	fdb->key.vlan_id = vid;
  	fdb->key.vlan_id = vid;
  	fdb->flags = flags;
  	fdb->flags = flags;
  	fdb->updated = fdb->used = jiffies;
  	fdb->updated = fdb->used = jiffies;
 +	INIT_HLIST_HEAD(&fdb->offload_in);
 +	INIT_HLIST_HEAD(&fdb->offload_in);
 +	INIT_HLIST_HEAD(&fdb->offload_out);
 +	INIT_HLIST_HEAD(&fdb->offload_out);
-	err = rhashtable_lookup_insert_fast(&br->fdb_hash_tbl, &fdb->rhnode,
+ 	err = rhashtable_lookup_insert_fast(&br->fdb_hash_tbl, &fdb->rhnode,
  					    br_fdb_rht_params);
  					    br_fdb_rht_params);
  	if (err) {
  	if (err) {
 --- a/net/bridge/br_forward.c
 --- a/net/bridge/br_forward.c
@@ -150,7 +150,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  
  
  /*
  /*
   * Determine initial path cost based on speed.
   * Determine initial path cost based on speed.
-@@ -428,7 +429,7 @@ static struct net_bridge_port *new_nbp(s
+@@ -437,7 +438,7 @@ static struct net_bridge_port *new_nbp(s
  	p->path_cost = port_cost(dev);
  	p->path_cost = port_cost(dev);
  	p->priority = 0x8000 >> BR_PORT_BITS;
  	p->priority = 0x8000 >> BR_PORT_BITS;
  	p->port_no = index;
  	p->port_no = index;
@@ -159,7 +159,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  	br_init_port(p);
  	br_init_port(p);
  	br_set_state(p, BR_STATE_DISABLED);
  	br_set_state(p, BR_STATE_DISABLED);
  	br_stp_port_timer_init(p);
  	br_stp_port_timer_init(p);
-@@ -771,6 +772,9 @@ void br_port_flags_change(struct net_bri
+@@ -761,6 +762,9 @@ void br_port_flags_change(struct net_bri
  
  
  	if (mask & BR_NEIGH_SUPPRESS)
  	if (mask & BR_NEIGH_SUPPRESS)
  		br_recalculate_neigh_suppress_enabled(br);
  		br_recalculate_neigh_suppress_enabled(br);
@@ -179,7 +179,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  
  
  static int
  static int
  br_netif_receive_skb(struct net *net, struct sock *sk, struct sk_buff *skb)
  br_netif_receive_skb(struct net *net, struct sock *sk, struct sk_buff *skb)
-@@ -171,6 +172,7 @@ int br_handle_frame_finish(struct net *n
+@@ -189,6 +190,7 @@ int br_handle_frame_finish(struct net *n
  			dst->used = now;
  			dst->used = now;
  		br_forward(dst->dst, skb, local_rcv, false);
  		br_forward(dst->dst, skb, local_rcv, false);
  	} else {
  	} else {
@@ -187,7 +187,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  		if (!mcast_hit)
  		if (!mcast_hit)
  			br_flood(br, skb, pkt_type, local_rcv, false);
  			br_flood(br, skb, pkt_type, local_rcv, false);
  		else
  		else
-@@ -304,6 +306,9 @@ static rx_handler_result_t br_handle_fra
+@@ -322,6 +324,9 @@ static rx_handler_result_t br_handle_fra
  	memset(skb->cb, 0, sizeof(struct br_input_skb_cb));
  	memset(skb->cb, 0, sizeof(struct br_input_skb_cb));
  
  
  	p = br_port_get_rcu(skb->dev);
  	p = br_port_get_rcu(skb->dev);
@@ -640,7 +640,7 @@ Subject: [PATCH] net/bridge: add bridge offload
 +}
 +}
 --- a/net/bridge/br_private.h
 --- a/net/bridge/br_private.h
 +++ b/net/bridge/br_private.h
 +++ b/net/bridge/br_private.h
-@@ -268,7 +268,13 @@ struct net_bridge_fdb_entry {
+@@ -271,7 +271,13 @@ struct net_bridge_fdb_entry {
  	unsigned long			updated ____cacheline_aligned_in_smp;
  	unsigned long			updated ____cacheline_aligned_in_smp;
  	unsigned long			used;
  	unsigned long			used;
  
  
@@ -654,8 +654,8 @@ Subject: [PATCH] net/bridge: add bridge offload
 +	};
 +	};
  };
  };
  
  
- #define MDB_PG_FLAGS_PERMANENT	BIT(0)
-@@ -343,6 +349,12 @@ struct net_bridge_mdb_entry {
+ struct net_bridge_fdb_flush_desc {
+@@ -353,6 +359,12 @@ struct net_bridge_mdb_entry {
  	struct rcu_head			rcu;
  	struct rcu_head			rcu;
  };
  };
  
  
@@ -668,7 +668,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  struct net_bridge_port {
  struct net_bridge_port {
  	struct net_bridge		*br;
  	struct net_bridge		*br;
  	struct net_device		*dev;
  	struct net_device		*dev;
-@@ -403,6 +415,7 @@ struct net_bridge_port {
+@@ -414,6 +426,7 @@ struct net_bridge_port {
  	u16				backup_redirected_cnt;
  	u16				backup_redirected_cnt;
  
  
  	struct bridge_stp_xstats	stp_xstats;
  	struct bridge_stp_xstats	stp_xstats;
@@ -676,7 +676,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  };
  };
  
  
  #define kobj_to_brport(obj)	container_of(obj, struct net_bridge_port, kobj)
  #define kobj_to_brport(obj)	container_of(obj, struct net_bridge_port, kobj)
-@@ -519,6 +532,9 @@ struct net_bridge {
+@@ -531,6 +544,9 @@ struct net_bridge {
  	struct kobject			*ifobj;
  	struct kobject			*ifobj;
  	u32				auto_cnt;
  	u32				auto_cnt;
  
  
@@ -686,7 +686,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  #ifdef CONFIG_NET_SWITCHDEV
  #ifdef CONFIG_NET_SWITCHDEV
  	/* Counter used to make sure that hardware domains get unique
  	/* Counter used to make sure that hardware domains get unique
  	 * identifiers in case a bridge spans multiple switchdev instances.
  	 * identifiers in case a bridge spans multiple switchdev instances.
-@@ -553,6 +569,10 @@ struct br_input_skb_cb {
+@@ -565,6 +581,10 @@ struct br_input_skb_cb {
  #ifdef CONFIG_NETFILTER_FAMILY_BRIDGE
  #ifdef CONFIG_NETFILTER_FAMILY_BRIDGE
  	u8 br_netfilter_broute:1;
  	u8 br_netfilter_broute:1;
  #endif
  #endif
@@ -733,7 +733,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  
  
  /* since time values in bpdu are in jiffies and then scaled (1/256)
  /* since time values in bpdu are in jiffies and then scaled (1/256)
   * before sending, make sure that is at least one STP tick.
   * before sending, make sure that is at least one STP tick.
-@@ -52,6 +53,8 @@ void br_set_state(struct net_bridge_port
+@@ -58,6 +59,8 @@ void br_set_state(struct net_bridge_port
  				(unsigned int) p->port_no, p->dev->name,
  				(unsigned int) p->port_no, p->dev->name,
  				br_port_state_names[p->state]);
  				br_port_state_names[p->state]);
  
  
@@ -752,7 +752,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  
  
  /* IMPORTANT: new bridge options must be added with netlink support only
  /* IMPORTANT: new bridge options must be added with netlink support only
   *            please do not add new sysfs entries
   *            please do not add new sysfs entries
-@@ -930,6 +931,38 @@ static ssize_t vlan_stats_per_port_store
+@@ -933,6 +934,38 @@ static ssize_t vlan_stats_per_port_store
  static DEVICE_ATTR_RW(vlan_stats_per_port);
  static DEVICE_ATTR_RW(vlan_stats_per_port);
  #endif
  #endif
  
  
@@ -791,7 +791,7 @@ Subject: [PATCH] net/bridge: add bridge offload
  static struct attribute *bridge_attrs[] = {
  static struct attribute *bridge_attrs[] = {
  	&dev_attr_forward_delay.attr,
  	&dev_attr_forward_delay.attr,
  	&dev_attr_hello_time.attr,
  	&dev_attr_hello_time.attr,
-@@ -984,6 +1017,8 @@ static struct attribute *bridge_attrs[]
+@@ -987,6 +1020,8 @@ static struct attribute *bridge_attrs[]
  	&dev_attr_vlan_stats_enabled.attr,
  	&dev_attr_vlan_stats_enabled.attr,
  	&dev_attr_vlan_stats_per_port.attr,
  	&dev_attr_vlan_stats_per_port.attr,
  #endif
  #endif

+ 2 - 2
target/linux/generic/hack-6.1/645-netfilter-connmark-introduce-set-dscpmark.patch

@@ -83,7 +83,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <[email protected]>
 
 
 --- a/include/uapi/linux/netfilter/xt_connmark.h
 --- a/include/uapi/linux/netfilter/xt_connmark.h
 +++ b/include/uapi/linux/netfilter/xt_connmark.h
 +++ b/include/uapi/linux/netfilter/xt_connmark.h
-@@ -20,6 +20,11 @@ enum {
+@@ -15,6 +15,11 @@ enum {
  };
  };
  
  
  enum {
  enum {
@@ -95,7 +95,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <[email protected]>
  	D_SHIFT_LEFT = 0,
  	D_SHIFT_LEFT = 0,
  	D_SHIFT_RIGHT,
  	D_SHIFT_RIGHT,
  };
  };
-@@ -34,6 +39,11 @@ struct xt_connmark_tginfo2 {
+@@ -29,6 +34,11 @@ struct xt_connmark_tginfo2 {
  	__u8 shift_dir, shift_bits, mode;
  	__u8 shift_dir, shift_bits, mode;
  };
  };
  
  

+ 6 - 6
target/linux/generic/hack-6.1/650-netfilter-add-xt_FLOWOFFLOAD-target.patch

@@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 
 --- a/net/netfilter/Kconfig
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -1011,6 +1010,15 @@ config NETFILTER_XT_TARGET_NOTRACK
+@@ -1023,6 +1023,15 @@ config NETFILTER_XT_TARGET_NOTRACK
  	depends on NETFILTER_ADVANCED
  	depends on NETFILTER_ADVANCED
  	select NETFILTER_XT_TARGET_CT
  	select NETFILTER_XT_TARGET_CT
  
  
@@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	depends on NETFILTER_ADVANCED
  	depends on NETFILTER_ADVANCED
 --- a/net/netfilter/Makefile
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -143,6 +143,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CLASSIF
+@@ -154,6 +154,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CLASSIF
  obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_CT) += xt_CT.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_CT) += xt_CT.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_DSCP) += xt_DSCP.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_DSCP) += xt_DSCP.o
@@ -745,7 +745,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  #include <net/netfilter/nf_flow_table.h>
  #include <net/netfilter/nf_flow_table.h>
  #include <net/netfilter/nf_conntrack.h>
  #include <net/netfilter/nf_conntrack.h>
  #include <net/netfilter/nf_conntrack_core.h>
  #include <net/netfilter/nf_conntrack_core.h>
-@@ -380,8 +379,7 @@ flow_offload_lookup(struct nf_flowtable
+@@ -381,8 +380,7 @@ flow_offload_lookup(struct nf_flowtable
  }
  }
  EXPORT_SYMBOL_GPL(flow_offload_lookup);
  EXPORT_SYMBOL_GPL(flow_offload_lookup);
  
  
@@ -755,13 +755,13 @@ Signed-off-by: Felix Fietkau <[email protected]>
  		      void (*iter)(struct nf_flowtable *flowtable,
  		      void (*iter)(struct nf_flowtable *flowtable,
  				   struct flow_offload *flow, void *data),
  				   struct flow_offload *flow, void *data),
  		      void *data)
  		      void *data)
-@@ -435,6 +433,7 @@ static void nf_flow_offload_gc_step(stru
+@@ -436,6 +434,7 @@ static void nf_flow_offload_gc_step(stru
  		nf_flow_offload_stats(flow_table, flow);
  		nf_flow_offload_stats(flow_table, flow);
  	}
  	}
  }
  }
 +EXPORT_SYMBOL_GPL(nf_flow_table_iterate);
 +EXPORT_SYMBOL_GPL(nf_flow_table_iterate);
  
  
- static void nf_flow_offload_work_gc(struct work_struct *work)
+ void nf_flow_table_gc_run(struct nf_flowtable *flow_table)
  {
  {
 --- /dev/null
 --- /dev/null
 +++ b/include/uapi/linux/netfilter/xt_FLOWOFFLOAD.h
 +++ b/include/uapi/linux/netfilter/xt_FLOWOFFLOAD.h
@@ -785,7 +785,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 +#endif /* _XT_FLOWOFFLOAD_H */
 +#endif /* _XT_FLOWOFFLOAD_H */
 --- a/include/net/netfilter/nf_flow_table.h
 --- a/include/net/netfilter/nf_flow_table.h
 +++ b/include/net/netfilter/nf_flow_table.h
 +++ b/include/net/netfilter/nf_flow_table.h
-@@ -275,6 +275,11 @@ void nf_flow_table_free(struct nf_flowta
+@@ -280,6 +280,11 @@ void nf_flow_table_free(struct nf_flowta
  
  
  void flow_offload_teardown(struct flow_offload *flow);
  void flow_offload_teardown(struct flow_offload *flow);
  
  

+ 1 - 1
target/linux/generic/hack-6.1/651-wireless_mesh_header.patch

@@ -11,7 +11,7 @@ Signed-off-by: Imre Kaloz <[email protected]>
 
 
 --- a/include/linux/netdevice.h
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -145,8 +145,8 @@ static inline bool dev_xmit_complete(int
+@@ -149,8 +149,8 @@ static inline bool dev_xmit_complete(int
  
  
  #if defined(CONFIG_HYPERV_NET)
  #if defined(CONFIG_HYPERV_NET)
  # define LL_MAX_HEADER 128
  # define LL_MAX_HEADER 128

+ 1 - 1
target/linux/generic/hack-6.1/660-fq_codel_defaults.patch

@@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 
 --- a/net/sched/sch_fq_codel.c
 --- a/net/sched/sch_fq_codel.c
 +++ b/net/sched/sch_fq_codel.c
 +++ b/net/sched/sch_fq_codel.c
-@@ -467,7 +467,11 @@ static int fq_codel_init(struct Qdisc *s
+@@ -471,7 +471,11 @@ static int fq_codel_init(struct Qdisc *s
  
  
  	sch->limit = 10*1024;
  	sch->limit = 10*1024;
  	q->flows_cnt = 1024;
  	q->flows_cnt = 1024;

+ 1 - 1
target/linux/generic/hack-6.1/661-kernel-ct-size-the-hashtable-more-adequately.patch

@@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra <[email protected]>
 
 
 --- a/net/netfilter/nf_conntrack_core.c
 --- a/net/netfilter/nf_conntrack_core.c
 +++ b/net/netfilter/nf_conntrack_core.c
 +++ b/net/netfilter/nf_conntrack_core.c
-@@ -2735,7 +2735,7 @@ int nf_conntrack_init_start(void)
+@@ -2702,7 +2702,7 @@ int nf_conntrack_init_start(void)
  
  
  	if (!nf_conntrack_htable_size) {
  	if (!nf_conntrack_htable_size) {
  		nf_conntrack_htable_size
  		nf_conntrack_htable_size

+ 1 - 1
target/linux/generic/hack-6.1/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch

@@ -9,7 +9,7 @@ Subject: [PATCH] net/dsa/mv88e6xxx: disable ATU violation
 
 
 --- a/drivers/net/dsa/mv88e6xxx/chip.c
 --- a/drivers/net/dsa/mv88e6xxx/chip.c
 +++ b/drivers/net/dsa/mv88e6xxx/chip.c
 +++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -2981,6 +2981,9 @@ static int mv88e6xxx_setup_port(struct m
+@@ -3465,6 +3465,9 @@ static int mv88e6xxx_setup_port(struct m
  	else
  	else
  		reg = 1 << port;
  		reg = 1 << port;
  
  

+ 8 - 8
target/linux/generic/hack-6.1/720-net-phy-add-aqr-phys.patch

@@ -9,7 +9,7 @@ Signed-off-by: Birger Koblitz <[email protected]>
 
 
 --- a/drivers/net/phy/aquantia_main.c
 --- a/drivers/net/phy/aquantia_main.c
 +++ b/drivers/net/phy/aquantia_main.c
 +++ b/drivers/net/phy/aquantia_main.c
-@@ -20,6 +20,7 @@
+@@ -23,6 +23,7 @@
  #define PHY_ID_AQCS109	0x03a1b5c2
  #define PHY_ID_AQCS109	0x03a1b5c2
  #define PHY_ID_AQR405	0x03a1b4b0
  #define PHY_ID_AQR405	0x03a1b4b0
  #define PHY_ID_AQR113C	0x31c31c12
  #define PHY_ID_AQR113C	0x31c31c12
@@ -17,7 +17,7 @@ Signed-off-by: Birger Koblitz <[email protected]>
  
  
  #define MDIO_PHYXS_VEND_IF_STATUS		0xe812
  #define MDIO_PHYXS_VEND_IF_STATUS		0xe812
  #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK	GENMASK(7, 3)
  #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK	GENMASK(7, 3)
-@@ -372,6 +374,49 @@ static int aqr107_read_rate(struct phy_d
+@@ -415,6 +416,49 @@ static int aqr107_read_rate(struct phy_d
  	return 0;
  	return 0;
  }
  }
  
  
@@ -67,7 +67,7 @@ Signed-off-by: Birger Koblitz <[email protected]>
  static int aqr107_read_status(struct phy_device *phydev)
  static int aqr107_read_status(struct phy_device *phydev)
  {
  {
  	int val, ret;
  	int val, ret;
-@@ -502,7 +547,7 @@ static void aqr107_chip_info(struct phy_
+@@ -554,7 +598,7 @@ static void aqr107_chip_info(struct phy_
  	build_id = FIELD_GET(VEND1_GLOBAL_RSVD_STAT1_FW_BUILD_ID, val);
  	build_id = FIELD_GET(VEND1_GLOBAL_RSVD_STAT1_FW_BUILD_ID, val);
  	prov_id = FIELD_GET(VEND1_GLOBAL_RSVD_STAT1_PROV_ID, val);
  	prov_id = FIELD_GET(VEND1_GLOBAL_RSVD_STAT1_PROV_ID, val);
  
  
@@ -76,7 +76,7 @@ Signed-off-by: Birger Koblitz <[email protected]>
  		   fw_major, fw_minor, build_id, prov_id);
  		   fw_major, fw_minor, build_id, prov_id);
  }
  }
  
  
-@@ -706,7 +706,7 @@ static struct phy_driver aqr_driver[] =
+@@ -809,7 +853,7 @@ static struct phy_driver aqr_driver[] =
  	.config_aneg    = aqr_config_aneg,
  	.config_aneg    = aqr_config_aneg,
  	.config_intr    = aqr_config_intr,
  	.config_intr    = aqr_config_intr,
  	.handle_interrupt       = aqr_handle_interrupt,
  	.handle_interrupt       = aqr_handle_interrupt,
@@ -85,9 +85,9 @@ Signed-off-by: Birger Koblitz <[email protected]>
  	.get_tunable    = aqr107_get_tunable,
  	.get_tunable    = aqr107_get_tunable,
  	.set_tunable    = aqr107_set_tunable,
  	.set_tunable    = aqr107_set_tunable,
  	.suspend        = aqr107_suspend,
  	.suspend        = aqr107_suspend,
-@@ -708,6 +762,24 @@ static struct phy_driver aqr_driver[] =
- 	.handle_interrupt = aqr_handle_interrupt,
- 	.read_status	= aqr_read_status,
+@@ -819,6 +863,24 @@ static struct phy_driver aqr_driver[] =
+ 	.get_stats      = aqr107_get_stats,
+ 	.link_change_notify = aqr107_link_change_notify,
  },
  },
 +{
 +{
 +	PHY_ID_MATCH_MODEL(PHY_ID_AQR813),
 +	PHY_ID_MATCH_MODEL(PHY_ID_AQR813),
@@ -110,7 +110,7 @@ Signed-off-by: Birger Koblitz <[email protected]>
  };
  };
  
  
  module_phy_driver(aqr_driver);
  module_phy_driver(aqr_driver);
-@@ -709,6 +790,7 @@ static struct mdio_device_id __maybe_unu
+@@ -832,6 +894,7 @@ static struct mdio_device_id __maybe_unu
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQCS109) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQCS109) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR405) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR405) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) },

+ 9 - 9
target/linux/generic/hack-6.1/721-net-add-packet-mangeling.patch

@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 
 --- a/include/linux/netdevice.h
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -1655,6 +1655,7 @@ enum netdev_priv_flags {
+@@ -1704,6 +1704,7 @@ enum netdev_priv_flags {
  	IFF_LIVE_RENAME_OK		= 1<<30,
  	IFF_LIVE_RENAME_OK		= 1<<30,
  	IFF_TX_SKB_NO_LINEAR		= BIT_ULL(31),
  	IFF_TX_SKB_NO_LINEAR		= BIT_ULL(31),
  	IFF_CHANGE_PROTO_DOWN		= BIT_ULL(32),
  	IFF_CHANGE_PROTO_DOWN		= BIT_ULL(32),
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  };
  };
  
  
  #define IFF_802_1Q_VLAN			IFF_802_1Q_VLAN
  #define IFF_802_1Q_VLAN			IFF_802_1Q_VLAN
-@@ -1687,6 +1691,7 @@ enum netdev_priv_flags {
+@@ -1738,6 +1739,7 @@ enum netdev_priv_flags {
  #define IFF_L3MDEV_RX_HANDLER		IFF_L3MDEV_RX_HANDLER
  #define IFF_L3MDEV_RX_HANDLER		IFF_L3MDEV_RX_HANDLER
  #define IFF_LIVE_RENAME_OK		IFF_LIVE_RENAME_OK
  #define IFF_LIVE_RENAME_OK		IFF_LIVE_RENAME_OK
  #define IFF_TX_SKB_NO_LINEAR		IFF_TX_SKB_NO_LINEAR
  #define IFF_TX_SKB_NO_LINEAR		IFF_TX_SKB_NO_LINEAR
@@ -35,7 +35,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
  /* Specifies the type of the struct net_device::ml_priv pointer */
  /* Specifies the type of the struct net_device::ml_priv pointer */
  enum netdev_ml_priv_type {
  enum netdev_ml_priv_type {
-@@ -2048,6 +2054,11 @@ struct net_device {
+@@ -2106,6 +2108,11 @@ struct net_device {
  	const struct tlsdev_ops *tlsdev_ops;
  	const struct tlsdev_ops *tlsdev_ops;
  #endif
  #endif
  
  
@@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	const struct header_ops *header_ops;
  	const struct header_ops *header_ops;
  
  
  	unsigned char		operstate;
  	unsigned char		operstate;
-@@ -2122,6 +2133,10 @@ struct net_device {
+@@ -2181,6 +2188,10 @@ struct net_device {
  	struct mctp_dev __rcu	*mctp_ptr;
  	struct mctp_dev __rcu	*mctp_ptr;
  #endif
  #endif
  
  
@@ -60,7 +60,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
   */
   */
 --- a/include/linux/skbuff.h
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2816,6 +2816,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -3022,6 +3022,10 @@ static inline int pskb_trim(struct sk_bu
  	return (len < skb->len) ? __pskb_trim(skb, len) : 0;
  	return (len < skb->len) ? __pskb_trim(skb, len) : 0;
  }
  }
  
  
@@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  /**
  /**
   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer
   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer
   *	@skb: buffer to alter
   *	@skb: buffer to alter
-@@ -2966,16 +2970,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -3171,16 +3175,6 @@ static inline struct sk_buff *dev_alloc_
  }
  }
  
  
  
  
@@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	help
  	help
 --- a/net/core/dev.c
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -3590,6 +3590,11 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3588,6 +3588,11 @@ static int xmit_one(struct sk_buff *skb,
  	if (dev_nit_active(dev))
  	if (dev_nit_active(dev))
  		dev_queue_xmit_nit(skb, dev);
  		dev_queue_xmit_nit(skb, dev);
  
  
@@ -127,7 +127,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
  #include <net/protocol.h>
  #include <net/protocol.h>
  #include <net/dst.h>
  #include <net/dst.h>
-@@ -602,6 +603,22 @@ skb_fail:
+@@ -707,6 +708,22 @@ skb_fail:
  }
  }
  EXPORT_SYMBOL(__napi_alloc_skb);
  EXPORT_SYMBOL(__napi_alloc_skb);
  
  
@@ -152,7 +152,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  {
  {
 --- a/net/ethernet/eth.c
 --- a/net/ethernet/eth.c
 +++ b/net/ethernet/eth.c
 +++ b/net/ethernet/eth.c
-@@ -170,6 +170,12 @@ __be16 eth_type_trans(struct sk_buff *sk
+@@ -171,6 +171,12 @@ __be16 eth_type_trans(struct sk_buff *sk
  	const struct ethhdr *eth;
  	const struct ethhdr *eth;
  
  
  	skb->dev = dev;
  	skb->dev = dev;

+ 8 - 7
target/linux/generic/hack-6.1/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch

@@ -15,7 +15,7 @@ Signed-off-by: Alex Marginean <[email protected]>
 
 
 --- a/drivers/net/phy/aquantia_main.c
 --- a/drivers/net/phy/aquantia_main.c
 +++ b/drivers/net/phy/aquantia_main.c
 +++ b/drivers/net/phy/aquantia_main.c
-@@ -20,6 +20,8 @@
+@@ -24,6 +24,8 @@
  #define PHY_ID_AQR405	0x03a1b4b0
  #define PHY_ID_AQR405	0x03a1b4b0
  #define PHY_ID_AQR113C	0x31c31c12
  #define PHY_ID_AQR113C	0x31c31c12
  #define PHY_ID_AQR813	0x31c31cb2
  #define PHY_ID_AQR813	0x31c31cb2
@@ -24,9 +24,9 @@ Signed-off-by: Alex Marginean <[email protected]>
  
  
  #define MDIO_PHYXS_VEND_IF_STATUS		0xe812
  #define MDIO_PHYXS_VEND_IF_STATUS		0xe812
  #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK	GENMASK(7, 3)
  #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK	GENMASK(7, 3)
-@@ -126,6 +128,29 @@
- #define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL2	BIT(1)
- #define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL3	BIT(0)
+@@ -151,6 +153,29 @@
+ #define AQR107_OP_IN_PROG_SLEEP		1000
+ #define AQR107_OP_IN_PROG_TIMEOUT	100000
  
  
 +/* registers in MDIO_MMD_VEND1 region */
 +/* registers in MDIO_MMD_VEND1 region */
 +#define AQUANTIA_VND1_GLOBAL_SC			0x000
 +#define AQUANTIA_VND1_GLOBAL_SC			0x000
@@ -54,7 +54,7 @@ Signed-off-by: Alex Marginean <[email protected]>
  struct aqr107_hw_stat {
  struct aqr107_hw_stat {
  	const char *name;
  	const char *name;
  	int reg;
  	int reg;
-@@ -257,6 +282,51 @@ static int aqr_config_aneg(struct phy_de
+@@ -282,6 +307,51 @@ static int aqr_config_aneg(struct phy_de
  	return genphy_c45_check_and_restart_aneg(phydev, changed);
  	return genphy_c45_check_and_restart_aneg(phydev, changed);
  }
  }
  
  
@@ -106,7 +106,7 @@ Signed-off-by: Alex Marginean <[email protected]>
  static int aqr_config_intr(struct phy_device *phydev)
  static int aqr_config_intr(struct phy_device *phydev)
  {
  {
  	bool en = phydev->interrupts == PHY_INTERRUPT_ENABLED;
  	bool en = phydev->interrupts == PHY_INTERRUPT_ENABLED;
-@@ -780,6 +850,30 @@ static struct phy_driver aqr_driver[] =
+@@ -881,6 +951,30 @@ static struct phy_driver aqr_driver[] =
  	.get_stats	= aqr107_get_stats,
  	.get_stats	= aqr107_get_stats,
  	.link_change_notify = aqr107_link_change_notify,
  	.link_change_notify = aqr107_link_change_notify,
  },
  },
@@ -137,7 +137,7 @@ Signed-off-by: Alex Marginean <[email protected]>
  };
  };
  
  
  module_phy_driver(aqr_driver);
  module_phy_driver(aqr_driver);
-@@ -790,5 +884,7 @@ static struct mdio_device_id __maybe_unu
+@@ -895,6 +989,8 @@ static struct mdio_device_id __maybe_unu
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR405) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR405) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR813) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR813) },
@@ -145,3 +145,4 @@ Signed-off-by: Alex Marginean <[email protected]>
 +	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR412) },
 +	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR412) },
  	{ }
  	{ }
  };
  };
+ 

+ 1 - 1
target/linux/generic/hack-6.1/723-net-phy-aquantia-fix-system-side-protocol-mi.patch

@@ -14,7 +14,7 @@ Signed-off-by: Alex Marginean <[email protected]>
 
 
 --- a/drivers/net/phy/aquantia_main.c
 --- a/drivers/net/phy/aquantia_main.c
 +++ b/drivers/net/phy/aquantia_main.c
 +++ b/drivers/net/phy/aquantia_main.c
-@@ -315,10 +315,16 @@ static int aqr_config_aneg_set_prot(stru
+@@ -340,10 +340,16 @@ static int aqr_config_aneg_set_prot(stru
  	phy_write_mmd(phydev, MDIO_MMD_VEND1, AQUANTIA_VND1_GSTART_RATE,
  	phy_write_mmd(phydev, MDIO_MMD_VEND1, AQUANTIA_VND1_GSTART_RATE,
  		      aquantia_syscfg[if_type].start_rate);
  		      aquantia_syscfg[if_type].start_rate);
  
  

+ 5 - 4
target/linux/generic/hack-6.1/724-net-phy-aquantia-Add-AQR113-driver-support.patch

@@ -10,7 +10,7 @@ Add a new entry for AQR113 PHY_ID
 
 
 --- a/drivers/net/phy/aquantia_main.c
 --- a/drivers/net/phy/aquantia_main.c
 +++ b/drivers/net/phy/aquantia_main.c
 +++ b/drivers/net/phy/aquantia_main.c
-@@ -21,6 +21,7 @@
+@@ -26,6 +26,7 @@
  #define PHY_ID_AQR813	0x31c31cb2
  #define PHY_ID_AQR813	0x31c31cb2
  #define PHY_ID_AQR112	0x03a1b662
  #define PHY_ID_AQR112	0x03a1b662
  #define PHY_ID_AQR412	0x03a1b712
  #define PHY_ID_AQR412	0x03a1b712
@@ -18,8 +18,8 @@ Add a new entry for AQR113 PHY_ID
  
  
  #define MDIO_PHYXS_VEND_IF_STATUS		0xe812
  #define MDIO_PHYXS_VEND_IF_STATUS		0xe812
  #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK	GENMASK(7, 3)
  #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK	GENMASK(7, 3)
-@@ -869,6 +870,14 @@ static struct phy_driver aqr_driver[] =
-	.get_strings	= aqr107_get_strings,
+@@ -981,6 +982,14 @@ static struct phy_driver aqr_driver[] =
+ 	.get_strings	= aqr107_get_strings,
  	.get_stats	= aqr107_get_stats,
  	.get_stats	= aqr107_get_stats,
  },
  },
 +{
 +{
@@ -33,10 +33,11 @@ Add a new entry for AQR113 PHY_ID
  };
  };
  
  
  module_phy_driver(aqr_driver);
  module_phy_driver(aqr_driver);
-@@ -790,5 +884,6 @@ static struct mdio_device_id __maybe_unu
+@@ -997,6 +1006,7 @@ static struct mdio_device_id __maybe_unu
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR813) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR813) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR112) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR112) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR412) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR412) },
 +	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR113) },
 +	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR113) },
  	{ }
  	{ }
  };
  };
+ 

+ 4 - 3
target/linux/generic/hack-6.1/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch

@@ -12,7 +12,7 @@ Signed-off-by: Daniel Golle <[email protected]>
 
 
 --- a/drivers/net/phy/aquantia_main.c
 --- a/drivers/net/phy/aquantia_main.c
 +++ b/drivers/net/phy/aquantia_main.c
 +++ b/drivers/net/phy/aquantia_main.c
-@@ -21,6 +21,8 @@
+@@ -27,6 +27,8 @@
  #define PHY_ID_AQR112	0x03a1b662
  #define PHY_ID_AQR112	0x03a1b662
  #define PHY_ID_AQR412	0x03a1b712
  #define PHY_ID_AQR412	0x03a1b712
  #define PHY_ID_AQR113	0x31c31c40
  #define PHY_ID_AQR113	0x31c31c40
@@ -21,7 +21,7 @@ Signed-off-by: Daniel Golle <[email protected]>
  
  
  #define MDIO_PHYXS_VEND_IF_STATUS		0xe812
  #define MDIO_PHYXS_VEND_IF_STATUS		0xe812
  #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK	GENMASK(7, 3)
  #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK	GENMASK(7, 3)
-@@ -870,6 +872,30 @@ static struct phy_driver aqr_driver[] =
+@@ -990,6 +992,30 @@ static struct phy_driver aqr_driver[] =
  	.handle_interrupt = aqr_handle_interrupt,
  	.handle_interrupt = aqr_handle_interrupt,
  	.read_status	= aqr107_read_status,
  	.read_status	= aqr107_read_status,
  },
  },
@@ -52,7 +52,7 @@ Signed-off-by: Daniel Golle <[email protected]>
  };
  };
  
  
  module_phy_driver(aqr_driver);
  module_phy_driver(aqr_driver);
-@@ -900,5 +926,7 @@ static struct mdio_device_id __maybe_unu
+@@ -1007,6 +1033,8 @@ static struct mdio_device_id __maybe_unu
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR112) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR112) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR412) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR412) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR113) },
  	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR113) },
@@ -60,3 +60,4 @@ Signed-off-by: Daniel Golle <[email protected]>
 +	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR112R) },
 +	{ PHY_ID_MATCH_MODEL(PHY_ID_AQR112R) },
  	{ }
  	{ }
  };
  };
+ 

+ 4 - 4
target/linux/generic/hack-6.1/760-net-usb-r8152-add-LED-configuration-from-OF.patch

@@ -22,7 +22,7 @@ Signed-off-by: David Bauer <[email protected]>
  #include <linux/crc32.h>
  #include <linux/crc32.h>
  #include <linux/if_vlan.h>
  #include <linux/if_vlan.h>
  #include <linux/uaccess.h>
  #include <linux/uaccess.h>
-@@ -6886,6 +6887,22 @@ static void rtl_tally_reset(struct r8152
+@@ -6893,6 +6894,22 @@ static void rtl_tally_reset(struct r8152
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
  }
  }
  
  
@@ -45,7 +45,7 @@ Signed-off-by: David Bauer <[email protected]>
  static void r8152b_init(struct r8152 *tp)
  static void r8152b_init(struct r8152 *tp)
  {
  {
  	u32 ocp_data;
  	u32 ocp_data;
-@@ -6927,6 +6944,8 @@ static void r8152b_init(struct r8152 *tp
+@@ -6934,6 +6951,8 @@ static void r8152b_init(struct r8152 *tp
  	ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
  	ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
  	ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
  	ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
  	ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
  	ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
@@ -54,7 +54,7 @@ Signed-off-by: David Bauer <[email protected]>
  }
  }
  
  
  static void r8153_init(struct r8152 *tp)
  static void r8153_init(struct r8152 *tp)
-@@ -7067,6 +7086,8 @@ static void r8153_init(struct r8152 *tp)
+@@ -7074,6 +7093,8 @@ static void r8153_init(struct r8152 *tp)
  		tp->coalesce = COALESCE_SLOW;
  		tp->coalesce = COALESCE_SLOW;
  		break;
  		break;
  	}
  	}
@@ -63,7 +63,7 @@ Signed-off-by: David Bauer <[email protected]>
  }
  }
  
  
  static void r8153b_init(struct r8152 *tp)
  static void r8153b_init(struct r8152 *tp)
-@@ -7149,6 +7170,8 @@ static void r8153b_init(struct r8152 *tp
+@@ -7156,6 +7177,8 @@ static void r8153b_init(struct r8152 *tp
  	rtl_tally_reset(tp);
  	rtl_tally_reset(tp);
  
  
  	tp->coalesce = 15000;	/* 15 us */
  	tp->coalesce = 15000;	/* 15 us */

+ 8 - 8
target/linux/generic/hack-6.1/765-mxl-gpy-control-LED-reg-from-DT.patch

@@ -23,7 +23,7 @@ Signed-off-by: David Bauer <[email protected]>
 
 
 --- a/drivers/net/phy/mxl-gpy.c
 --- a/drivers/net/phy/mxl-gpy.c
 +++ b/drivers/net/phy/mxl-gpy.c
 +++ b/drivers/net/phy/mxl-gpy.c
-@@ -8,6 +8,7 @@
+@@ -10,6 +10,7 @@
  #include <linux/bitfield.h>
  #include <linux/bitfield.h>
  #include <linux/hwmon.h>
  #include <linux/hwmon.h>
  #include <linux/mutex.h>
  #include <linux/mutex.h>
@@ -31,7 +31,7 @@ Signed-off-by: David Bauer <[email protected]>
  #include <linux/phy.h>
  #include <linux/phy.h>
  #include <linux/polynomial.h>
  #include <linux/polynomial.h>
  #include <linux/netdevice.h>
  #include <linux/netdevice.h>
-@@ -30,6 +31,7 @@
+@@ -33,6 +34,7 @@
  #define PHY_MIISTAT		0x18	/* MII state */
  #define PHY_MIISTAT		0x18	/* MII state */
  #define PHY_IMASK		0x19	/* interrupt mask */
  #define PHY_IMASK		0x19	/* interrupt mask */
  #define PHY_ISTAT		0x1A	/* interrupt status */
  #define PHY_ISTAT		0x1A	/* interrupt status */
@@ -39,7 +39,7 @@ Signed-off-by: David Bauer <[email protected]>
  #define PHY_FWV			0x1E	/* firmware version */
  #define PHY_FWV			0x1E	/* firmware version */
  
  
  #define PHY_MIISTAT_SPD_MASK	GENMASK(2, 0)
  #define PHY_MIISTAT_SPD_MASK	GENMASK(2, 0)
-@@ -53,10 +55,15 @@
+@@ -56,10 +58,15 @@
  				 PHY_IMASK_ADSC | \
  				 PHY_IMASK_ADSC | \
  				 PHY_IMASK_ANC)
  				 PHY_IMASK_ANC)
  
  
@@ -55,9 +55,9 @@ Signed-off-by: David Bauer <[email protected]>
  /* SGMII */
  /* SGMII */
  #define VSPEC1_SGMII_CTRL	0x08
  #define VSPEC1_SGMII_CTRL	0x08
  #define VSPEC1_SGMII_CTRL_ANEN	BIT(12)		/* Aneg enable */
  #define VSPEC1_SGMII_CTRL_ANEN	BIT(12)		/* Aneg enable */
-@@ -80,6 +87,31 @@ static const struct {
- 	{9, 0x73},
- };
+@@ -241,6 +248,31 @@ out:
+ 	return ret;
+ }
  
  
 +static int gpy_led_write(struct phy_device *phydev)
 +static int gpy_led_write(struct phy_device *phydev)
 +{
 +{
@@ -87,7 +87,7 @@ Signed-off-by: David Bauer <[email protected]>
  static int gpy_config_init(struct phy_device *phydev)
  static int gpy_config_init(struct phy_device *phydev)
  {
  {
  	int ret;
  	int ret;
-@@ -91,7 +123,10 @@ static int gpy_config_init(struct phy_de
+@@ -252,7 +284,10 @@ static int gpy_config_init(struct phy_de
  
  
  	/* Clear all pending interrupts */
  	/* Clear all pending interrupts */
  	ret = phy_read(phydev, PHY_ISTAT);
  	ret = phy_read(phydev, PHY_ISTAT);
@@ -98,4 +98,4 @@ Signed-off-by: David Bauer <[email protected]>
 +	return gpy_led_write(phydev);
 +	return gpy_led_write(phydev);
  }
  }
  
  
- static int gpy_probe(struct phy_device *phydev)
+ static bool gpy_has_broken_mdint(struct phy_device *phydev)

+ 2 - 2
target/linux/generic/hack-6.1/773-bgmac-add-srab-switch.patch

@@ -78,7 +78,7 @@ Signed-off-by: Hauke Mehrtens <[email protected]>
  	netif_napi_del(&bgmac->napi);
  	netif_napi_del(&bgmac->napi);
 --- a/drivers/net/ethernet/broadcom/bgmac.h
 --- a/drivers/net/ethernet/broadcom/bgmac.h
 +++ b/drivers/net/ethernet/broadcom/bgmac.h
 +++ b/drivers/net/ethernet/broadcom/bgmac.h
-@@ -390,6 +390,7 @@
+@@ -388,6 +388,7 @@
  #define BGMAC_FEAT_CC4_IF_SW_TYPE_RGMII	BIT(18)
  #define BGMAC_FEAT_CC4_IF_SW_TYPE_RGMII	BIT(18)
  #define BGMAC_FEAT_CC7_IF_TYPE_RGMII	BIT(19)
  #define BGMAC_FEAT_CC7_IF_TYPE_RGMII	BIT(19)
  #define BGMAC_FEAT_IDM_MASK		BIT(20)
  #define BGMAC_FEAT_IDM_MASK		BIT(20)
@@ -86,7 +86,7 @@ Signed-off-by: Hauke Mehrtens <[email protected]>
  
  
  struct bgmac_slot_info {
  struct bgmac_slot_info {
  	union {
  	union {
-@@ -497,6 +498,9 @@ struct bgmac {
+@@ -495,6 +496,9 @@ struct bgmac {
  	void (*cmn_maskset32)(struct bgmac *bgmac, u16 offset, u32 mask,
  	void (*cmn_maskset32)(struct bgmac *bgmac, u16 offset, u32 mask,
  			      u32 set);
  			      u32 set);
  	int (*phy_connect)(struct bgmac *bgmac);
  	int (*phy_connect)(struct bgmac *bgmac);

+ 3 - 3
target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch

@@ -10,7 +10,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
 
 
 --- a/drivers/net/usb/qmi_wwan.c
 --- a/drivers/net/usb/qmi_wwan.c
 +++ b/drivers/net/usb/qmi_wwan.c
 +++ b/drivers/net/usb/qmi_wwan.c
-@@ -1085,6 +1085,7 @@ static const struct usb_device_id produc
+@@ -1088,6 +1088,7 @@ static const struct usb_device_id produc
  	{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)},	/* Quectel EM160R-GL */
  	{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)},	/* Quectel EM160R-GL */
  	{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)},	/* Quectel RM500Q-GL */
  	{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)},	/* Quectel RM500Q-GL */
  	{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)},	/* Quectel RM520N */
  	{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)},	/* Quectel RM520N */
@@ -29,8 +29,8 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
  
  
  #define QUECTEL_VENDOR_ID			0x2c7c
  #define QUECTEL_VENDOR_ID			0x2c7c
  /* These Quectel products use Quectel's vendor ID */
  /* These Quectel products use Quectel's vendor ID */
-@@ -1133,6 +1135,11 @@ static const struct usb_device_id option
- 	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) },
+@@ -1169,6 +1171,11 @@ static const struct usb_device_id option
+ 	  .driver_info = ZLP },
  	{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
  	{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
  	  .driver_info = RSVD(4) },
  	  .driver_info = RSVD(4) },
 +	/* Meiglink products using Qualcomm vendor ID */
 +	/* Meiglink products using Qualcomm vendor ID */

+ 7 - 7
target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch

@@ -26,17 +26,17 @@ Signed-off-by: Daniel Golle <[email protected]>
 
 
 --- a/drivers/net/phy/sfp.c
 --- a/drivers/net/phy/sfp.c
 +++ b/drivers/net/phy/sfp.c
 +++ b/drivers/net/phy/sfp.c
-@@ -393,6 +393,9 @@ static const struct sfp_quirk sfp_quirks
- 	// their EEPROM
+@@ -404,6 +404,9 @@ static const struct sfp_quirk sfp_quirks
  	SFP_QUIRK("HUAWEI", "MA5671A", sfp_quirk_2500basex,
  	SFP_QUIRK("HUAWEI", "MA5671A", sfp_quirk_2500basex,
  		  sfp_fixup_ignore_tx_fault),
  		  sfp_fixup_ignore_tx_fault),
-+
+ 
 +	// OEM SFP-GE-T is 1000Base-T module
 +	// OEM SFP-GE-T is 1000Base-T module
 +	SFP_QUIRK_F("OEM", "SFP-GE-T", sfp_fixup_ignore_tx_fault),
 +	SFP_QUIRK_F("OEM", "SFP-GE-T", sfp_fixup_ignore_tx_fault),
- 
++
  	// Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report
  	// Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report
  	// 2500MBd NRZ in their EEPROM
  	// 2500MBd NRZ in their EEPROM
-@@ -2303,7 +2308,8 @@ static void sfp_sm_main(struct sfp *sfp,
+ 	SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex),
+@@ -2334,7 +2337,8 @@ static void sfp_sm_main(struct sfp *sfp,
  			 * or t_start_up, so assume there is a fault.
  			 * or t_start_up, so assume there is a fault.
  			 */
  			 */
  			sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT,
  			sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT,
@@ -45,8 +45,8 @@ Signed-off-by: Daniel Golle <[email protected]>
 +				     (sfp->sm_fault_retries == N_FAULT_INIT));
 +				     (sfp->sm_fault_retries == N_FAULT_INIT));
  		} else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) {
  		} else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) {
  	init_done:
  	init_done:
- 			sfp->sm_phy_retries = R_PHY_RETRY;
-@@ -2535,10 +2541,12 @@ static void sfp_check_state(struct sfp *
+ 			/* Create mdiobus and start trying for PHY */
+@@ -2563,10 +2567,12 @@ static void sfp_check_state(struct sfp *
  	mutex_lock(&sfp->st_mutex);
  	mutex_lock(&sfp->st_mutex);
  	state = sfp_get_state(sfp);
  	state = sfp_get_state(sfp);
  	changed = state ^ sfp->state;
  	changed = state ^ sfp->state;

+ 6 - 6
target/linux/generic/hack-6.1/800-GPIO-add-named-gpio-exports.patch

@@ -15,7 +15,7 @@ Signed-off-by: John Crispin <[email protected]>
  
  
  #include "gpiolib.h"
  #include "gpiolib.h"
  #include "gpiolib-of.h"
  #include "gpiolib-of.h"
-@@ -1057,3 +1059,72 @@ void of_gpio_dev_init(struct gpio_chip *
+@@ -1030,3 +1032,72 @@ void of_gpio_dev_init(struct gpio_chip *
  	else
  	else
  		gc->of_node = gdev->dev.of_node;
  		gc->of_node = gdev->dev.of_node;
  }
  }
@@ -105,7 +105,7 @@ Signed-off-by: John Crispin <[email protected]>
  {
  {
 --- a/include/linux/gpio/consumer.h
 --- a/include/linux/gpio/consumer.h
 +++ b/include/linux/gpio/consumer.h
 +++ b/include/linux/gpio/consumer.h
-@@ -712,6 +712,7 @@ static inline void devm_acpi_dev_remove_
+@@ -715,6 +715,7 @@ static inline struct gpio_desc *acpi_get
  
  
  #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS)
  #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS)
  
  
@@ -113,7 +113,7 @@ Signed-off-by: John Crispin <[email protected]>
  int gpiod_export(struct gpio_desc *desc, bool direction_may_change);
  int gpiod_export(struct gpio_desc *desc, bool direction_may_change);
  int gpiod_export_link(struct device *dev, const char *name,
  int gpiod_export_link(struct device *dev, const char *name,
  		      struct gpio_desc *desc);
  		      struct gpio_desc *desc);
-@@ -719,6 +720,13 @@ void gpiod_unexport(struct gpio_desc *de
+@@ -722,6 +723,13 @@ void gpiod_unexport(struct gpio_desc *de
  
  
  #else  /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */
  #else  /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */
  
  
@@ -129,7 +129,7 @@ Signed-off-by: John Crispin <[email protected]>
  {
  {
 --- a/drivers/gpio/gpiolib-sysfs.c
 --- a/drivers/gpio/gpiolib-sysfs.c
 +++ b/drivers/gpio/gpiolib-sysfs.c
 +++ b/drivers/gpio/gpiolib-sysfs.c
-@@ -561,7 +561,7 @@ static struct class gpio_class = {
+@@ -544,7 +544,7 @@ static struct class gpio_class = {
   *
   *
   * Returns zero on success, else an error.
   * Returns zero on success, else an error.
   */
   */
@@ -138,7 +138,7 @@ Signed-off-by: John Crispin <[email protected]>
  {
  {
  	struct gpio_chip	*chip;
  	struct gpio_chip	*chip;
  	struct gpio_device	*gdev;
  	struct gpio_device	*gdev;
-@@ -623,6 +623,8 @@ int gpiod_export(struct gpio_desc *desc,
+@@ -606,6 +606,8 @@ int gpiod_export(struct gpio_desc *desc,
  	offset = gpio_chip_hwgpio(desc);
  	offset = gpio_chip_hwgpio(desc);
  	if (chip->names && chip->names[offset])
  	if (chip->names && chip->names[offset])
  		ioname = chip->names[offset];
  		ioname = chip->names[offset];
@@ -147,7 +147,7 @@ Signed-off-by: John Crispin <[email protected]>
  
  
  	dev = device_create_with_groups(&gpio_class, &gdev->dev,
  	dev = device_create_with_groups(&gpio_class, &gdev->dev,
  					MKDEV(0, 0), data, gpio_groups,
  					MKDEV(0, 0), data, gpio_groups,
-@@ -644,6 +646,12 @@ err_unlock:
+@@ -627,6 +629,12 @@ err_unlock:
  	gpiod_dbg(desc, "%s: status %d\n", __func__, status);
  	gpiod_dbg(desc, "%s: status %d\n", __func__, status);
  	return status;
  	return status;
  }
  }

+ 9 - 9
target/linux/generic/hack-6.1/901-debloat_sock_diag.patch

@@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	help
  	help
 --- a/net/core/Makefile
 --- a/net/core/Makefile
 +++ b/net/core/Makefile
 +++ b/net/core/Makefile
-@@ -10,11 +10,12 @@ obj-$(CONFIG_SYSCTL) += sysctl_net_core.
+@@ -11,11 +11,12 @@ obj-$(CONFIG_SYSCTL) += sysctl_net_core.
  
  
  obj-y		     += dev.o dev_addr_lists.o dst.o netevent.o \
  obj-y		     += dev.o dev_addr_lists.o dst.o netevent.o \
  			neighbour.o rtnetlink.o utils.o link_watch.o filter.o \
  			neighbour.o rtnetlink.o utils.o link_watch.o filter.o \
@@ -52,15 +52,15 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
  #include <linux/uaccess.h>
  #include <linux/uaccess.h>
  
  
-@@ -143,6 +144,7 @@
+@@ -145,6 +146,7 @@
  
  
  static DEFINE_MUTEX(proto_list_mutex);
  static DEFINE_MUTEX(proto_list_mutex);
  static LIST_HEAD(proto_list);
  static LIST_HEAD(proto_list);
 +DEFINE_COOKIE(sock_cookie);
 +DEFINE_COOKIE(sock_cookie);
  
  
- static void sock_inuse_add(struct net *net, int val);
- 
-@@ -545,6 +547,18 @@ discard_and_relse:
+ static void sock_def_write_space_wfree(struct sock *sk);
+ static void sock_def_write_space(struct sock *sk);
+@@ -582,6 +584,18 @@ discard_and_relse:
  }
  }
  EXPORT_SYMBOL(__sk_receive_skb);
  EXPORT_SYMBOL(__sk_receive_skb);
  
  
@@ -79,7 +79,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  INDIRECT_CALLABLE_DECLARE(struct dst_entry *ip6_dst_check(struct dst_entry *,
  INDIRECT_CALLABLE_DECLARE(struct dst_entry *ip6_dst_check(struct dst_entry *,
  							  u32));
  							  u32));
  INDIRECT_CALLABLE_DECLARE(struct dst_entry *ipv4_dst_check(struct dst_entry *,
  INDIRECT_CALLABLE_DECLARE(struct dst_entry *ipv4_dst_check(struct dst_entry *,
-@@ -1983,9 +1997,11 @@ static void __sk_free(struct sock *sk)
+@@ -2174,9 +2188,11 @@ static void __sk_free(struct sock *sk)
  	if (likely(sk->sk_net_refcnt))
  	if (likely(sk->sk_net_refcnt))
  		sock_inuse_add(sock_net(sk), -1);
  		sock_inuse_add(sock_net(sk), -1);
  
  
@@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
 --- a/net/core/sock_diag.c
 --- a/net/core/sock_diag.c
 +++ b/net/core/sock_diag.c
 +++ b/net/core/sock_diag.c
-@@ -11,7 +11,6 @@
+@@ -12,7 +12,6 @@
  #include <linux/tcp.h>
  #include <linux/tcp.h>
  #include <linux/workqueue.h>
  #include <linux/workqueue.h>
  #include <linux/nospec.h>
  #include <linux/nospec.h>
@@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  #include <linux/inet_diag.h>
  #include <linux/inet_diag.h>
  #include <linux/sock_diag.h>
  #include <linux/sock_diag.h>
  
  
-@@ -20,20 +19,6 @@ static int (*inet_rcv_compat)(struct sk_
+@@ -21,20 +20,6 @@ static int (*inet_rcv_compat)(struct sk_
  static DEFINE_MUTEX(sock_diag_table_mutex);
  static DEFINE_MUTEX(sock_diag_table_mutex);
  static struct workqueue_struct *broadcast_wq;
  static struct workqueue_struct *broadcast_wq;
  
  
@@ -124,7 +124,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	u64 res;
  	u64 res;
 --- a/net/ipv4/Kconfig
 --- a/net/ipv4/Kconfig
 +++ b/net/ipv4/Kconfig
 +++ b/net/ipv4/Kconfig
-@@ -424,6 +424,7 @@ config INET_TUNNEL
+@@ -423,6 +423,7 @@ config INET_TUNNEL
  
  
  config INET_DIAG
  config INET_DIAG
  	tristate "INET: socket monitoring interface"
  	tristate "INET: socket monitoring interface"

+ 15 - 15
target/linux/generic/hack-6.1/902-debloat_proc.patch

@@ -29,7 +29,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 
 --- a/fs/locks.c
 --- a/fs/locks.c
 +++ b/fs/locks.c
 +++ b/fs/locks.c
-@@ -2953,6 +2953,8 @@ static const struct seq_operations locks
+@@ -2909,6 +2909,8 @@ static const struct seq_operations locks
  
  
  static int __init proc_locks_init(void)
  static int __init proc_locks_init(void)
  {
  {
@@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	return 0;
  	return 0;
 --- a/fs/proc/Kconfig
 --- a/fs/proc/Kconfig
 +++ b/fs/proc/Kconfig
 +++ b/fs/proc/Kconfig
-@@ -100,6 +100,11 @@ config PROC_CHILDREN
+@@ -101,6 +101,11 @@ config PROC_CHILDREN
  	  Say Y if you are running any user-space software which takes benefit from
  	  Say Y if you are running any user-space software which takes benefit from
  	  this interface. For example, rkt is such a piece of software.
  	  this interface. For example, rkt is such a piece of software.
  
  
@@ -66,7 +66,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  }
  }
 --- a/fs/proc/proc_tty.c
 --- a/fs/proc/proc_tty.c
 +++ b/fs/proc/proc_tty.c
 +++ b/fs/proc/proc_tty.c
-@@ -133,7 +133,10 @@ static const struct seq_operations tty_d
+@@ -131,7 +131,10 @@ static const struct seq_operations tty_d
  void proc_tty_register_driver(struct tty_driver *driver)
  void proc_tty_register_driver(struct tty_driver *driver)
  {
  {
  	struct proc_dir_entry *ent;
  	struct proc_dir_entry *ent;
@@ -78,7 +78,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	if (!driver->driver_name || driver->proc_entry ||
  	if (!driver->driver_name || driver->proc_entry ||
  	    !driver->ops->proc_show)
  	    !driver->ops->proc_show)
  		return;
  		return;
-@@ -150,6 +153,9 @@ void proc_tty_unregister_driver(struct t
+@@ -148,6 +151,9 @@ void proc_tty_unregister_driver(struct t
  {
  {
  	struct proc_dir_entry *ent;
  	struct proc_dir_entry *ent;
  
  
@@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	ent = driver->proc_entry;
  	ent = driver->proc_entry;
  	if (!ent)
  	if (!ent)
  		return;
  		return;
-@@ -164,6 +170,9 @@ void proc_tty_unregister_driver(struct t
+@@ -162,6 +168,9 @@ void proc_tty_unregister_driver(struct t
   */
   */
  void __init proc_tty_init(void)
  void __init proc_tty_init(void)
  {
  {
@@ -135,7 +135,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	do {								\
  	do {								\
 --- a/ipc/msg.c
 --- a/ipc/msg.c
 +++ b/ipc/msg.c
 +++ b/ipc/msg.c
-@@ -1350,6 +1350,9 @@ void __init msg_init(void)
+@@ -1370,6 +1370,9 @@ void __init msg_init(void)
  {
  {
  	msg_init_ns(&init_ipc_ns);
  	msg_init_ns(&init_ipc_ns);
  
  
@@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	if (!pe)
  	if (!pe)
 --- a/mm/vmalloc.c
 --- a/mm/vmalloc.c
 +++ b/mm/vmalloc.c
 +++ b/mm/vmalloc.c
-@@ -3964,6 +3964,8 @@ static const struct seq_operations vmall
+@@ -4183,6 +4183,8 @@ static const struct seq_operations vmall
  
  
  static int __init proc_vmalloc_init(void)
  static int __init proc_vmalloc_init(void)
  {
  {
@@ -246,7 +246,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  				&vmalloc_op,
  				&vmalloc_op,
 --- a/mm/vmstat.c
 --- a/mm/vmstat.c
 +++ b/mm/vmstat.c
 +++ b/mm/vmstat.c
-@@ -2083,10 +2083,12 @@ void __init init_mm_internals(void)
+@@ -2109,10 +2109,12 @@ void __init init_mm_internals(void)
  	start_shepherd_timer();
  	start_shepherd_timer();
  #endif
  #endif
  #ifdef CONFIG_PROC_FS
  #ifdef CONFIG_PROC_FS
@@ -286,7 +286,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  		goto err;
  		goto err;
 --- a/net/core/net-procfs.c
 --- a/net/core/net-procfs.c
 +++ b/net/core/net-procfs.c
 +++ b/net/core/net-procfs.c
-@@ -317,10 +317,12 @@ static int __net_init dev_proc_net_init(
+@@ -319,10 +319,12 @@ static int __net_init dev_proc_net_init(
  	if (!proc_create_net("dev", 0444, net->proc_net, &dev_seq_ops,
  	if (!proc_create_net("dev", 0444, net->proc_net, &dev_seq_ops,
  			sizeof(struct seq_net_private)))
  			sizeof(struct seq_net_private)))
  		goto out;
  		goto out;
@@ -301,7 +301,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  			sizeof(struct seq_net_private)))
  			sizeof(struct seq_net_private)))
  		goto out_softnet;
  		goto out_softnet;
  
  
-@@ -330,9 +332,11 @@ static int __net_init dev_proc_net_init(
+@@ -332,9 +334,11 @@ static int __net_init dev_proc_net_init(
  out:
  out:
  	return rc;
  	return rc;
  out_ptype:
  out_ptype:
@@ -315,7 +315,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  out_dev:
  out_dev:
  	remove_proc_entry("dev", net->proc_net);
  	remove_proc_entry("dev", net->proc_net);
  	goto out;
  	goto out;
-@@ -342,8 +346,10 @@ static void __net_exit dev_proc_net_exit
+@@ -344,8 +348,10 @@ static void __net_exit dev_proc_net_exit
  {
  {
  	wext_proc_exit(net);
  	wext_proc_exit(net);
  
  
@@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
 --- a/net/core/sock.c
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -3855,6 +3855,8 @@ static __net_initdata struct pernet_oper
+@@ -4088,6 +4088,8 @@ static __net_initdata struct pernet_oper
  
  
  static int __init proto_init(void)
  static int __init proto_init(void)
  {
  {
@@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
 --- a/net/ipv4/fib_trie.c
 --- a/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
-@@ -3024,11 +3024,13 @@ static const struct seq_operations fib_r
+@@ -3031,11 +3031,13 @@ static const struct seq_operations fib_r
  
  
  int __net_init fib_proc_init(struct net *net)
  int __net_init fib_proc_init(struct net *net)
  {
  {
@@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  			fib_triestat_seq_show, NULL))
  			fib_triestat_seq_show, NULL))
  		goto out2;
  		goto out2;
  
  
-@@ -3039,17 +3041,21 @@ int __net_init fib_proc_init(struct net
+@@ -3046,17 +3048,21 @@ int __net_init fib_proc_init(struct net
  	return 0;
  	return 0;
  
  
  out3:
  out3:
@@ -396,7 +396,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  }
  }
 --- a/net/ipv4/route.c
 --- a/net/ipv4/route.c
 +++ b/net/ipv4/route.c
 +++ b/net/ipv4/route.c
-@@ -387,6 +387,9 @@ static struct pernet_operations ip_rt_pr
+@@ -380,6 +380,9 @@ static struct pernet_operations ip_rt_pr
  
  
  static int __init ip_rt_proc_init(void)
  static int __init ip_rt_proc_init(void)
  {
  {

+ 6 - 7
target/linux/generic/hack-6.1/904-debloat_dma_buf.patch

@@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 
 --- a/drivers/base/Kconfig
 --- a/drivers/base/Kconfig
 +++ b/drivers/base/Kconfig
 +++ b/drivers/base/Kconfig
-@@ -187,7 +187,7 @@ config SOC_BUS
+@@ -198,7 +198,7 @@ config SOC_BUS
  source "drivers/base/regmap/Kconfig"
  source "drivers/base/regmap/Kconfig"
  
  
  config DMA_SHARED_BUFFER
  config DMA_SHARED_BUFFER
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 +dma-buf-objs-$(CONFIG_DMABUF_HEAPS_CMA)		+= cma_heap.o
 +dma-buf-objs-$(CONFIG_DMABUF_HEAPS_CMA)		+= cma_heap.o
 --- a/drivers/dma-buf/Makefile
 --- a/drivers/dma-buf/Makefile
 +++ b/drivers/dma-buf/Makefile
 +++ b/drivers/dma-buf/Makefile
-@@ -1,18 +1,22 @@
+@@ -1,12 +1,14 @@
  # SPDX-License-Identifier: GPL-2.0-only
  # SPDX-License-Identifier: GPL-2.0-only
 -obj-y := dma-buf.o dma-fence.o dma-fence-array.o dma-fence-chain.o \
 -obj-y := dma-buf.o dma-fence.o dma-fence-array.o dma-fence-chain.o \
 +obj-$(CONFIG_DMA_SHARED_BUFFER) := dma-shared-buffer.o
 +obj-$(CONFIG_DMA_SHARED_BUFFER) := dma-shared-buffer.o
@@ -54,8 +54,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
  dmabuf_selftests-y := \
  dmabuf_selftests-y := \
  	selftest.o \
  	selftest.o \
- 	st-dma-fence.o \
- 	st-dma-fence-chain.o \
+@@ -15,4 +17,6 @@ dmabuf_selftests-y := \
  	st-dma-fence-unwrap.o \
  	st-dma-fence-unwrap.o \
  	st-dma-resv.o
  	st-dma-resv.o
  
  
@@ -65,7 +64,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 +dma-shared-buffer-objs :=  $(dma-buf-objs-y)
 +dma-shared-buffer-objs :=  $(dma-buf-objs-y)
 --- a/drivers/dma-buf/dma-buf.c
 --- a/drivers/dma-buf/dma-buf.c
 +++ b/drivers/dma-buf/dma-buf.c
 +++ b/drivers/dma-buf/dma-buf.c
-@@ -1513,4 +1513,5 @@ static void __exit dma_buf_deinit(void)
+@@ -1583,4 +1583,5 @@ static void __exit dma_buf_deinit(void)
  	kern_unmount(dma_buf_mnt);
  	kern_unmount(dma_buf_mnt);
  	dma_buf_uninit_sysfs_statistics();
  	dma_buf_uninit_sysfs_statistics();
  }
  }
@@ -74,7 +73,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 +MODULE_LICENSE("GPL");
 +MODULE_LICENSE("GPL");
 --- a/kernel/sched/core.c
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -4175,6 +4175,7 @@ int wake_up_state(struct task_struct *p,
+@@ -4363,6 +4363,7 @@ int wake_up_state(struct task_struct *p,
  {
  {
  	return try_to_wake_up(p, state, 0);
  	return try_to_wake_up(p, state, 0);
  }
  }
@@ -84,7 +83,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
   * Perform scheduler related setup for a newly forked process p.
   * Perform scheduler related setup for a newly forked process p.
 --- a/fs/d_path.c
 --- a/fs/d_path.c
 +++ b/fs/d_path.c
 +++ b/fs/d_path.c
-@@ -316,6 +316,7 @@ char *dynamic_dname(struct dentry *dentr
+@@ -313,6 +313,7 @@ char *dynamic_dname(char *buffer, int bu
  	buffer += buflen - sz;
  	buffer += buflen - sz;
  	return memcpy(buffer, temp, sz);
  	return memcpy(buffer, temp, sz);
  }
  }

+ 1 - 1
target/linux/generic/hack-6.1/911-kobject_add_broadcast_uevent.patch

@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  #ifdef CONFIG_UEVENT_HELPER
  #ifdef CONFIG_UEVENT_HELPER
  /* path to the userspace helper executed on an event */
  /* path to the userspace helper executed on an event */
  extern char uevent_helper[];
  extern char uevent_helper[];
-@@ -244,4 +246,7 @@ int kobject_synth_uevent(struct kobject
+@@ -224,4 +226,7 @@ int kobject_synth_uevent(struct kobject
  __printf(2, 3)
  __printf(2, 3)
  int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...);
  int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...);
  
  

+ 2 - 2
target/linux/generic/hack-6.1/920-device_tree_cmdline.patch

@@ -9,7 +9,7 @@ Subject: [PATCH] of/ftd: add device tree cmdline
 
 
 --- a/drivers/of/fdt.c
 --- a/drivers/of/fdt.c
 +++ b/drivers/of/fdt.c
 +++ b/drivers/of/fdt.c
-@@ -1158,6 +1158,9 @@ int __init early_init_dt_scan_chosen(uns
+@@ -1183,6 +1183,9 @@ int __init early_init_dt_scan_chosen(cha
  	p = of_get_flat_dt_prop(node, "bootargs", &l);
  	p = of_get_flat_dt_prop(node, "bootargs", &l);
  	if (p != NULL && l > 0)
  	if (p != NULL && l > 0)
  		strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE));
  		strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE));
@@ -17,5 +17,5 @@ Subject: [PATCH] of/ftd: add device tree cmdline
 +	if (p != NULL && l > 0)
 +	if (p != NULL && l > 0)
 +		strlcat(cmdline, p, min_t(int, strlen(cmdline) + (int)l, COMMAND_LINE_SIZE));
 +		strlcat(cmdline, p, min_t(int, strlen(cmdline) + (int)l, COMMAND_LINE_SIZE));
  
  
+ handle_cmdline:
  	/*
  	/*
- 	 * CONFIG_CMDLINE is meant to be a default in case nothing else

+ 1 - 1
target/linux/generic/hack-6.1/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch

@@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki <[email protected]>
 
 
 --- a/drivers/base/core.c
 --- a/drivers/base/core.c
 +++ b/drivers/base/core.c
 +++ b/drivers/base/core.c
-@@ -1562,7 +1562,7 @@ static void device_links_purge(struct de
+@@ -1700,7 +1700,7 @@ static void device_links_purge(struct de
  #define FW_DEVLINK_FLAGS_RPM		(FW_DEVLINK_FLAGS_ON | \
  #define FW_DEVLINK_FLAGS_RPM		(FW_DEVLINK_FLAGS_ON | \
  					 DL_FLAG_PM_RUNTIME)
  					 DL_FLAG_PM_RUNTIME)