generic: 5.15: refresh hack patch

Use 'make target/linux/refresh' to refresh hack patches.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
This commit is contained in:
Ansuel Smith 2022-03-21 15:21:45 +01:00 committed by Daniel Golle
parent 39a7c8d809
commit 49cb5e501a
39 changed files with 171 additions and 172 deletions

View File

@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/module.h --- a/include/linux/module.h
+++ b/include/linux/module.h +++ b/include/linux/module.h
@@ -161,6 +161,7 @@ extern void cleanup_module(void); @@ -164,6 +164,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 <nbd@nbd.name>
/* 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)
@@ -230,12 +231,12 @@ extern void cleanup_module(void); @@ -233,12 +234,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 <nbd@nbd.name>
/* 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 \
@@ -262,7 +263,9 @@ extern typeof(name) __mod_##type##__##na @@ -265,7 +266,9 @@ extern typeof(name) __mod_##type##__##na
*/ */
#if defined(MODULE) || !defined(CONFIG_SYSFS) #if defined(MODULE) || !defined(CONFIG_SYSFS)
@ -49,7 +49,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#else #else
#define MODULE_VERSION(_version) \ #define MODULE_VERSION(_version) \
MODULE_INFO(version, _version); \ MODULE_INFO(version, _version); \
@@ -285,7 +288,7 @@ extern typeof(name) __mod_##type##__##na @@ -288,7 +291,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 */
@ -76,8 +76,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+ +
#define __MODULE_INFO(tag, name, info) \ #define __MODULE_INFO(tag, name, info) \
static const char __UNIQUE_ID(name)[] \ static const char __UNIQUE_ID(name)[] \
__used __section(".modinfo") __attribute__((unused, aligned(1))) \ __used __section(".modinfo") __aligned(1) \
@@ -31,7 +41,7 @@ static const char __UNIQUE_ID(name)[] @@ -31,7 +41,7 @@
/* One for each parameter, describing how to use it. Some files do /* One for each parameter, describing how to use it. Some files do
multiple of these per line, so can't just use MODULE_INFO. */ multiple of these per line, so can't just use MODULE_INFO. */
#define MODULE_PARM_DESC(_parm, desc) \ #define MODULE_PARM_DESC(_parm, desc) \
@ -104,7 +104,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
config MODULES_TREE_LOOKUP config MODULES_TREE_LOOKUP
--- a/kernel/module.c --- a/kernel/module.c
+++ b/kernel/module.c +++ b/kernel/module.c
@@ -1285,6 +1285,7 @@ static struct module_attribute *modinfo_ @@ -1218,6 +1218,7 @@ static struct module_attribute *modinfo_
static const char vermagic[] = VERMAGIC_STRING; static const char vermagic[] = VERMAGIC_STRING;
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int try_to_force_load(struct module *mod, const char *reason) static int try_to_force_load(struct module *mod, const char *reason)
{ {
#ifdef CONFIG_MODULE_FORCE_LOAD #ifdef CONFIG_MODULE_FORCE_LOAD
@@ -1296,6 +1297,7 @@ static int try_to_force_load(struct modu @@ -1229,6 +1230,7 @@ static int try_to_force_load(struct modu
return -ENOEXEC; return -ENOEXEC;
#endif #endif
} }
@ -120,7 +120,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#ifdef CONFIG_MODVERSIONS #ifdef CONFIG_MODVERSIONS
@@ -3247,9 +3249,11 @@ static int setup_load_info(struct load_i @@ -3227,9 +3229,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 +133,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (flags & MODULE_INIT_IGNORE_VERMAGIC) if (flags & MODULE_INIT_IGNORE_VERMAGIC)
modmagic = NULL; modmagic = NULL;
@@ -3270,6 +3274,7 @@ static int check_modinfo(struct module * @@ -3250,6 +3254,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 +143,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/scripts/mod/modpost.c --- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c
@@ -2037,7 +2037,9 @@ static void read_symbols(const char *mod @@ -2033,7 +2033,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,9 +153,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
for (sym = info.symtab_start; sym < info.symtab_stop; sym++) { for (sym = info.symtab_start; sym < info.symtab_stop; sym++) {
@@ -2250,8 +2252,10 @@ static void add_header(struct buffer *b, @@ -2212,8 +2214,10 @@ static void add_header(struct buffer *b,
buf_printf(b, "\n");
buf_printf(b, "BUILD_SALT;\n"); buf_printf(b, "BUILD_SALT;\n");
buf_printf(b, "BUILD_LTO_INFO;\n");
buf_printf(b, "\n"); buf_printf(b, "\n");
+#ifndef CONFIG_MODULE_STRIPPED +#ifndef CONFIG_MODULE_STRIPPED
buf_printf(b, "MODULE_INFO(vermagic, VERMAGIC_STRING);\n"); buf_printf(b, "MODULE_INFO(vermagic, VERMAGIC_STRING);\n");
@ -164,7 +164,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
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");
@@ -2268,8 +2272,10 @@ static void add_header(struct buffer *b, @@ -2230,8 +2234,10 @@ static void add_header(struct buffer *b,
static void add_intree_flag(struct buffer *b, int is_intree) static void add_intree_flag(struct buffer *b, int is_intree)
{ {
@ -175,7 +175,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
/* Cannot check for assembler */ /* Cannot check for assembler */
@@ -2282,8 +2288,10 @@ static void add_retpoline(struct buffer @@ -2244,8 +2250,10 @@ static void add_retpoline(struct buffer
static void add_staging_flag(struct buffer *b, const char *name) static void add_staging_flag(struct buffer *b, const char *name)
{ {
@ -186,7 +186,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
/** /**
@@ -2367,11 +2375,13 @@ static void add_depends(struct buffer *b @@ -2325,11 +2333,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,9 +200,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
static void write_buf(struct buffer *b, const char *fname) static void write_buf(struct buffer *b, const char *fname)
@@ -2630,7 +2640,9 @@ int main(int argc, char **argv) @@ -2578,7 +2588,9 @@ int main(int argc, char **argv)
add_staging_flag(&buf, mod->name); add_staging_flag(&buf, mod->name);
err |= add_versions(&buf, mod); add_versions(&buf, mod);
add_depends(&buf, mod); add_depends(&buf, mod);
+#ifndef CONFIG_MODULE_STRIPPED +#ifndef CONFIG_MODULE_STRIPPED
add_moddevtable(&buf, mod); add_moddevtable(&buf, mod);

View File

@ -1,6 +1,6 @@
--- a/scripts/kconfig/conf.c --- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c +++ b/scripts/kconfig/conf.c
@@ -215,6 +215,8 @@ static int conf_sym(struct menu *menu) @@ -435,6 +435,8 @@ static int conf_sym(struct menu *menu)
break; break;
continue; continue;
case 0: case 0:

View File

@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+#endif +#endif
--- a/tools/include/linux/types.h --- a/tools/include/linux/types.h
+++ b/tools/include/linux/types.h +++ b/tools/include/linux/types.h
@@ -7,8 +7,12 @@ @@ -10,8 +10,12 @@
#define __SANE_USERSPACE_TYPES__ /* For PPC64, to get LL64 types */ #define __SANE_USERSPACE_TYPES__ /* For PPC64, to get LL64 types */
#endif #endif

View File

@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/uapi/linux/spi/spidev.h --- a/include/uapi/linux/spi/spidev.h
+++ b/include/uapi/linux/spi/spidev.h +++ b/include/uapi/linux/spi/spidev.h
@@ -121,7 +121,7 @@ struct spi_ioc_transfer { @@ -93,7 +93,7 @@ struct spi_ioc_transfer {
/* not all platforms use <asm-generic/ioctl.h> or _IOC_TYPECHECK() ... */ /* not all platforms use <asm-generic/ioctl.h> or _IOC_TYPECHECK() ... */
#define SPI_MSGSIZE(N) \ #define SPI_MSGSIZE(N) \

View File

@ -12,7 +12,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- ---
--- a/arch/arm/Kconfig --- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig +++ b/arch/arm/Kconfig
@@ -113,6 +113,7 @@ config ARM @@ -117,6 +117,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 <juhosg@openwrt.org>
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
@@ -98,6 +98,7 @@ $(foreach o, $(libfdt_objs) atags_to_fdt @@ -92,6 +92,7 @@ endif
ifdef building_out_of_srctree ifeq ($(CONFIG_USE_OF),y)
$(shell rm -f $(addprefix $(obj)/, fdt_rw.c fdt_ro.c fdt_wip.c fdt.c)) 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))
targets := vmlinux vmlinux.lds piggy_data piggy.o \ # -fstack-protector-strong triggers protection checks in this code,
lib1funcs.o ashldi3.o bswapsdi2.o \ # but it is being used too early to link to meaningful stack_chk logic.
--- 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

View File

@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* 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)
@@ -473,14 +483,14 @@ @@ -484,14 +494,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 <nbd@nbd.name>
__stop___ksymtab_gpl = .; \ __stop___ksymtab_gpl = .; \
} \ } \
\ \
@@ -542,7 +552,7 @@ @@ -511,7 +521,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 <nbd@nbd.name>
} \ } \
\ \
/* __*init sections */ \ /* __*init sections */ \
@@ -1019,6 +1029,8 @@ @@ -1018,6 +1028,8 @@
#define COMMON_DISCARDS \ #define COMMON_DISCARDS \
SANITIZER_DISCARDS \ SANITIZER_DISCARDS \
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
"__kstrtabns_" #sym ": \n" \ "__kstrtabns_" #sym ": \n" \
--- a/scripts/Makefile.build --- a/scripts/Makefile.build
+++ b/scripts/Makefile.build +++ b/scripts/Makefile.build
@@ -367,7 +367,7 @@ targets += $(lib-y) $(always-y) $(MAKECM @@ -385,7 +385,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 $@

View File

@ -23,7 +23,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
{ {0x02, 0x21}, "lz4", unlz4 }, { {0x02, 0x21}, "lz4", unlz4 },
--- a/scripts/Makefile.lib --- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib +++ b/scripts/Makefile.lib
@@ -370,7 +370,7 @@ quiet_cmd_bzip2 = BZIP2 $@ @@ -413,7 +413,7 @@ quiet_cmd_bzip2 = BZIP2 $@
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
quiet_cmd_lzma = LZMA $@ quiet_cmd_lzma = LZMA $@

View File

@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/netfilter/Kconfig --- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig
@@ -228,7 +228,6 @@ config NF_CONNTRACK_FTP @@ -243,7 +243,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 <nbd@nbd.name>
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
@@ -1072,7 +1071,6 @@ config NETFILTER_XT_TARGET_SECMARK @@ -1106,7 +1105,6 @@ config NETFILTER_XT_TARGET_SECMARK
config NETFILTER_XT_TARGET_TCPMSS config NETFILTER_XT_TARGET_TCPMSS
tristate '"TCPMSS" target support' tristate '"TCPMSS" target support'

View File

@ -92,7 +92,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
bool bool
--- a/lib/Kconfig --- a/lib/Kconfig
+++ b/lib/Kconfig +++ b/lib/Kconfig
@@ -418,16 +418,16 @@ config BCH_CONST_T @@ -438,16 +438,16 @@ config BCH_CONST_T
# Textsearch support is select'ed if needed # Textsearch support is select'ed if needed
# #
config TEXTSEARCH config TEXTSEARCH

View File

@ -11,7 +11,7 @@
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
@@ -589,7 +589,7 @@ config LIBFDT @@ -609,7 +609,7 @@ config LIBFDT
bool bool
config OID_REGISTRY config OID_REGISTRY

View File

@ -94,7 +94,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+ select REGMAP + select REGMAP
tristate tristate
depends on SPI depends on SPI
--- a/drivers/base/regmap/Makefile --- a/drivers/base/regmap/Makefile
+++ b/drivers/base/regmap/Makefile +++ b/drivers/base/regmap/Makefile
@@ -2,10 +2,14 @@ @@ -2,10 +2,14 @@
@ -126,7 +125,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/property.h> #include <linux/property.h>
@@ -3298,3 +3299,5 @@ static int __init regmap_initcall(void) @@ -3341,3 +3342,5 @@ static int __init regmap_initcall(void)
return 0; return 0;
} }
postcore_initcall(regmap_initcall); postcore_initcall(regmap_initcall);
@ -134,7 +133,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
--- a/include/linux/regmap.h --- a/include/linux/regmap.h
+++ b/include/linux/regmap.h +++ b/include/linux/regmap.h
@@ -179,7 +179,7 @@ struct reg_sequence { @@ -180,7 +180,7 @@ struct reg_sequence {
__ret ?: __tmp; \ __ret ?: __tmp; \
}) })

View File

@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
tristate "Userspace cryptographic algorithm configuration" tristate "Userspace cryptographic algorithm configuration"
--- a/crypto/algboss.c --- a/crypto/algboss.c
+++ b/crypto/algboss.c +++ b/crypto/algboss.c
@@ -230,8 +230,12 @@ static int cryptomgr_schedule_test(struc @@ -211,8 +211,12 @@ static int cryptomgr_schedule_test(struc
type = alg->cra_flags; type = alg->cra_flags;
/* Do not test internal algorithms. */ /* Do not test internal algorithms. */

View File

@ -26,7 +26,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
* @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
@@ -53,7 +53,7 @@ obj-$(CONFIG_TIPC) += tipc/ @@ -52,7 +52,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/
@ -34,7 +34,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
+obj-$(CONFIG_RFKILL_FULL) += rfkill/ +obj-$(CONFIG_RFKILL_FULL) += rfkill/
obj-$(CONFIG_NET_9P) += 9p/ obj-$(CONFIG_NET_9P) += 9p/
obj-$(CONFIG_CAIF) += caif/ obj-$(CONFIG_CAIF) += caif/
ifneq ($(CONFIG_DCB),) obj-$(CONFIG_DCB) += dcb/
--- a/net/rfkill/Kconfig --- a/net/rfkill/Kconfig
+++ b/net/rfkill/Kconfig +++ b/net/rfkill/Kconfig
@@ -2,7 +2,11 @@ @@ -2,7 +2,11 @@

View File

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- ---
--- a/arch/mips/include/asm/r4kcache.h --- a/arch/mips/include/asm/r4kcache.h
+++ b/arch/mips/include/asm/r4kcache.h +++ b/arch/mips/include/asm/r4kcache.h
@@ -296,14 +296,46 @@ static inline void prot##extra##blast_## @@ -286,14 +286,46 @@ static inline void prot##extra##blast_##
unsigned long end) \ unsigned long end) \
{ \ { \
unsigned long lsize = cpu_##desc##_line_size(); \ unsigned long lsize = cpu_##desc##_line_size(); \

View File

@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/arch/mips/Kconfig --- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig +++ b/arch/mips/Kconfig
@@ -1170,6 +1170,10 @@ config MIPS_MSC @@ -1180,6 +1180,10 @@ config MIPS_MSC
config SYNC_R4K config SYNC_R4K
bool bool

View File

@ -77,7 +77,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
#include "mtdcore.h" #include "mtdcore.h"
@@ -1000,6 +1001,8 @@ int mtd_device_parse_register(struct mtd @@ -1002,6 +1003,8 @@ int mtd_device_parse_register(struct mtd
ret = mtd_otp_nvmem_add(mtd); ret = mtd_otp_nvmem_add(mtd);

View File

@ -1,6 +1,6 @@
--- a/block/blk.h --- a/block/blk.h
+++ b/block/blk.h +++ b/block/blk.h
@@ -361,6 +361,8 @@ char *disk_name(struct gendisk *hd, int @@ -354,6 +354,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
@ -53,7 +53,7 @@
+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
@@ -10,6 +10,10 @@ @@ -12,6 +12,10 @@
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
#include <linux/blktrace_api.h> #include <linux/blktrace_api.h>
#include <linux/raid/detect.h> #include <linux/raid/detect.h>
@ -64,7 +64,7 @@
#include "check.h" #include "check.h"
static int (*check_part[])(struct parsed_partitions *) = { static int (*check_part[])(struct parsed_partitions *) = {
@@ -46,6 +50,9 @@ static int (*check_part[])(struct parsed @@ -48,6 +52,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
@ -74,9 +74,9 @@
#ifdef CONFIG_SGI_PARTITION #ifdef CONFIG_SGI_PARTITION
sgi_partition, sgi_partition,
#endif #endif
@@ -694,6 +701,14 @@ static bool blk_add_partition(struct gen @@ -598,6 +605,14 @@ 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_to_dev(part)->devt); md_autodetect_dev(part->bd_dev);
+#ifdef CONFIG_FIT_PARTITION +#ifdef CONFIG_FIT_PARTITION
+ if ((state->parts[p].flags & ADDPART_FLAG_ROOTDEV) && ROOT_DEV == 0) + if ((state->parts[p].flags & ADDPART_FLAG_ROOTDEV) && ROOT_DEV == 0)
@ -91,7 +91,7 @@
--- a/drivers/mtd/ubi/block.c --- a/drivers/mtd/ubi/block.c
+++ b/drivers/mtd/ubi/block.c +++ b/drivers/mtd/ubi/block.c
@@ -413,6 +417,9 @@ int ubiblock_create(struct ubi_volume_in @@ -428,6 +428,9 @@ int ubiblock_create(struct ubi_volume_in
goto out_cleanup_disk; goto out_cleanup_disk;
} }
gd->private_data = dev; gd->private_data = dev;
@ -103,7 +103,7 @@
dev->gd = gd; dev->gd = gd;
--- a/drivers/mtd/mtd_blkdevs.c --- a/drivers/mtd/mtd_blkdevs.c
+++ b/drivers/mtd/mtd_blkdevs.c +++ b/drivers/mtd/mtd_blkdevs.c
@@ -345,6 +345,9 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new) @@ -345,6 +345,9 @@ int add_mtd_blktrans_dev(struct mtd_blkt
gd->first_minor = (new->devnum) << tr->part_bits; gd->first_minor = (new->devnum) << tr->part_bits;
gd->minors = 1 << tr->part_bits; gd->minors = 1 << tr->part_bits;
gd->fops = &mtd_block_ops; gd->fops = &mtd_block_ops;
@ -115,7 +115,7 @@
if (new->devnum < 26) if (new->devnum < 26)
--- a/block/partitions/efi.c --- a/block/partitions/efi.c
+++ b/block/partitions/efi.c +++ b/block/partitions/efi.c
@@ -706,6 +706,9 @@ int efi_partition(struct parsed_partitio @@ -716,6 +716,9 @@ int efi_partition(struct parsed_partitio
gpt_entry *ptes = NULL; gpt_entry *ptes = NULL;
u32 i; u32 i;
unsigned ssz = queue_logical_block_size(state->disk->queue) / 512; unsigned ssz = queue_logical_block_size(state->disk->queue) / 512;
@ -125,7 +125,7 @@
if (!find_valid_gpt(state, &gpt, &ptes) || !gpt || !ptes) { if (!find_valid_gpt(state, &gpt, &ptes) || !gpt || !ptes) {
kfree(gpt); kfree(gpt);
@@ -739,6 +742,11 @@ int efi_partition(struct parsed_partitio @@ -749,6 +752,11 @@ int efi_partition(struct parsed_partitio
ARRAY_SIZE(ptes[i].partition_name)); ARRAY_SIZE(ptes[i].partition_name));
utf16_le_to_7bit(ptes[i].partition_name, label_max, info->volname); utf16_le_to_7bit(ptes[i].partition_name, label_max, info->volname);
state->parts[i + 1].has_info = true; state->parts[i + 1].has_info = true;
@ -151,7 +151,7 @@
__le64 signature; __le64 signature;
--- a/block/partitions/msdos.c --- a/block/partitions/msdos.c
+++ b/block/partitions/msdos.c +++ b/block/partitions/msdos.c
@@ -563,6 +563,15 @@ static void parse_minix(struct parsed_pa @@ -564,6 +564,15 @@ static void parse_minix(struct parsed_pa
#endif /* CONFIG_MINIX_SUBPARTITION */ #endif /* CONFIG_MINIX_SUBPARTITION */
} }
@ -167,7 +167,7 @@
static struct { static struct {
unsigned char id; unsigned char id;
void (*parse)(struct parsed_partitions *, sector_t, sector_t, int); void (*parse)(struct parsed_partitions *, sector_t, sector_t, int);
@@ -574,6 +583,7 @@ static struct { @@ -575,6 +584,7 @@ static struct {
{UNIXWARE_PARTITION, parse_unixware}, {UNIXWARE_PARTITION, parse_unixware},
{SOLARIS_X86_PARTITION, parse_solaris_x86}, {SOLARIS_X86_PARTITION, parse_solaris_x86},
{NEW_SOLARIS_X86_PARTITION, parse_solaris_x86}, {NEW_SOLARIS_X86_PARTITION, parse_solaris_x86},

View File

@ -20,7 +20,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
#include <linux/nvmem-provider.h> #include <linux/nvmem-provider.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
@@ -694,6 +695,16 @@ int add_mtd_device(struct mtd_info *mtd) @@ -697,6 +698,16 @@ int add_mtd_device(struct mtd_info *mtd)
of this try_ nonsense, and no bitching about it of this try_ nonsense, and no bitching about it
either. :) */ either. :) */
__module_get(THIS_MODULE); __module_get(THIS_MODULE);

View File

@ -1,8 +1,8 @@
--- a/drivers/mtd/nand/Kconfig --- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig
@@ -15,6 +15,10 @@ config MTD_NAND_ECC @@ -46,6 +46,10 @@ config MTD_NAND_ECC_SW_BCH
bool ECC codes. They are used with NAND devices requiring more than 1 bit
depends on MTD_NAND_CORE of error correction.
+config MTD_NAND_MTK_BMT +config MTD_NAND_MTK_BMT
+ bool "Support MediaTek NAND Bad-block Management Table" + bool "Support MediaTek NAND Bad-block Management Table"

View File

@ -1,6 +1,6 @@
--- a/include/linux/if_bridge.h --- a/include/linux/if_bridge.h
+++ b/include/linux/if_bridge.h +++ b/include/linux/if_bridge.h
@@ -57,6 +57,7 @@ struct br_ip_list { @@ -59,6 +59,7 @@ struct br_ip_list {
#define BR_MRP_LOST_IN_CONT BIT(19) #define BR_MRP_LOST_IN_CONT BIT(19)
#define BR_TX_FWD_OFFLOAD BIT(20) #define BR_TX_FWD_OFFLOAD BIT(20)
#define BR_BPDU_FILTER BIT(21) #define BR_BPDU_FILTER BIT(21)
@ -29,7 +29,7 @@
/* /*
* Handle changes in state of network devices enslaved to a bridge. * Handle changes in state of network devices enslaved to a bridge.
@@ -332,6 +333,10 @@ static int __init br_init(void) @@ -381,6 +382,10 @@ static int __init br_init(void)
if (err) if (err)
goto err_out; goto err_out;
@ -40,7 +40,7 @@
err = register_pernet_subsys(&br_net_ops); err = register_pernet_subsys(&br_net_ops);
if (err) if (err)
goto err_out1; goto err_out1;
@@ -375,6 +380,8 @@ err_out3: @@ -430,6 +435,8 @@ err_out3:
err_out2: err_out2:
unregister_pernet_subsys(&br_net_ops); unregister_pernet_subsys(&br_net_ops);
err_out1: err_out1:
@ -49,7 +49,7 @@
br_fdb_fini(); br_fdb_fini();
err_out: err_out:
stp_proto_unregister(&br_stp_proto); stp_proto_unregister(&br_stp_proto);
@@ -396,6 +403,7 @@ static void __exit br_deinit(void) @@ -452,6 +459,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
@ -59,7 +59,7 @@
--- a/net/bridge/br_device.c --- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c +++ b/net/bridge/br_device.c
@@ -529,6 +529,8 @@ void br_dev_setup(struct net_device *dev @@ -524,6 +524,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;
@ -78,7 +78,7 @@
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),
@@ -513,6 +514,8 @@ static struct net_bridge_fdb_entry *fdb_ @@ -518,6 +519,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;
@ -87,7 +87,7 @@
if (rhashtable_lookup_insert_fast(&br->fdb_hash_tbl, if (rhashtable_lookup_insert_fast(&br->fdb_hash_tbl,
&fdb->rhnode, &fdb->rhnode,
br_fdb_rht_params)) { br_fdb_rht_params)) {
@@ -734,6 +737,8 @@ static void fdb_notify(struct net_bridge @@ -794,6 +797,8 @@ static void fdb_notify(struct net_bridge
struct sk_buff *skb; struct sk_buff *skb;
int err = -ENOBUFS; int err = -ENOBUFS;
@ -125,7 +125,7 @@
/* /*
* Determine initial path cost based on speed. * Determine initial path cost based on speed.
@@ -427,7 +428,7 @@ static struct net_bridge_port *new_nbp(s @@ -428,7 +429,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;
@ -134,7 +134,7 @@
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);
@@ -777,6 +778,9 @@ void br_port_flags_change(struct net_bri @@ -771,6 +772,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);
@ -154,7 +154,7 @@
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)
@@ -162,6 +163,7 @@ int br_handle_frame_finish(struct net *n @@ -164,6 +165,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 {
@ -162,7 +162,7 @@
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
@@ -280,6 +282,9 @@ static rx_handler_result_t br_handle_fra @@ -297,6 +299,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);
@ -170,7 +170,7 @@
+ return RX_HANDLER_CONSUMED; + return RX_HANDLER_CONSUMED;
+ +
if (p->flags & BR_VLAN_TUNNEL) if (p->flags & BR_VLAN_TUNNEL)
br_handle_ingress_vlan_tunnel(skb, p, nbp_vlan_group_rcu(p)) br_handle_ingress_vlan_tunnel(skb, p, nbp_vlan_group_rcu(p));
--- /dev/null --- /dev/null
+++ b/net/bridge/br_offload.c +++ b/net/bridge/br_offload.c
@ -615,7 +615,7 @@
+} +}
--- a/net/bridge/br_private.h --- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h +++ b/net/bridge/br_private.h
@@ -207,7 +207,13 @@ struct net_bridge_fdb_entry { @@ -268,7 +268,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;
@ -630,7 +630,7 @@
}; };
#define MDB_PG_FLAGS_PERMANENT BIT(0) #define MDB_PG_FLAGS_PERMANENT BIT(0)
@@ -280,6 +286,12 @@ struct net_bridge_mdb_entry { @@ -343,6 +349,12 @@ struct net_bridge_mdb_entry {
struct rcu_head rcu; struct rcu_head rcu;
}; };
@ -643,7 +643,7 @@
struct net_bridge_port { struct net_bridge_port {
struct net_bridge *br; struct net_bridge *br;
struct net_device *dev; struct net_device *dev;
@@ -337,6 +349,7 @@ struct net_bridge_port { @@ -403,6 +415,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;
@ -651,7 +651,7 @@
}; };
#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)
@@ -475,6 +488,9 @@ struct net_bridge { @@ -519,6 +532,9 @@ struct net_bridge {
struct kobject *ifobj; struct kobject *ifobj;
u32 auto_cnt; u32 auto_cnt;
@ -661,7 +661,7 @@
#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.
@@ -501,6 +517,10 @@ struct br_input_skb_cb { @@ -553,6 +569,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
@ -725,9 +725,9 @@
#include "br_private.h" #include "br_private.h"
+#include "br_private_offload.h" +#include "br_private_offload.h"
#define to_bridge(cd) ((struct net_bridge *)netdev_priv(to_net_dev(cd))) /* IMPORTANT: new bridge options must be added with netlink support only
* please do not add new sysfs entries
@@ -842,6 +843,38 @@ static ssize_t vlan_stats_per_port_store @@ -930,6 +931,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
@ -766,7 +766,7 @@
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,
@@ -896,6 +929,8 @@ static struct attribute *bridge_attrs[] @@ -984,6 +1017,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
@ -777,7 +777,7 @@
--- a/net/bridge/br_sysfs_if.c --- a/net/bridge/br_sysfs_if.c
+++ b/net/bridge/br_sysfs_if.c +++ b/net/bridge/br_sysfs_if.c
@@ -234,6 +234,7 @@ BRPORT_ATTR_FLAG(broadcast_flood, BR_BCA @@ -241,6 +241,7 @@ BRPORT_ATTR_FLAG(broadcast_flood, BR_BCA
BRPORT_ATTR_FLAG(neigh_suppress, BR_NEIGH_SUPPRESS); BRPORT_ATTR_FLAG(neigh_suppress, BR_NEIGH_SUPPRESS);
BRPORT_ATTR_FLAG(isolated, BR_ISOLATED); BRPORT_ATTR_FLAG(isolated, BR_ISOLATED);
BRPORT_ATTR_FLAG(bpdu_filter, BR_BPDU_FILTER); BRPORT_ATTR_FLAG(bpdu_filter, BR_BPDU_FILTER);
@ -785,7 +785,7 @@
#ifdef CONFIG_BRIDGE_IGMP_SNOOPING #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf) static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf)
@@ -288,6 +289,7 @@ static const struct brport_attribute *br @@ -295,6 +296,7 @@ static const struct brport_attribute *br
&brport_attr_isolated, &brport_attr_isolated,
&brport_attr_bpdu_filter, &brport_attr_bpdu_filter,
&brport_attr_backup_port, &brport_attr_backup_port,
@ -803,7 +803,7 @@
static inline int br_vlan_tunid_cmp(struct rhashtable_compare_arg *arg, static inline int br_vlan_tunid_cmp(struct rhashtable_compare_arg *arg,
const void *ptr) const void *ptr)
@@ -180,6 +181,7 @@ int br_handle_ingress_vlan_tunnel(struct @@ -180,6 +181,7 @@ void br_handle_ingress_vlan_tunnel(struc
skb_dst_drop(skb); skb_dst_drop(skb);
__vlan_hwaccel_put_tag(skb, p->br->vlan_proto, vlan->vid); __vlan_hwaccel_put_tag(skb, p->br->vlan_proto, vlan->vid);
@ -811,7 +811,7 @@
} }
int br_handle_egress_vlan_tunnel(struct sk_buff *skb, int br_handle_egress_vlan_tunnel(struct sk_buff *skb,
@@ -203,6 +205,7 @@ int br_handle_egress_vlan_tunnel(struct @@ -201,6 +203,7 @@ int br_handle_egress_vlan_tunnel(struct
if (err) if (err)
return err; return err;

View File

@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
depends on !NF_CONNTRACK || NF_CONNTRACK depends on !NF_CONNTRACK || NF_CONNTRACK
--- a/net/netfilter/Kconfig --- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig
@@ -683,8 +683,6 @@ config NFT_FIB_NETDEV @@ -708,8 +708,6 @@ config NFT_REJECT_NETDEV
endif # NF_TABLES_NETDEV endif # NF_TABLES_NETDEV
@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
config NF_FLOW_TABLE_INET config NF_FLOW_TABLE_INET
tristate "Netfilter flow table mixed IPv4/IPv6 module" tristate "Netfilter flow table mixed IPv4/IPv6 module"
depends on NF_FLOW_TABLE depends on NF_FLOW_TABLE
@@ -693,11 +691,12 @@ config NF_FLOW_TABLE_INET @@ -718,11 +716,12 @@ config NF_FLOW_TABLE_INET
To compile it as a module, choose M here. To compile it as a module, choose M here.
@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
help help
This option adds the flow table core infrastructure. This option adds the flow table core infrastructure.
@@ -977,6 +976,15 @@ config NETFILTER_XT_TARGET_NOTRACK @@ -1011,6 +1010,15 @@ config NETFILTER_XT_TARGET_NOTRACK
depends on NETFILTER_ADVANCED depends on NETFILTER_ADVANCED
select NETFILTER_XT_TARGET_CT select NETFILTER_XT_TARGET_CT
@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
depends on NETFILTER_ADVANCED depends on NETFILTER_ADVANCED
--- a/net/netfilter/Makefile --- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile +++ b/net/netfilter/Makefile
@@ -145,6 +145,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CLASSIF @@ -143,6 +143,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
@ -766,7 +766,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#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>
@@ -395,8 +394,7 @@ flow_offload_lookup(struct nf_flowtable @@ -397,8 +396,7 @@ flow_offload_lookup(struct nf_flowtable
} }
EXPORT_SYMBOL_GPL(flow_offload_lookup); EXPORT_SYMBOL_GPL(flow_offload_lookup);
@ -776,7 +776,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
void (*iter)(struct flow_offload *flow, void *data), void (*iter)(struct flow_offload *flow, void *data),
void *data) void *data)
{ {
@@ -428,6 +426,7 @@ nf_flow_table_iterate(struct nf_flowtabl @@ -430,6 +428,7 @@ nf_flow_table_iterate(struct nf_flowtabl
return err; return err;
} }
@ -806,7 +806,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+#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
@@ -270,6 +270,10 @@ void nf_flow_table_free(struct nf_flowta @@ -273,6 +273,10 @@ void nf_flow_table_free(struct nf_flowta
void flow_offload_teardown(struct flow_offload *flow); void flow_offload_teardown(struct flow_offload *flow);

View File

@ -11,7 +11,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
--- a/include/linux/netdevice.h --- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h +++ b/include/linux/netdevice.h
@@ -144,8 +144,8 @@ static inline bool dev_xmit_complete(int @@ -145,8 +145,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

View File

@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- 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
@@ -461,7 +461,11 @@ static int fq_codel_init(struct Qdisc *s @@ -469,7 +469,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;

View File

@ -1,6 +1,6 @@
--- 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
@@ -2088,6 +2088,7 @@ static int mv88e6xxx_port_fdb_add(struct @@ -2321,6 +2321,7 @@ static int mv88e6xxx_port_fdb_add(struct
struct mv88e6xxx_chip *chip = ds->priv; struct mv88e6xxx_chip *chip = ds->priv;
int err; int err;
@ -8,7 +8,7 @@
mv88e6xxx_reg_lock(chip); mv88e6xxx_reg_lock(chip);
err = mv88e6xxx_port_db_load_purge(chip, port, addr, vid, err = mv88e6xxx_port_db_load_purge(chip, port, addr, vid,
MV88E6XXX_G1_ATU_DATA_STATE_UC_STATIC); MV88E6XXX_G1_ATU_DATA_STATE_UC_STATIC);
@@ -2102,6 +2103,7 @@ static int mv88e6xxx_port_fdb_del(struct @@ -2335,6 +2336,7 @@ static int mv88e6xxx_port_fdb_del(struct
struct mv88e6xxx_chip *chip = ds->priv; struct mv88e6xxx_chip *chip = ds->priv;
int err; int err;

View File

@ -1,8 +1,8 @@
--- 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
@@ -2650,6 +2650,9 @@ static int mv88e6xxx_setup_port(struct m @@ -2983,6 +2983,9 @@ static int mv88e6xxx_setup_port(struct m
if (dsa_is_cpu_port(ds, port)) else
reg = 0; reg = 1 << port;
+ /* Disable ATU member violation interrupt */ + /* Disable ATU member violation interrupt */
+ reg |= MV88E6XXX_PORT_ASSOC_VECTOR_IGNORE_WRONG; + reg |= MV88E6XXX_PORT_ASSOC_VECTOR_IGNORE_WRONG;

View File

@ -20,7 +20,7 @@ Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
#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)
@@ -330,6 +332,49 @@ static int aqr107_read_rate(struct phy_d @@ -359,6 +361,49 @@ static int aqr107_read_rate(struct phy_d
return 0; return 0;
} }
@ -70,7 +70,7 @@ Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
static int aqr107_read_status(struct phy_device *phydev) static int aqr107_read_status(struct phy_device *phydev)
{ {
int val, ret; int val, ret;
@@ -460,7 +505,7 @@ static void aqr107_chip_info(struct phy_ @@ -489,7 +534,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);
@ -79,7 +79,7 @@ Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
fw_major, fw_minor, build_id, prov_id); fw_major, fw_minor, build_id, prov_id);
} }
@@ -632,6 +677,24 @@ static struct phy_driver aqr_driver[] = @@ -661,6 +706,24 @@ static struct phy_driver aqr_driver[] =
.link_change_notify = aqr107_link_change_notify, .link_change_notify = aqr107_link_change_notify,
}, },
{ {
@ -104,8 +104,8 @@ Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
PHY_ID_MATCH_MODEL(PHY_ID_AQCS109), PHY_ID_MATCH_MODEL(PHY_ID_AQCS109),
.name = "Aquantia AQCS109", .name = "Aquantia AQCS109",
.probe = aqr107_probe, .probe = aqr107_probe,
@@ -657,6 +720,24 @@ static struct phy_driver aqr_driver[] = @@ -686,6 +749,24 @@ static struct phy_driver aqr_driver[] =
.ack_interrupt = aqr_ack_interrupt, .handle_interrupt = aqr_handle_interrupt,
.read_status = aqr_read_status, .read_status = aqr_read_status,
}, },
+{ +{
@ -129,7 +129,7 @@ Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
}; };
module_phy_driver(aqr_driver); module_phy_driver(aqr_driver);
@@ -667,8 +748,10 @@ static struct mdio_device_id __maybe_unu @@ -696,8 +777,10 @@ static struct mdio_device_id __maybe_unu
{ PHY_ID_MATCH_MODEL(PHY_ID_AQR105) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR105) },
{ PHY_ID_MATCH_MODEL(PHY_ID_AQR106) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR106) },
{ PHY_ID_MATCH_MODEL(PHY_ID_AQR107) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR107) },

View File

@ -19,18 +19,18 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/netdevice.h --- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h +++ b/include/linux/netdevice.h
@@ -1618,6 +1618,10 @@ enum netdev_priv_flags { @@ -1648,6 +1648,10 @@ enum netdev_priv_flags {
IFF_LIVE_RENAME_OK = 1<<30,
IFF_TX_SKB_NO_LINEAR = 1<<31, IFF_TX_SKB_NO_LINEAR = 1<<31,
}; };
+
+enum netdev_extra_priv_flags { +enum netdev_extra_priv_flags {
+ IFF_NO_IP_ALIGN = 1<<0, + IFF_NO_IP_ALIGN = 1<<0,
+}; +};
+
#define IFF_802_1Q_VLAN IFF_802_1Q_VLAN #define IFF_802_1Q_VLAN IFF_802_1Q_VLAN
#define IFF_EBRIDGE IFF_EBRIDGE #define IFF_EBRIDGE IFF_EBRIDGE
@@ -1650,6 +1651,7 @@ enum netdev_priv_flags { #define IFF_BONDING IFF_BONDING
@@ -1680,6 +1684,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
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* 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 {
@@ -1987,6 +1987,7 @@ enum netdev_priv_flags { @@ -1981,6 +1986,7 @@ struct net_device {
/* Read-mostly cache-line for fast-path access */ /* Read-mostly cache-line for fast-path access */
unsigned int flags; unsigned int flags;
unsigned int priv_flags; unsigned int priv_flags;
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
const struct net_device_ops *netdev_ops; const struct net_device_ops *netdev_ops;
int ifindex; int ifindex;
unsigned short gflags; unsigned short gflags;
@@ -1990,6 +1992,11 @@ struct net_device { @@ -2041,6 +2047,11 @@ struct net_device {
const struct tlsdev_ops *tlsdev_ops; const struct tlsdev_ops *tlsdev_ops;
#endif #endif
@ -57,9 +57,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+ +
const struct header_ops *header_ops; const struct header_ops *header_ops;
unsigned int flags; unsigned char operstate;
@@ -2080,6 +2087,10 @@ struct net_device { @@ -2115,6 +2126,10 @@ struct net_device {
struct mpls_dev __rcu *mpls_ptr; struct mctp_dev __rcu *mctp_ptr;
#endif #endif
+#ifdef CONFIG_ETHERNET_PACKET_MANGLE +#ifdef CONFIG_ETHERNET_PACKET_MANGLE
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
*/ */
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -2710,6 +2710,10 @@ static inline int pskb_trim(struct sk_bu @@ -2761,6 +2761,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;
} }
@ -82,7 +82,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/** /**
* 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
@@ -2841,16 +2845,6 @@ static inline struct sk_buff *dev_alloc_ @@ -2911,16 +2915,6 @@ static inline struct sk_buff *dev_alloc_
} }
@ -116,7 +116,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
help help
--- a/net/core/dev.c --- a/net/core/dev.c
+++ b/net/core/dev.c +++ b/net/core/dev.c
@@ -3646,6 +3646,11 @@ static int xmit_one(struct sk_buff *skb, @@ -3578,6 +3578,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);
@ -130,7 +130,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
trace_net_dev_start_xmit(skb, dev); trace_net_dev_start_xmit(skb, dev);
--- a/net/core/skbuff.c --- a/net/core/skbuff.c
+++ b/net/core/skbuff.c +++ b/net/core/skbuff.c
@@ -60,6 +60,7 @@ @@ -61,6 +61,7 @@
#include <linux/if_vlan.h> #include <linux/if_vlan.h>
#include <linux/mpls.h> #include <linux/mpls.h>
#include <linux/kcov.h> #include <linux/kcov.h>
@ -138,7 +138,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <net/protocol.h> #include <net/protocol.h>
#include <net/dst.h> #include <net/dst.h>
@@ -553,6 +554,22 @@ skb_fail: @@ -602,6 +603,22 @@ skb_fail:
} }
EXPORT_SYMBOL(__napi_alloc_skb); EXPORT_SYMBOL(__napi_alloc_skb);
@ -163,7 +163,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
{ {
--- a/net/ethernet/eth.c --- a/net/ethernet/eth.c
+++ b/net/ethernet/eth.c +++ b/net/ethernet/eth.c
@@ -171,6 +171,12 @@ __be16 eth_type_trans(struct sk_buff *sk @@ -170,6 +170,12 @@ __be16 eth_type_trans(struct sk_buff *sk
const struct ethhdr *eth; const struct ethhdr *eth;
skb->dev = dev; skb->dev = dev;

View File

@ -27,7 +27,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
#define PHY_ID_AQR813 0x31c31cb2 #define PHY_ID_AQR813 0x31c31cb2
#define MDIO_PHYXS_VEND_IF_STATUS 0xe812 #define MDIO_PHYXS_VEND_IF_STATUS 0xe812
@@ -123,6 +125,29 @@ @@ -124,6 +126,29 @@
#define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL2 BIT(1) #define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL2 BIT(1)
#define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL3 BIT(0) #define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL3 BIT(0)
@ -57,7 +57,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
struct aqr107_hw_stat { struct aqr107_hw_stat {
const char *name; const char *name;
int reg; int reg;
@@ -243,6 +268,51 @@ static int aqr_config_aneg(struct phy_de @@ -244,6 +269,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);
} }
@ -109,7 +109,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
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;
@@ -738,6 +808,30 @@ static struct phy_driver aqr_driver[] = @@ -767,6 +837,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,
}, },
@ -140,7 +140,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
}; };
module_phy_driver(aqr_driver); module_phy_driver(aqr_driver);
@@ -748,9 +842,11 @@ static struct mdio_device_id __maybe_unu @@ -777,9 +871,11 @@ static struct mdio_device_id __maybe_unu
{ PHY_ID_MATCH_MODEL(PHY_ID_AQR105) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR105) },
{ PHY_ID_MATCH_MODEL(PHY_ID_AQR106) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR106) },
{ PHY_ID_MATCH_MODEL(PHY_ID_AQR107) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR107) },

View File

@ -14,7 +14,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
--- 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
@@ -301,10 +301,16 @@ static int aqr_config_aneg_set_prot(stru @@ -302,10 +302,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);

View File

@ -18,7 +18,7 @@ Add a new entry for AQR113 PHY_ID
#define PHY_ID_AQR113C 0x31c31c12 #define PHY_ID_AQR113C 0x31c31c12
#define PHY_ID_AQCS109 0x03a1b5c2 #define PHY_ID_AQCS109 0x03a1b5c2
#define PHY_ID_AQR405 0x03a1b4b0 #define PHY_ID_AQR405 0x03a1b4b0
@@ -827,6 +828,14 @@ static struct phy_driver aqr_driver[] = @@ -856,6 +857,14 @@ static struct phy_driver aqr_driver[] =
.get_stats = aqr107_get_stats, .get_stats = aqr107_get_stats,
}, },
{ {
@ -33,7 +33,7 @@ Add a new entry for AQR113 PHY_ID
PHY_ID_MATCH_MODEL(PHY_ID_AQR412), PHY_ID_MATCH_MODEL(PHY_ID_AQR412),
.name = "Aquantia AQR412", .name = "Aquantia AQR412",
.probe = aqr107_probe, .probe = aqr107_probe,
@@ -849,6 +858,7 @@ static struct mdio_device_id __maybe_unu @@ -878,6 +887,7 @@ static struct mdio_device_id __maybe_unu
{ PHY_ID_MATCH_MODEL(PHY_ID_AQR106) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR106) },
{ PHY_ID_MATCH_MODEL(PHY_ID_AQR107) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR107) },
{ PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) },

View File

@ -21,7 +21,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
#define PHY_ID_AQR113 0x31c31c40 #define PHY_ID_AQR113 0x31c31c40
#define PHY_ID_AQR113C 0x31c31c12 #define PHY_ID_AQR113C 0x31c31c12
#define PHY_ID_AQCS109 0x03a1b5c2 #define PHY_ID_AQCS109 0x03a1b5c2
@@ -828,6 +830,30 @@ static struct phy_driver aqr_driver[] = @@ -857,6 +859,30 @@ static struct phy_driver aqr_driver[] =
.get_stats = aqr107_get_stats, .get_stats = aqr107_get_stats,
}, },
{ {
@ -52,7 +52,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
PHY_ID_MATCH_MODEL(PHY_ID_AQR113), PHY_ID_MATCH_MODEL(PHY_ID_AQR113),
.name = "Aquantia AQR113", .name = "Aquantia AQR113",
.config_aneg = aqr_config_aneg, .config_aneg = aqr_config_aneg,
@@ -858,6 +884,8 @@ static struct mdio_device_id __maybe_unu @@ -887,6 +913,8 @@ static struct mdio_device_id __maybe_unu
{ PHY_ID_MATCH_MODEL(PHY_ID_AQR106) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR106) },
{ PHY_ID_MATCH_MODEL(PHY_ID_AQR107) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR107) },
{ PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) },

View File

@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
#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>
@@ -5301,6 +5302,22 @@ static void rtl_tally_reset(struct r8152 @@ -6852,6 +6853,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 <mail@david-bauer.net>
static void r8152b_init(struct r8152 *tp) static void r8152b_init(struct r8152 *tp)
{ {
u32 ocp_data; u32 ocp_data;
@@ -5342,6 +5359,8 @@ static void r8152b_init(struct r8152 *tp @@ -6893,6 +6910,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 <mail@david-bauer.net>
} }
static void r8153_init(struct r8152 *tp) static void r8153_init(struct r8152 *tp)
@@ -5487,6 +5506,8 @@ static void r8153_init(struct r8152 *tp) @@ -7033,6 +7052,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 <mail@david-bauer.net>
} }
static void r8153b_init(struct r8152 *tp) static void r8153b_init(struct r8152 *tp)
@@ -5573,6 +5594,8 @@ static void r8153b_init(struct r8152 *tp @@ -7115,6 +7136,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 */
@ -71,4 +71,4 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
+ r8152_led_configuration(tp); + r8152_led_configuration(tp);
} }
static int rtl8152_pre_reset(struct usb_interface *intf) static void r8153c_init(struct r8152 *tp)

View File

@ -14,7 +14,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
--- a/drivers/net/ethernet/broadcom/bgmac-bcma.c --- a/drivers/net/ethernet/broadcom/bgmac-bcma.c
+++ b/drivers/net/ethernet/broadcom/bgmac-bcma.c +++ b/drivers/net/ethernet/broadcom/bgmac-bcma.c
@@ -266,6 +266,7 @@ static int bgmac_probe(struct bcma_devic @@ -280,6 +280,7 @@ static int bgmac_probe(struct bcma_devic
bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST; bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST;
bgmac->feature_flags |= BGMAC_FEAT_NO_RESET; bgmac->feature_flags |= BGMAC_FEAT_NO_RESET;
bgmac->feature_flags |= BGMAC_FEAT_FORCE_SPEED_2500; bgmac->feature_flags |= BGMAC_FEAT_FORCE_SPEED_2500;
@ -78,7 +78,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
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
@@ -428,6 +428,7 @@ @@ -390,6 +390,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 <hauke@hauke-m.de>
struct bgmac_slot_info { struct bgmac_slot_info {
union { union {
@@ -533,6 +534,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);

View File

@ -1,6 +1,6 @@
--- 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
@@ -1024,6 +1024,7 @@ static const struct usb_device_id produc @@ -1085,6 +1085,7 @@ static const struct usb_device_id produc
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)}, /* Quectel EG12/EM12 */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)}, /* Quectel EG12/EM12 */
{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 */

View File

@ -15,9 +15,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include "gpiolib.h" #include "gpiolib.h"
#include "gpiolib-of.h" #include "gpiolib-of.h"
@@ -1039,3 +1041,72 @@ void of_gpiochip_remove(struct gpio_chip @@ -1052,3 +1054,72 @@ void of_gpio_dev_init(struct gpio_chip *
{ else
of_node_put(chip->of_node); gc->of_node = gdev->dev.of_node;
} }
+ +
+#ifdef CONFIG_GPIO_SYSFS +#ifdef CONFIG_GPIO_SYSFS
@ -129,7 +129,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
{ {
--- a/drivers/gpio/gpiolib-sysfs.c --- a/drivers/gpio/gpiolib-sysfs.c
+++ b/drivers/gpio/gpiolib-sysfs.c +++ b/drivers/gpio/gpiolib-sysfs.c
@@ -572,7 +572,7 @@ static struct class gpio_class = { @@ -561,7 +561,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 <blogic@openwrt.org>
{ {
struct gpio_chip *chip; struct gpio_chip *chip;
struct gpio_device *gdev; struct gpio_device *gdev;
@@ -634,6 +634,8 @@ int gpiod_export(struct gpio_desc *desc, @@ -623,6 +623,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 <blogic@openwrt.org>
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,
@@ -655,6 +657,12 @@ err_unlock: @@ -644,6 +646,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;
} }

View File

@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/Kconfig --- a/net/Kconfig
+++ b/net/Kconfig +++ b/net/Kconfig
@@ -98,6 +98,9 @@ source "net/mptcp/Kconfig" @@ -104,6 +104,9 @@ source "net/mptcp/Kconfig"
endif # if INET endif # if INET
@ -50,7 +50,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <linux/uaccess.h> #include <linux/uaccess.h>
@@ -141,6 +142,7 @@ @@ -143,6 +144,7 @@
static DEFINE_MUTEX(proto_list_mutex); static DEFINE_MUTEX(proto_list_mutex);
static LIST_HEAD(proto_list); static LIST_HEAD(proto_list);
@ -58,7 +58,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static void sock_inuse_add(struct net *net, int val); static void sock_inuse_add(struct net *net, int val);
@@ -526,6 +528,18 @@ discard_and_relse: @@ -545,6 +547,18 @@ discard_and_relse:
} }
EXPORT_SYMBOL(__sk_receive_skb); EXPORT_SYMBOL(__sk_receive_skb);
@ -77,7 +77,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
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 *,
@@ -1816,9 +1830,11 @@ static void __sk_free(struct sock *sk) @@ -1983,9 +1997,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);
@ -152,7 +152,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
Support for PF_PACKET sockets monitoring interface used by the ss tool. Support for PF_PACKET sockets monitoring interface used by the ss tool.
--- a/net/unix/Kconfig --- a/net/unix/Kconfig
+++ b/net/unix/Kconfig +++ b/net/unix/Kconfig
@@ -28,6 +28,7 @@ config UNIX_SCM @@ -33,6 +33,7 @@ config AF_UNIX_OOB
config UNIX_DIAG config UNIX_DIAG
tristate "UNIX: socket monitoring interface" tristate "UNIX: socket monitoring interface"
depends on UNIX depends on UNIX

View File

@ -29,7 +29,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/fs/locks.c --- a/fs/locks.c
+++ b/fs/locks.c +++ b/fs/locks.c
@@ -2993,6 +2993,8 @@ static const struct seq_operations locks @@ -2929,6 +2929,8 @@ static const struct seq_operations locks
static int __init proc_locks_init(void) static int __init proc_locks_init(void)
{ {
@ -147,7 +147,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
IPC_MSG_IDS, sysvipc_msg_proc_show); IPC_MSG_IDS, sysvipc_msg_proc_show);
--- a/ipc/sem.c --- a/ipc/sem.c
+++ b/ipc/sem.c +++ b/ipc/sem.c
@@ -266,6 +266,8 @@ void sem_exit_ns(struct ipc_namespace *n @@ -268,6 +268,8 @@ void sem_exit_ns(struct ipc_namespace *n
void __init sem_init(void) void __init sem_init(void)
{ {
sem_init_ns(&init_ipc_ns); sem_init_ns(&init_ipc_ns);
@ -169,7 +169,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
" key shmid perms size cpid lpid nattch uid gid cuid cgid atime dtime ctime rss swap\n", " key shmid perms size cpid lpid nattch uid gid cuid cgid atime dtime ctime rss swap\n",
--- a/ipc/util.c --- a/ipc/util.c
+++ b/ipc/util.c +++ b/ipc/util.c
@@ -140,6 +140,9 @@ void __init ipc_init_proc_interface(cons @@ -141,6 +141,9 @@ void __init ipc_init_proc_interface(cons
struct proc_dir_entry *pde; struct proc_dir_entry *pde;
struct ipc_proc_iface *iface; struct ipc_proc_iface *iface;
@ -224,7 +224,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!root_irq_dir) if (!root_irq_dir)
--- a/kernel/time/timer_list.c --- a/kernel/time/timer_list.c
+++ b/kernel/time/timer_list.c +++ b/kernel/time/timer_list.c
@@ -370,6 +370,8 @@ static int __init init_timer_list_procfs @@ -350,6 +350,8 @@ static int __init init_timer_list_procfs
{ {
struct proc_dir_entry *pe; struct proc_dir_entry *pe;
@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!pe) if (!pe)
--- a/mm/vmalloc.c --- a/mm/vmalloc.c
+++ b/mm/vmalloc.c +++ b/mm/vmalloc.c
@@ -3572,6 +3572,8 @@ static const struct seq_operations vmall @@ -3962,6 +3962,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 <nbd@nbd.name>
&vmalloc_op, &vmalloc_op,
--- a/mm/vmstat.c --- a/mm/vmstat.c
+++ b/mm/vmstat.c +++ b/mm/vmstat.c
@@ -2044,10 +2044,12 @@ void __init init_mm_internals(void) @@ -2083,10 +2083,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 <nbd@nbd.name>
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
@@ -320,10 +320,12 @@ static int __net_init dev_proc_net_init( @@ -317,10 +317,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 <nbd@nbd.name>
sizeof(struct seq_net_private))) sizeof(struct seq_net_private)))
goto out_softnet; goto out_softnet;
@@ -333,9 +335,11 @@ static int __net_init dev_proc_net_init( @@ -330,9 +332,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 <nbd@nbd.name>
out_dev: out_dev:
remove_proc_entry("dev", net->proc_net); remove_proc_entry("dev", net->proc_net);
goto out; goto out;
@@ -345,8 +349,10 @@ static void __net_exit dev_proc_net_exit @@ -342,8 +346,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 <nbd@nbd.name>
--- a/net/core/sock.c --- a/net/core/sock.c
+++ b/net/core/sock.c +++ b/net/core/sock.c
@@ -3699,6 +3699,8 @@ static __net_initdata struct pernet_oper @@ -3855,6 +3855,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 <nbd@nbd.name>
--- a/net/ipv4/fib_trie.c --- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c
@@ -2986,11 +2986,13 @@ static const struct seq_operations fib_r @@ -3019,11 +3019,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 <nbd@nbd.name>
fib_triestat_seq_show, NULL)) fib_triestat_seq_show, NULL))
goto out2; goto out2;
@@ -3001,17 +3003,21 @@ int __net_init fib_proc_init(struct net @@ -3034,17 +3036,21 @@ int __net_init fib_proc_init(struct net
return 0; return 0;
out3: out3:
@ -385,7 +385,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/ipv4/proc.c --- a/net/ipv4/proc.c
+++ b/net/ipv4/proc.c +++ b/net/ipv4/proc.c
@@ -528,5 +528,8 @@ static __net_initdata struct pernet_oper @@ -553,5 +553,8 @@ static __net_initdata struct pernet_oper
int __init ip_misc_proc_init(void) int __init ip_misc_proc_init(void)
{ {
@ -396,7 +396,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
--- a/net/ipv4/route.c --- a/net/ipv4/route.c
+++ b/net/ipv4/route.c +++ b/net/ipv4/route.c
@@ -410,6 +410,9 @@ static struct pernet_operations ip_rt_pr @@ -387,6 +387,9 @@ static struct pernet_operations ip_rt_pr
static int __init ip_rt_proc_init(void) static int __init ip_rt_proc_init(void)
{ {

View File

@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/base/Kconfig --- a/drivers/base/Kconfig
+++ b/drivers/base/Kconfig +++ b/drivers/base/Kconfig
@@ -184,7 +184,7 @@ config SOC_BUS @@ -187,7 +187,7 @@ config SOC_BUS
source "drivers/base/regmap/Kconfig" source "drivers/base/regmap/Kconfig"
config DMA_SHARED_BUFFER config DMA_SHARED_BUFFER
@ -63,16 +63,16 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+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
@@ -1419,4 +1419,5 @@ static void __exit dma_buf_deinit(void) @@ -1498,4 +1498,5 @@ static void __exit dma_buf_deinit(void)
dma_buf_uninit_debugfs();
kern_unmount(dma_buf_mnt); kern_unmount(dma_buf_mnt);
dma_buf_uninit_sysfs_statistics();
} }
-__exitcall(dma_buf_deinit); -__exitcall(dma_buf_deinit);
+module_exit(dma_buf_deinit); +module_exit(dma_buf_deinit);
+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
@@ -3065,6 +3065,7 @@ int wake_up_state(struct task_struct *p, @@ -4174,6 +4174,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);
} }
@ -82,7 +82,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
* 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
@@ -311,6 +311,7 @@ char *dynamic_dname(struct dentry *dentr @@ -316,6 +316,7 @@ char *dynamic_dname(struct dentry *dentr
buffer += buflen - sz; buffer += buflen - sz;
return memcpy(buffer, temp, sz); return memcpy(buffer, temp, sz);
} }

View File

@ -1,6 +1,6 @@
--- a/drivers/of/fdt.c --- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c +++ b/drivers/of/fdt.c
@@ -1055,6 +1055,9 @@ int __init early_init_dt_scan_chosen(uns @@ -1158,6 +1158,9 @@ int __init early_init_dt_scan_chosen(uns
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)
strlcpy(data, p, min(l, COMMAND_LINE_SIZE)); strlcpy(data, p, min(l, COMMAND_LINE_SIZE));