generic: 6.6: refresh pending patches
authorWeijie Gao <hackpascal@gmail.com>
Fri, 8 Mar 2024 14:04:14 +0000 (22:04 +0800)
committerRobert Marko <robimarko@gmail.com>
Mon, 11 Mar 2024 19:17:26 +0000 (20:17 +0100)
Refresh pending patches with make target/linux/refresh.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
88 files changed:
target/linux/generic/pending-6.6/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch
target/linux/generic/pending-6.6/103-kbuild-export-SUBARCH.patch
target/linux/generic/pending-6.6/111-watchdog-max63xx_wdt-Add-support-for-specifying-WDI-.patch
target/linux/generic/pending-6.6/150-bridge_allow_receiption_on_disabled_port.patch
target/linux/generic/pending-6.6/191-rtc-rs5c372-let_the_alarm_to_be_used_as_wakeup_source.patch
target/linux/generic/pending-6.6/203-kallsyms_uncompressed.patch
target/linux/generic/pending-6.6/205-backtrace_module_info.patch
target/linux/generic/pending-6.6/270-platform-mikrotik-build-bits.patch
target/linux/generic/pending-6.6/300-mips_expose_boot_raw.patch
target/linux/generic/pending-6.6/301-MIPS-Add-barriers-between-dcache-icache-flushes.patch
target/linux/generic/pending-6.6/308-mips32r2_tune.patch
target/linux/generic/pending-6.6/332-arc-add-OWRTDTB-section.patch
target/linux/generic/pending-6.6/342-powerpc-Enable-kernel-XZ-compression-option-on-PPC_8.patch
target/linux/generic/pending-6.6/400-mtd-mtdsplit-support.patch
target/linux/generic/pending-6.6/401-mtd-don-t-register-NVMEM-devices-for-partitions-with.patch
target/linux/generic/pending-6.6/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch
target/linux/generic/pending-6.6/450-03-mtd-ubi-block-use-notifier-to-create-ubiblock-from-p.patch
target/linux/generic/pending-6.6/450-04-mtd-ubi-attach-from-device-tree.patch
target/linux/generic/pending-6.6/450-05-mtd-ubi-introduce-pre-removal-notification-for-UBI-v.patch
target/linux/generic/pending-6.6/450-09-block-partitions-populate-fwnode.patch
target/linux/generic/pending-6.6/450-10-block-add-new-genhd-flag-GENHD_FL_NVMEM.patch
target/linux/generic/pending-6.6/450-11-block-implement-NVMEM-provider.patch
target/linux/generic/pending-6.6/450-13-mmc-core-set-card-fwnode_handle.patch
target/linux/generic/pending-6.6/450-14-mmc-block-set-fwnode-of-disk-devices.patch
target/linux/generic/pending-6.6/450-15-mmc-block-set-GENHD_FL_NVMEM.patch
target/linux/generic/pending-6.6/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch
target/linux/generic/pending-6.6/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
target/linux/generic/pending-6.6/465-m25p80-mx-disable-software-protection.patch
target/linux/generic/pending-6.6/479-mtd-spi-nor-add-xtx-xt25f128b.patch
target/linux/generic/pending-6.6/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
target/linux/generic/pending-6.6/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
target/linux/generic/pending-6.6/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
target/linux/generic/pending-6.6/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
target/linux/generic/pending-6.6/499-mtd-spi-nor-disable-16-bit-sr-for-macronix.patch
target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch
target/linux/generic/pending-6.6/511-init-bypass-device-lookup-for-dev-fit-rootfs.patch
target/linux/generic/pending-6.6/530-jffs2_make_lzma_available.patch
target/linux/generic/pending-6.6/600-netfilter_conntrack_flush.patch
target/linux/generic/pending-6.6/610-netfilter_match_bypass_default_checks.patch
target/linux/generic/pending-6.6/611-netfilter_match_bypass_default_table.patch
target/linux/generic/pending-6.6/612-netfilter_match_reduce_memory_access.patch
target/linux/generic/pending-6.6/630-packet_socket_type.patch
target/linux/generic/pending-6.6/655-increase_skb_pad.patch
target/linux/generic/pending-6.6/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
target/linux/generic/pending-6.6/683-of_net-add-mac-address-to-of-tree.patch
target/linux/generic/pending-6.6/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch
target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch
target/linux/generic/pending-6.6/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch
target/linux/generic/pending-6.6/703-phy-add-detach-callback-to-struct-phy_driver.patch
target/linux/generic/pending-6.6/705-net-dsa-tag_mtk-add-padding-for-tx-packets.patch
target/linux/generic/pending-6.6/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
target/linux/generic/pending-6.6/711-01-net-dsa-qca8k-implement-lag_fdb_add-del-ops.patch
target/linux/generic/pending-6.6/711-02-net-dsa-qca8k-enable-flooding-to-both-CPU-port.patch
target/linux/generic/pending-6.6/711-03-net-dsa-qca8k-add-support-for-port_change_master.patch
target/linux/generic/pending-6.6/712-net-dsa-qca8k-enable-assisted-learning-on-CPU-port.patch
target/linux/generic/pending-6.6/713-03-arm64-dts-qcom-ipq8074-add-clock-frequency-to-MDIO-n.patch
target/linux/generic/pending-6.6/721-net-phy-realtek-rtl8221-allow-to-configure-SERDES-mo.patch
target/linux/generic/pending-6.6/722-net-phy-realtek-support-switching-between-SGMII-and-.patch
target/linux/generic/pending-6.6/723-net-mt7531-ensure-all-MACs-are-powered-down-before-r.patch
target/linux/generic/pending-6.6/724-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch
target/linux/generic/pending-6.6/725-net-phy-realtek-disable-SGMII-in-band-AN-for-2-5G-PHYs.patch
target/linux/generic/pending-6.6/726-net-phy-realtek-make-sure-paged-read-is-protected-by.patch
target/linux/generic/pending-6.6/727-net-phy-realtek-use-inline-functions-for-10GbE-adver.patch
target/linux/generic/pending-6.6/728-net-phy-realtek-check-validity-of-10GbE-link-partner.patch
target/linux/generic/pending-6.6/729-net-phy-realtek-introduce-rtl822x_probe.patch
target/linux/generic/pending-6.6/730-net-phy-realtek-detect-early-version-of-RTL8221B.patch
target/linux/generic/pending-6.6/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch
target/linux/generic/pending-6.6/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch
target/linux/generic/pending-6.6/737-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch
target/linux/generic/pending-6.6/739-03-net-pcs-pcs-mtk-lynxi-add-platform-driver-for-MT7988.patch
target/linux/generic/pending-6.6/739-05-net-pcs-add-driver-for-MediaTek-USXGMII-PCS.patch
target/linux/generic/pending-6.6/741-net-phy-realtek-support-interrupt-of-RTL8221B.patch
target/linux/generic/pending-6.6/750-net-phy-airoha-Add-the-Airoha-EN8811H-PHY-driver.patch
target/linux/generic/pending-6.6/760-net-core-add-optional-threading-for-backlog-processi.patch
target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch
target/linux/generic/pending-6.6/779-net-vxlan-don-t-learn-non-unicast-L2-destinations.patch
target/linux/generic/pending-6.6/795-mt7530-register-OF-node-for-internal-MDIO-bus.patch
target/linux/generic/pending-6.6/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch
target/linux/generic/pending-6.6/801-gpio-gpio-cascade-add-generic-GPIO-cascade.patch
target/linux/generic/pending-6.6/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch
target/linux/generic/pending-6.6/804-nvmem-core-support-mac-base-fixed-layout-cells.patch
target/linux/generic/pending-6.6/810-pci_disable_common_quirks.patch
target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch
target/linux/generic/pending-6.6/834-ledtrig-libata.patch
target/linux/generic/pending-6.6/840-hwrng-bcm2835-set-quality-to-1000.patch
target/linux/generic/pending-6.6/920-mangle_bootargs.patch

index 7b342e69623314bf0f2ccd8ae178e8f584c551ab..0844fcd6dbd6577ec569ce4430e18d1698357429 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/compiler.h
 +++ b/include/linux/compiler.h
-@@ -203,6 +203,8 @@ void ftrace_likely_update(struct ftrace_
+@@ -202,6 +202,8 @@ void ftrace_likely_update(struct ftrace_
        __v;                                                            \
  })
  
index c8c0efaecfa1bb1de9e6ae335ca0a6137f8b2183..ea7a25d8a0c28406aa5d708c4a8d2a92a5ad7efd 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/Makefile
 +++ b/Makefile
-@@ -605,7 +605,7 @@ endif
+@@ -599,7 +599,7 @@ endif
  # Allows the usage of unstable features in stable compilers.
  export RUSTC_BOOTSTRAP := 1
  
index d6b10491f830e55ff6af6f1879c2224511bbeb3b..9dd90eecdc87f4bc5e56d4e056cd7d9d899f2245 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Pali Rohár <pali@kernel.org>
 
 --- a/drivers/watchdog/max63xx_wdt.c
 +++ b/drivers/watchdog/max63xx_wdt.c
-@@ -27,6 +27,7 @@
+@@ -24,6 +24,7 @@
  #include <linux/io.h>
  #include <linux/slab.h>
  #include <linux/property.h>
@@ -25,7 +25,7 @@ Signed-off-by: Pali Rohár <pali@kernel.org>
  
  #define DEFAULT_HEARTBEAT 60
  #define MAX_HEARTBEAT     60
-@@ -53,6 +54,9 @@ struct max63xx_wdt {
+@@ -50,6 +51,9 @@ struct max63xx_wdt {
        void __iomem *base;
        spinlock_t lock;
  
@@ -35,7 +35,7 @@ Signed-off-by: Pali Rohár <pali@kernel.org>
        /* WDI and WSET bits write access routines */
        void (*ping)(struct max63xx_wdt *wdt);
        void (*set)(struct max63xx_wdt *wdt, u8 set);
-@@ -158,6 +162,17 @@ static const struct watchdog_info max63x
+@@ -155,6 +159,17 @@ static const struct watchdog_info max63x
        .identity = "max63xx Watchdog",
  };
  
@@ -53,7 +53,7 @@ Signed-off-by: Pali Rohár <pali@kernel.org>
  static void max63xx_mmap_ping(struct max63xx_wdt *wdt)
  {
        u8 val;
-@@ -225,10 +240,19 @@ static int max63xx_wdt_probe(struct plat
+@@ -222,10 +237,19 @@ static int max63xx_wdt_probe(struct plat
                return -EINVAL;
        }
  
index 93a2d146b5ad84e3834b8c215847c724211ef595..b23cae1f5e051d350d218d8d974852bf66cb8bdb 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/bridge/br_input.c
 +++ b/net/bridge/br_input.c
-@@ -222,6 +222,9 @@ static void __br_handle_local_finish(str
+@@ -239,6 +239,9 @@ static void __br_handle_local_finish(str
  /* note: already called with rcu_read_lock */
  static int br_handle_local_finish(struct net *net, struct sock *sk, struct sk_buff *skb)
  {
@@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        __br_handle_local_finish(skb);
  
        /* return 1 to signal the okfn() was called so it's ok to use the skb */
-@@ -390,6 +393,17 @@ forward:
+@@ -408,6 +411,17 @@ forward:
                goto defer_stp_filtering;
  
        switch (p->state) {
index 85e56008474299d613e9932e5797ca7820f11d4a..a29c548bbdf57d3cf5e2e2facd49d45603ab287f 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
 
 --- a/drivers/rtc/rtc-rs5c372.c
 +++ b/drivers/rtc/rtc-rs5c372.c
-@@ -833,6 +833,7 @@ static int rs5c372_probe(struct i2c_clie
+@@ -832,6 +832,7 @@ static int rs5c372_probe(struct i2c_clie
        int err = 0;
        int smbus_mode = 0;
        struct rs5c372 *rs5c372;
index 5c6f620749713a58c6eacc69c625a467c7d7e99d..d935077c05f2efdfaf9d491ef652d2b0955f7159 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -1491,6 +1491,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
+@@ -1451,6 +1451,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
          the unaligned access emulation.
          see arch/parisc/kernel/unaligned.c for reference
  
@@ -57,7 +57,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
         * and return the first char from this token.
 --- a/scripts/kallsyms.c
 +++ b/scripts/kallsyms.c
-@@ -77,6 +77,7 @@ static struct addr_range percpu_range =
+@@ -62,6 +62,7 @@ static struct addr_range percpu_range =
  static struct sym_entry **table;
  static unsigned int table_size, table_cnt;
  static int all_symbols;
@@ -65,7 +65,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static int absolute_percpu;
  static int base_relative;
  static int lto_clang;
-@@ -608,6 +609,9 @@ static void write_src(void)
+@@ -469,6 +470,9 @@ static void write_src(void)
  
        free(markers);
  
@@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        output_label("kallsyms_token_table");
        off = 0;
        for (i = 0; i < 256; i++) {
-@@ -659,6 +663,9 @@ static unsigned char *find_token(unsigne
+@@ -582,6 +586,9 @@ static unsigned char *find_token(unsigne
  {
        int i;
  
@@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        for (i = 0; i < len - 1; i++) {
                if (str[i] == token[0] && str[i+1] == token[1])
                        return &str[i];
-@@ -731,6 +738,9 @@ static void optimize_result(void)
+@@ -654,6 +661,9 @@ static void optimize_result(void)
  {
        int i, best;
  
@@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        /* using the '\0' symbol last allows compress_symbols to use standard
         * fast string functions */
        for (i = 255; i >= 0; i--) {
-@@ -892,6 +902,7 @@ int main(int argc, char **argv)
+@@ -815,6 +825,7 @@ int main(int argc, char **argv)
                        {"absolute-percpu", no_argument, &absolute_percpu, 1},
                        {"base-relative",   no_argument, &base_relative,   1},
                        {"lto-clang",       no_argument, &lto_clang,       1},
index 7bbb596a5d860fdc5efe263cffbc6b975b2a6600..34018e2c2f7420a3717cf0037bf27b848aa6b651 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/lib/vsprintf.c
 +++ b/lib/vsprintf.c
-@@ -985,8 +985,10 @@ char *symbol_string(char *buf, char *end
+@@ -982,8 +982,10 @@ char *symbol_string(char *buf, char *end
                    struct printf_spec spec, const char *fmt)
  {
        unsigned long value;
@@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #endif
  
        if (fmt[1] == 'R')
-@@ -1007,8 +1009,14 @@ char *symbol_string(char *buf, char *end
+@@ -1004,8 +1006,14 @@ char *symbol_string(char *buf, char *end
  
        return string_nocheck(buf, end, sym, spec);
  #else
index 997e6142a70e62e1ff0ff6c2440034808ddc2642..7ca84e040def50640f8dcc36e726ebe3e8d84c2b 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
 
 --- a/drivers/platform/Kconfig
 +++ b/drivers/platform/Kconfig
-@@ -16,3 +16,5 @@ source "drivers/platform/olpc/Kconfig"
+@@ -14,3 +14,5 @@ source "drivers/platform/olpc/Kconfig"
  source "drivers/platform/surface/Kconfig"
  
  source "drivers/platform/x86/Kconfig"
index d222ec060e8b7df1c9e2e3bd434fa2ada4c25293..ebeeb7bae703a735baf2bc8a2a63e1dfaab05f68 100644 (file)
@@ -9,7 +9,7 @@ Acked-by: Rob Landley <rob@landley.net>
 ---
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -1035,9 +1035,6 @@ config FW_ARC
+@@ -1013,9 +1013,6 @@ config FW_ARC
  config ARCH_MAY_HAVE_PC_FDC
        bool
  
@@ -19,7 +19,7 @@ Acked-by: Rob Landley <rob@landley.net>
  config CEVT_BCM1480
        bool
  
-@@ -3093,6 +3090,18 @@ choice
+@@ -2996,6 +2993,18 @@ choice
                bool "Extend builtin kernel arguments with bootloader arguments"
  endchoice
  
index bd56adad3a057ebb5a73539dd85045bd1a1a52f5..b3cb5f0cde050255fcdd83aaa66c924993dd2c01 100644 (file)
@@ -26,7 +26,7 @@ Cc: James Hogan <james.hogan@imgtec.com>
 
 --- a/arch/mips/mm/c-r4k.c
 +++ b/arch/mips/mm/c-r4k.c
-@@ -514,6 +514,7 @@ static inline void local_r4k___flush_cac
+@@ -403,6 +403,7 @@ static inline void local_r4k___flush_cac
  
        default:
                r4k_blast_dcache();
@@ -34,7 +34,7 @@ Cc: James Hogan <james.hogan@imgtec.com>
                r4k_blast_icache();
                break;
        }
-@@ -594,8 +595,10 @@ static inline void local_r4k_flush_cache
+@@ -483,8 +484,10 @@ static inline void local_r4k_flush_cache
        if (cpu_has_dc_aliases || (exec && !cpu_has_ic_fills_f_dc))
                r4k_blast_dcache();
        /* If executable, blast stale lines from icache */
@@ -46,7 +46,7 @@ Cc: James Hogan <james.hogan@imgtec.com>
  }
  
  static void r4k_flush_cache_range(struct vm_area_struct *vma,
-@@ -696,8 +699,13 @@ static inline void local_r4k_flush_cache
+@@ -586,8 +589,13 @@ static inline void local_r4k_flush_cache
        if (cpu_has_dc_aliases || (exec && !cpu_has_ic_fills_f_dc)) {
                vaddr ? r4k_blast_dcache_page(addr) :
                        r4k_blast_dcache_user_page(addr);
@@ -61,7 +61,7 @@ Cc: James Hogan <james.hogan@imgtec.com>
        }
        if (exec) {
                if (vaddr && cpu_has_vtag_icache && mm == current->active_mm) {
-@@ -764,6 +772,7 @@ static inline void __local_r4k_flush_ica
+@@ -654,6 +662,7 @@ static inline void __local_r4k_flush_ica
                        else
                                blast_dcache_range(start, end);
                }
index db410a6bc06dc35ebd8bd3c8441ce2be78cc7e21..b12058053b1d63a8e436f63cdc1a733802a057c3 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
-@@ -172,7 +172,7 @@ cflags-$(CONFIG_CPU_R4300) += -march=r43
+@@ -163,7 +163,7 @@ cflags-$(CONFIG_CPU_R4300) += -march=r43
  cflags-$(CONFIG_CPU_R4X00)    += -march=r4600 -Wa,--trap
  cflags-$(CONFIG_CPU_TX49XX)   += -march=r4600 -Wa,--trap
  cflags-$(CONFIG_CPU_MIPS32_R1)        += -march=mips32 -Wa,--trap
index 4a76e216d570573cacb6669923a268fcfb36fd09..5b943f3734206e18d78d30bb2fea51a5bd27a8a4 100644 (file)
@@ -42,7 +42,7 @@ Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
  ;----------------------------------------------------------------
 --- a/arch/arc/kernel/setup.c
 +++ b/arch/arc/kernel/setup.c
-@@ -495,6 +495,8 @@ static inline bool uboot_arg_invalid(uns
+@@ -450,6 +450,8 @@ static inline bool uboot_arg_invalid(uns
  /* We always pass 0 as magic from U-boot */
  #define UBOOT_MAGIC_VALUE     0
  
@@ -51,7 +51,7 @@ Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
  void __init handle_uboot_args(void)
  {
        bool use_embedded_dtb = true;
-@@ -533,7 +535,7 @@ void __init handle_uboot_args(void)
+@@ -488,7 +490,7 @@ void __init handle_uboot_args(void)
  ignore_uboot_args:
  
        if (use_embedded_dtb) {
index e9b47d185d2a4af4da64a26f23f2ff49584a0251..71173b081c104c09a557fdb5c11abc1f97a3613f 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
 
 --- a/arch/powerpc/Kconfig
 +++ b/arch/powerpc/Kconfig
-@@ -229,7 +229,7 @@ config PPC
+@@ -251,7 +251,7 @@ config PPC
        select HAVE_KERNEL_GZIP
        select HAVE_KERNEL_LZMA                 if DEFAULT_UIMAGE
        select HAVE_KERNEL_LZO                  if DEFAULT_UIMAGE
index c619d12ce5398537b15393e02f381a56092b0f96..bd1c3a123f0f0d58619fa8dd6809ad18700cff62 100644 (file)
@@ -66,7 +66,7 @@ Subject: [PATCH] mtd: mtdsplit support
  
  /*
   * MTD methods which simply translate the effective address and pass through
-@@ -236,6 +238,147 @@ static int mtd_add_partition_attrs(struc
+@@ -242,6 +244,147 @@ static int mtd_add_partition_attrs(struc
        return ret;
  }
  
@@ -214,7 +214,7 @@ Subject: [PATCH] mtd: mtdsplit support
  int mtd_add_partition(struct mtd_info *parent, const char *name,
                      long long offset, long long length)
  {
-@@ -274,6 +417,7 @@ int mtd_add_partition(struct mtd_info *p
+@@ -280,6 +423,7 @@ int mtd_add_partition(struct mtd_info *p
        if (ret)
                goto err_remove_part;
  
@@ -222,7 +222,7 @@ Subject: [PATCH] mtd: mtdsplit support
        mtd_add_partition_attrs(child);
  
        return 0;
-@@ -422,6 +566,7 @@ int add_mtd_partitions(struct mtd_info *
+@@ -423,6 +567,7 @@ int add_mtd_partitions(struct mtd_info *
                        goto err_del_partitions;
                }
  
@@ -230,7 +230,7 @@ Subject: [PATCH] mtd: mtdsplit support
                mtd_add_partition_attrs(child);
  
                /* Look for subpartitions */
-@@ -438,31 +583,6 @@ err_del_partitions:
+@@ -439,31 +584,6 @@ err_del_partitions:
        return ret;
  }
  
index 52acb0633bb95e22f0f9c73a2b6d462b0bea49d9..54a02d8ecd95d3a6f3934526ec5ab1a8b24b8518 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -519,6 +519,29 @@ static int mtd_nvmem_add(struct mtd_info
+@@ -548,6 +548,29 @@ static int mtd_nvmem_add(struct mtd_info
        struct device_node *node = mtd_get_of_node(mtd);
        struct nvmem_config config = {};
  
index c7da2f883435fe7f694e7e8d7e5450d2d4adec83..5a812b86bfeab41035f5b8db3f774bec899ca12b 100644 (file)
@@ -80,7 +80,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
 
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -169,6 +169,15 @@ static ssize_t mtd_erasesize_show(struct
+@@ -198,6 +198,15 @@ static ssize_t mtd_erasesize_show(struct
  }
  MTD_DEVICE_ATTR_RO(erasesize);
  
@@ -96,7 +96,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
  static ssize_t mtd_writesize_show(struct device *dev,
                struct device_attribute *attr, char *buf)
  {
-@@ -314,6 +323,7 @@ static struct attribute *mtd_attrs[] = {
+@@ -343,6 +352,7 @@ static struct attribute *mtd_attrs[] = {
        &dev_attr_flags.attr,
        &dev_attr_size.attr,
        &dev_attr_erasesize.attr,
@@ -106,7 +106,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
        &dev_attr_oobsize.attr,
 --- a/drivers/mtd/mtdpart.c
 +++ b/drivers/mtd/mtdpart.c
-@@ -41,6 +41,7 @@ static struct mtd_info *allocate_partiti
+@@ -47,6 +47,7 @@ static struct mtd_info *allocate_partiti
        struct mtd_info *master = mtd_get_master(parent);
        int wr_alignment = (parent->flags & MTD_NO_ERASE) ?
                           master->writesize : master->erasesize;
@@ -114,7 +114,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
        u64 parent_size = mtd_is_partition(parent) ?
                          parent->part.size : parent->size;
        struct mtd_info *child;
-@@ -165,6 +166,7 @@ static struct mtd_info *allocate_partiti
+@@ -171,6 +172,7 @@ static struct mtd_info *allocate_partiti
        } else {
                /* Single erase size */
                child->erasesize = master->erasesize;
@@ -122,7 +122,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
        }
  
        /*
-@@ -172,26 +174,39 @@ static struct mtd_info *allocate_partiti
+@@ -178,26 +180,39 @@ static struct mtd_info *allocate_partiti
         * exposes several regions with different erasesize. Adjust
         * wr_alignment accordingly.
         */
@@ -193,7 +193,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
        default y
 --- a/drivers/mtd/spi-nor/core.c
 +++ b/drivers/mtd/spi-nor/core.c
-@@ -1050,6 +1050,8 @@ static u8 spi_nor_convert_3to4_erase(u8
+@@ -1150,6 +1150,8 @@ static u8 spi_nor_convert_3to4_erase(u8
  
  static bool spi_nor_has_uniform_erase(const struct spi_nor *nor)
  {
@@ -202,7 +202,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
        return !!nor->params->erase_map.uniform_erase_type;
  }
  
-@@ -2158,6 +2160,7 @@ static int spi_nor_select_erase(struct s
+@@ -2582,6 +2584,7 @@ static int spi_nor_select_erase(struct s
  {
        struct spi_nor_erase_map *map = &nor->params->erase_map;
        const struct spi_nor_erase_type *erase = NULL;
@@ -210,7 +210,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
        struct mtd_info *mtd = &nor->mtd;
        u32 wanted_size = nor->info->sector_size;
        int i;
-@@ -2190,8 +2193,9 @@ static int spi_nor_select_erase(struct s
+@@ -2614,8 +2617,9 @@ static int spi_nor_select_erase(struct s
         */
        for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) {
                if (map->erase_type[i].size) {
@@ -222,7 +222,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
                }
        }
  
-@@ -2199,6 +2203,9 @@ static int spi_nor_select_erase(struct s
+@@ -2623,6 +2627,9 @@ static int spi_nor_select_erase(struct s
                return -EINVAL;
  
        mtd->erasesize = erase->size;
index 421daa012580230c9df2dd7c0115f10e35bd1e7e..a1e1d6fa9defb4d4ff10281bc7b487399c3dfbdd 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  #include <linux/slab.h>
  #include <linux/mtd/ubi.h>
  #include <linux/blkdev.h>
-@@ -67,10 +68,10 @@ struct ubiblock_pdu {
+@@ -65,10 +66,10 @@ struct ubiblock_pdu {
  };
  
  /* Numbers of elements set in the @ubiblock_param array */
@@ -39,7 +39,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
  struct ubiblock {
        struct ubi_volume_desc *desc;
-@@ -504,7 +505,7 @@ int ubiblock_remove(struct ubi_volume_in
+@@ -469,7 +470,7 @@ int ubiblock_remove(struct ubi_volume_in
        }
  
        /* Found a device, let's lock it so we can check if it's busy */
@@ -48,7 +48,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        if (dev->refcnt > 0) {
                ret = -EBUSY;
                goto out_unlock_dev;
-@@ -567,6 +568,85 @@ static int ubiblock_resize(struct ubi_vo
+@@ -532,6 +533,85 @@ static int ubiblock_resize(struct ubi_vo
        return 0;
  }
  
@@ -134,7 +134,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static int ubiblock_notify(struct notifier_block *nb,
                         unsigned long notification_type, void *ns_ptr)
  {
-@@ -574,10 +654,7 @@ static int ubiblock_notify(struct notifi
+@@ -539,10 +619,7 @@ static int ubiblock_notify(struct notifi
  
        switch (notification_type) {
        case UBI_VOLUME_ADDED:
@@ -146,7 +146,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                break;
        case UBI_VOLUME_REMOVED:
                ubiblock_remove(&nt->vi);
-@@ -603,56 +680,6 @@ static struct notifier_block ubiblock_no
+@@ -568,56 +645,6 @@ static struct notifier_block ubiblock_no
        .notifier_call = ubiblock_notify,
  };
  
@@ -203,7 +203,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static void ubiblock_remove_all(void)
  {
        struct ubiblock *next;
-@@ -678,18 +705,7 @@ int __init ubiblock_init(void)
+@@ -643,18 +670,7 @@ int __init ubiblock_init(void)
        if (ubiblock_major < 0)
                return ubiblock_major;
  
index 6e10e5ebed401eef456f501ea620b81d97d5a0c9..a295146aee8c005c8a4b5d38465c4c51312f6a5b 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  #include <linux/slab.h>
  #include <linux/major.h>
  #include "ubi.h"
-@@ -1071,6 +1072,7 @@ out_free:
+@@ -1072,6 +1073,7 @@ out_free:
   * ubi_detach_mtd_dev - detach an MTD device.
   * @ubi_num: UBI device number to detach from
   * @anyway: detach MTD even if device reference count is not zero
@@ -33,7 +33,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
   *
   * This function destroys an UBI device number @ubi_num and detaches the
   * underlying MTD device. Returns zero in case of success and %-EBUSY if the
-@@ -1080,7 +1082,7 @@ out_free:
+@@ -1081,7 +1083,7 @@ out_free:
   * Note, the invocations of this function has to be serialized by the
   * @ubi_devices_mutex.
   */
@@ -42,7 +42,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  {
        struct ubi_device *ubi;
  
-@@ -1136,7 +1138,11 @@ int ubi_detach_mtd_dev(int ubi_num, int
+@@ -1137,7 +1139,11 @@ int ubi_detach_mtd_dev(int ubi_num, int
        vfree(ubi->peb_buf);
        vfree(ubi->fm_buf);
        ubi_msg(ubi, "mtd%d is detached", ubi->mtd->index);
@@ -55,7 +55,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        put_device(&ubi->dev);
        return 0;
  }
-@@ -1213,43 +1219,43 @@ static struct mtd_info * __init open_mtd
+@@ -1214,43 +1220,43 @@ static struct mtd_info * __init open_mtd
        return mtd;
  }
  
@@ -128,7 +128,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
        /* Attach MTD devices */
        for (i = 0; i < mtd_devs; i++) {
-@@ -1297,25 +1303,79 @@ static int __init ubi_init(void)
+@@ -1298,25 +1304,79 @@ static int __init ubi_init(void)
                }
        }
  
@@ -217,7 +217,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  out_slab:
        kmem_cache_destroy(ubi_wl_entry_slab);
  out_dev_unreg:
-@@ -1325,18 +1385,20 @@ out:
+@@ -1326,18 +1386,20 @@ out:
        pr_err("UBI error: cannot initialize UBI, error %d\n", err);
        return err;
  }
index d5da37b8562eda0f2c6f59725bfe17d265175244..c7c058f8f4cc564f665560a55036b62244394345 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/mtd/ubi/block.c
 +++ b/drivers/mtd/ubi/block.c
-@@ -568,6 +568,29 @@ static int ubiblock_resize(struct ubi_vo
+@@ -533,6 +533,29 @@ static int ubiblock_resize(struct ubi_vo
        return 0;
  }
  
@@ -53,7 +53,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static bool
  match_volume_desc(struct ubi_volume_info *vi, const char *name, int ubi_num, int vol_id)
  {
-@@ -659,6 +682,9 @@ static int ubiblock_notify(struct notifi
+@@ -624,6 +647,9 @@ static int ubiblock_notify(struct notifi
        case UBI_VOLUME_REMOVED:
                ubiblock_remove(&nt->vi);
                break;
@@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                break;
 --- a/drivers/mtd/ubi/build.c
 +++ b/drivers/mtd/ubi/build.c
-@@ -89,7 +89,7 @@ static struct ubi_device *ubi_devices[UB
+@@ -91,7 +91,7 @@ static struct ubi_device *ubi_devices[UB
  /* Serializes UBI devices creations and removals */
  DEFINE_MUTEX(ubi_devices_mutex);
  
@@ -74,7 +74,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static DEFINE_SPINLOCK(ubi_devices_lock);
  
  /* "Show" method for files in '/<sysfs>/class/ubi/' */
-@@ -258,6 +258,9 @@ struct ubi_device *ubi_get_device(int ub
+@@ -259,6 +259,9 @@ struct ubi_device *ubi_get_device(int ub
  
        spin_lock(&ubi_devices_lock);
        ubi = ubi_devices[ubi_num];
@@ -84,7 +84,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        if (ubi) {
                ubi_assert(ubi->ref_count >= 0);
                ubi->ref_count += 1;
-@@ -295,7 +298,7 @@ struct ubi_device *ubi_get_by_major(int
+@@ -296,7 +299,7 @@ struct ubi_device *ubi_get_by_major(int
        spin_lock(&ubi_devices_lock);
        for (i = 0; i < UBI_MAX_DEVICES; i++) {
                ubi = ubi_devices[i];
@@ -93,7 +93,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                        ubi_assert(ubi->ref_count >= 0);
                        ubi->ref_count += 1;
                        get_device(&ubi->dev);
-@@ -324,7 +327,7 @@ int ubi_major2num(int major)
+@@ -325,7 +328,7 @@ int ubi_major2num(int major)
        for (i = 0; i < UBI_MAX_DEVICES; i++) {
                struct ubi_device *ubi = ubi_devices[i];
  
@@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                        ubi_num = ubi->ubi_num;
                        break;
                }
-@@ -511,7 +514,7 @@ static void ubi_free_volumes_from(struct
+@@ -512,7 +515,7 @@ static void ubi_free_volumes_from(struct
        int i;
  
        for (i = from; i < ubi->vtbl_slots + UBI_INT_VOL_COUNT; i++) {
@@ -111,7 +111,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                        continue;
                ubi_eba_replace_table(ubi->volumes[i], NULL);
                ubi_fastmap_destroy_checkmap(ubi->volumes[i]);
-@@ -1094,10 +1097,10 @@ int ubi_detach_mtd_dev(int ubi_num, int
+@@ -1095,10 +1098,10 @@ int ubi_detach_mtd_dev(int ubi_num, int
                return -EINVAL;
  
        spin_lock(&ubi_devices_lock);
@@ -123,7 +123,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                        spin_unlock(&ubi_devices_lock);
                        return -EBUSY;
                }
-@@ -1105,6 +1108,13 @@ int ubi_detach_mtd_dev(int ubi_num, int
+@@ -1106,6 +1109,13 @@ int ubi_detach_mtd_dev(int ubi_num, int
                ubi_err(ubi, "%s reference count %d, destroy anyway",
                        ubi->ubi_name, ubi->ref_count);
        }
index b46044f5d9f110bbfe5313d524e3e5fad358f644..2e5bcac653094bea035ba8357ebd36e3682c3787 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  #include "check.h"
  
  static int (*const check_part[])(struct parsed_partitions *) = {
-@@ -298,6 +300,43 @@ static ssize_t whole_disk_show(struct de
+@@ -292,6 +294,43 @@ static ssize_t whole_disk_show(struct de
  }
  static const DEVICE_ATTR(whole_disk, 0444, whole_disk_show, NULL);
  
@@ -66,7 +66,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  /*
   * Must be called either with open_mutex held, before a disk can be opened or
   * after all disk users are gone.
-@@ -380,6 +419,8 @@ static struct block_device *add_partitio
+@@ -374,6 +413,8 @@ static struct block_device *add_partitio
                        goto out_put;
        }
  
index 4cbec14f5c97f6ab5e1918a1728af3d880a3e002..8fc5cd636c950e8af3f43e93ae87962237993bcc 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/include/linux/blkdev.h
 +++ b/include/linux/blkdev.h
-@@ -87,11 +87,13 @@ struct partition_meta_info {
+@@ -80,11 +80,13 @@ struct partition_meta_info {
   * ``GENHD_FL_NO_PART``: partition support is disabled.  The kernel will not
   * scan for partitions from add_disk, and users can't add partitions manually.
   *
index d1972d97dc31a511552bed530c6cde438a2eb85c..d96477111c009b2c4c546493e213885adef3ad59 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/block/Kconfig
 +++ b/block/Kconfig
-@@ -203,6 +203,15 @@ config BLK_INLINE_ENCRYPTION_FALLBACK
+@@ -208,6 +208,15 @@ config BLK_INLINE_ENCRYPTION_FALLBACK
          by falling back to the kernel crypto API when inline
          encryption hardware is not present.
  
@@ -36,7 +36,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  config BLK_MQ_PCI
 --- a/block/Makefile
 +++ b/block/Makefile
-@@ -35,6 +35,7 @@ obj-$(CONFIG_BLK_DEV_ZONED)  += blk-zoned
+@@ -34,6 +34,7 @@ obj-$(CONFIG_BLK_DEV_ZONED)  += blk-zoned
  obj-$(CONFIG_BLK_WBT)         += blk-wbt.o
  obj-$(CONFIG_BLK_DEBUG_FS)    += blk-mq-debugfs.o
  obj-$(CONFIG_BLK_DEBUG_FS_ZONED)+= blk-mq-debugfs-zoned.o
index cfc43318caaa9da657feec3a48ec8553108bdf6f..ff0d9c395c56a3b92227d8043ab05f2ae01a77ef 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/mmc/core/bus.c
 +++ b/drivers/mmc/core/bus.c
-@@ -363,6 +363,8 @@ int mmc_add_card(struct mmc_card *card)
+@@ -364,6 +364,8 @@ int mmc_add_card(struct mmc_card *card)
  
        mmc_add_card_debugfs(card);
        card->dev.of_node = mmc_of_find_child_device(card->host, 0);
index e645855475090f309ce1eaf353492b26201fdd5b..27875b8c2c94beb9f2958374b29e15efdcf636a4 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/mmc/core/block.c
 +++ b/drivers/mmc/core/block.c
-@@ -2484,6 +2484,8 @@ static struct mmc_blk_data *mmc_blk_allo
+@@ -2461,6 +2461,8 @@ static struct mmc_blk_data *mmc_blk_allo
                                              int area_type,
                                              unsigned int part_type)
  {
@@ -23,7 +23,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        struct mmc_blk_data *md;
        int devidx, ret;
        char cap_str[10];
-@@ -2580,6 +2582,13 @@ static struct mmc_blk_data *mmc_blk_allo
+@@ -2557,6 +2559,13 @@ static struct mmc_blk_data *mmc_blk_allo
  
        blk_queue_write_cache(md->queue.queue, cache_enabled, fua_enabled);
  
index d76e7b2fe59ad0b9426a47fcdd0feb1fab958790..308910859bb41eb94732f69507af183add3a3f5e 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/mmc/core/block.c
 +++ b/drivers/mmc/core/block.c
-@@ -2538,6 +2538,7 @@ static struct mmc_blk_data *mmc_blk_allo
+@@ -2515,6 +2515,7 @@ static struct mmc_blk_data *mmc_blk_allo
        md->disk->major = MMC_BLOCK_MAJOR;
        md->disk->minors = perdev_minors;
        md->disk->first_minor = devidx * perdev_minors;
index 1b653fb735c9e8325fe855e8d8137bc2c1596540..2435133fa0b0e9f2ba1e8935910ab3e089617786 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -908,7 +908,7 @@ static int get_chip(struct map_info *map
+@@ -906,7 +906,7 @@ static int get_chip(struct map_info *map
                return 0;
  
        case FL_ERASING:
index f2788c5214083b0df896b10403cb592337078c31..059d9673dcb80e6da613053a07d3f80c269b0add 100644 (file)
@@ -7,7 +7,7 @@ Signed-off-by: George Kashperko <george@znau.edu.ua>
  1 file changed, 1 insertion(+)
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2052,6 +2052,7 @@ static int __xipram do_write_buffer(stru
+@@ -2050,6 +2050,7 @@ static int __xipram do_write_buffer(stru
  
        /* Write Buffer Load */
        map_write(map, CMD(0x25), cmd_adr);
index 0bed77b3b59069c6d43205b6439d52ae10068b76..09a508b29e836f198f3f176af32259e360ac2381 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/mtd/spi-nor/macronix.c
 +++ b/drivers/mtd/spi-nor/macronix.c
-@@ -115,6 +115,7 @@ static void macronix_nor_default_init(st
+@@ -114,6 +114,7 @@ static int macronix_nor_late_init(struct
  {
        if (!nor->params->set_4byte_addr_mode)
                nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode_en4b_ex4b;
index 371f1a72769412adfd9559eb79292ac640eeccd8..945f5baf1061c0fae038ecc5dd4719dd4c685a77 100644 (file)
@@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +};
 --- a/drivers/mtd/spi-nor/core.c
 +++ b/drivers/mtd/spi-nor/core.c
-@@ -1636,6 +1636,7 @@ static const struct spi_nor_manufacturer
+@@ -2017,6 +2017,7 @@ static const struct spi_nor_manufacturer
        &spi_nor_winbond,
        &spi_nor_xilinx,
        &spi_nor_xmc,
@@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static const struct flash_info spi_nor_generic_flash = {
 --- a/drivers/mtd/spi-nor/core.h
 +++ b/drivers/mtd/spi-nor/core.h
-@@ -633,6 +633,7 @@ extern const struct spi_nor_manufacturer
+@@ -647,6 +647,7 @@ extern const struct spi_nor_manufacturer
  extern const struct spi_nor_manufacturer spi_nor_winbond;
  extern const struct spi_nor_manufacturer spi_nor_xilinx;
  extern const struct spi_nor_manufacturer spi_nor_xmc;
index 2eccb9d3bbb513ec02d0b2f21f48995b09b71495..5a897d5d6f5506d9e103510ff89f7f9dd5af3022 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/mtd/ubi/build.c
 +++ b/drivers/mtd/ubi/build.c
-@@ -1263,6 +1263,74 @@ static struct mtd_notifier ubi_mtd_notif
+@@ -1264,6 +1264,74 @@ static struct mtd_notifier ubi_mtd_notif
        .remove = ubi_notify_remove,
  };
  
@@ -83,7 +83,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static int __init ubi_init_attach(void)
  {
        int err, i, k;
-@@ -1313,6 +1381,12 @@ static int __init ubi_init_attach(void)
+@@ -1314,6 +1382,12 @@ static int __init ubi_init_attach(void)
                }
        }
  
index a43da2a57259a96a23c59da1e3de97407a9af8ad..e0134e876a33dbfa03cd66acdd3dbfd13da10b0d 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/mtd/ubi/block.c
 +++ b/drivers/mtd/ubi/block.c
-@@ -644,10 +644,47 @@ match_volume_desc(struct ubi_volume_info
+@@ -609,10 +609,47 @@ match_volume_desc(struct ubi_volume_info
        return true;
  }
  
@@ -56,7 +56,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        struct ubiblock_param *p;
  
        /*
-@@ -660,6 +697,7 @@ ubiblock_create_from_param(struct ubi_vo
+@@ -625,6 +662,7 @@ ubiblock_create_from_param(struct ubi_vo
                if (!match_volume_desc(vi, p->name, p->ubi_num, p->vol_id))
                        continue;
  
@@ -64,7 +64,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                ret = ubiblock_create(vi);
                if (ret) {
                        pr_err(
-@@ -668,6 +706,10 @@ ubiblock_create_from_param(struct ubi_vo
+@@ -633,6 +671,10 @@ ubiblock_create_from_param(struct ubi_vo
                }
                break;
        }
index b63b333c478c81c491e2a4af7ec1403cc8d33d07..297789e5396b3e61cd41c783085389038a0cf99c 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/init/do_mounts.c
 +++ b/init/do_mounts.c
-@@ -446,7 +446,30 @@ retry:
+@@ -248,7 +248,30 @@ retry:
  out:
        put_page(page);
  }
@@ -40,7 +40,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  #ifdef CONFIG_ROOT_NFS
  
  #define NFSROOT_TIMEOUT_MIN   5
-@@ -408,6 +408,11 @@ void __init mount_root(void)
+@@ -385,6 +408,11 @@ static inline void mount_block_root(char
  
  void __init mount_root(char *root_device_name)
  {
index 16bdfdd4b5ac29eb8615905eb2f04c03584af8f1..788690088a3fff4b2127824cf02a792a57751395 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/mtd/ubi/block.c
 +++ b/drivers/mtd/ubi/block.c
-@@ -43,6 +43,7 @@
+@@ -42,6 +42,7 @@
  #include <linux/scatterlist.h>
  #include <linux/idr.h>
  #include <asm/div64.h>
@@ -16,7 +16,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
  #include "ubi-media.h"
  #include "ubi.h"
-@@ -460,6 +461,15 @@ int ubiblock_create(struct ubi_volume_in
+@@ -429,6 +430,15 @@ int ubiblock_create(struct ubi_volume_in
        dev_info(disk_to_dev(dev->gd), "created from ubi%d:%d(%s)",
                 dev->ubi_num, dev->vol_id, vi->name);
        mutex_unlock(&devices_mutex);
index e69eaf6bcc4ad1b87538d1a6a7be8819cae94ec2..ea580a90a00a7dc7a1f5ba258234448ab0527ed7 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Nick Hainke <vincent@systemli.org>
 
 --- a/drivers/mtd/spi-nor/macronix.c
 +++ b/drivers/mtd/spi-nor/macronix.c
-@@ -115,6 +115,7 @@ static void macronix_nor_default_init(st
+@@ -115,6 +115,7 @@ static int macronix_nor_late_init(struct
  {
        if (!nor->params->set_4byte_addr_mode)
                nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode_en4b_ex4b;
index 54234caf949651c9fdd77d5a9ce0e51b455e0b2d..c565350dc0bd65860b00368db9f265057c75c6c9 100644 (file)
@@ -36,7 +36,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -21052,6 +21052,12 @@ F:    Documentation/filesystems/ubifs-authe
+@@ -22006,6 +22006,12 @@ F:    Documentation/filesystems/ubifs-authe
  F:    Documentation/filesystems/ubifs.rst
  F:    fs/ubifs/
  
@@ -51,7 +51,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  L:    linux-block@vger.kernel.org
 --- a/drivers/block/Kconfig
 +++ b/drivers/block/Kconfig
-@@ -383,6 +383,18 @@ config VIRTIO_BLK
+@@ -354,6 +354,18 @@ config VIRTIO_BLK
          This is the virtual block driver for virtio.  It can be used with
            QEMU based VMMs (like KVM or Xen).  Say Y or M.
  
index e6ad1049818c687bce0506c84cadb9d12abdac4e..b2b7f5eb0c32cc5468448fc2bfb640c9901b10f0 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/init/do_mounts.c
 +++ b/init/do_mounts.c
-@@ -463,7 +463,8 @@ static dev_t __init parse_root_device(char
+@@ -463,7 +463,8 @@ static dev_t __init parse_root_device(ch
        int error;
        dev_t dev;
  
index 3e93c618393711d7a797fb190fd86950a9021d6c..3be6c8eb9db484aec00a0b23e3bb2291fab0030c 100644 (file)
@@ -85,7 +85,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
  exit_dynrubin:
        jffs2_dynrubin_exit();
  exit_runinmips:
-@@ -417,6 +422,7 @@ int __init jffs2_compressors_init(void)
+@@ -417,6 +422,7 @@ exit:
  int jffs2_compressors_exit(void)
  {
  /* Unregistering compressors */
@@ -1097,7 +1097,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
  #define JFFS2_NODE_ACCURATE 0x2000
 --- a/lib/Kconfig
 +++ b/lib/Kconfig
-@@ -354,6 +354,12 @@ config ZSTD_DECOMPRESS
+@@ -356,6 +356,12 @@ config ZSTD_DECOMPRESS
  
  source "lib/xz/Kconfig"
  
@@ -1112,7 +1112,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
  # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -140,6 +140,16 @@ CFLAGS_kobject.o += -DDEBUG
+@@ -145,6 +145,16 @@ CFLAGS_kobject.o += -DDEBUG
  CFLAGS_kobject_uevent.o += -DDEBUG
  endif
  
@@ -1129,7 +1129,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
  obj-$(CONFIG_DEBUG_INFO_REDUCED) += debug_info.o
  CFLAGS_debug_info.o += $(call cc-option, -femit-struct-debug-detailed=any)
  
-@@ -200,6 +210,8 @@ obj-$(CONFIG_ZSTD_COMPRESS) += zstd/
+@@ -205,6 +215,8 @@ obj-$(CONFIG_ZSTD_COMPRESS) += zstd/
  obj-$(CONFIG_ZSTD_DECOMPRESS) += zstd/
  obj-$(CONFIG_XZ_DEC) += xz/
  obj-$(CONFIG_RAID6_PQ) += raid6/
index d7548c14199789988c0bcad2d89fb5fa5133885d..f6c3783219fdaea2a45b7e96736a630ff6624552 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #include <net/net_namespace.h>
  #ifdef CONFIG_SYSCTL
  #include <linux/sysctl.h>
-@@ -465,6 +466,58 @@ static int ct_cpu_seq_show(struct seq_fi
+@@ -461,6 +462,58 @@ static int ct_cpu_seq_show(struct seq_fi
        return 0;
  }
  
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static const struct seq_operations ct_cpu_seq_ops = {
        .start  = ct_cpu_seq_start,
        .next   = ct_cpu_seq_next,
-@@ -478,8 +531,9 @@ static int nf_conntrack_standalone_init_
+@@ -474,8 +527,9 @@ static int nf_conntrack_standalone_init_
        kuid_t root_uid;
        kgid_t root_gid;
  
index 7e34ef37133c2f16d696db65eb20578b343e1c03..67dcf25a0d809d040e929141a2872a6b0e7a92a7 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #define IPT_INV_VIA_IN                0x01    /* Invert the sense of IN IFACE. */
 --- a/net/ipv4/netfilter/ip_tables.c
 +++ b/net/ipv4/netfilter/ip_tables.c
-@@ -50,6 +50,9 @@ ip_packet_match(const struct iphdr *ip,
+@@ -48,6 +48,9 @@ ip_packet_match(const struct iphdr *ip,
  {
        unsigned long ret;
  
@@ -29,7 +29,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (NF_INVF(ipinfo, IPT_INV_SRCIP,
                    (ip->saddr & ipinfo->smsk.s_addr) != ipinfo->src.s_addr) ||
            NF_INVF(ipinfo, IPT_INV_DSTIP,
-@@ -80,6 +83,29 @@ ip_packet_match(const struct iphdr *ip,
+@@ -78,6 +81,29 @@ ip_packet_match(const struct iphdr *ip,
        return true;
  }
  
@@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static bool
  ip_checkentry(const struct ipt_ip *ip)
  {
-@@ -525,6 +551,8 @@ find_check_entry(struct ipt_entry *e, st
+@@ -523,6 +549,8 @@ find_check_entry(struct ipt_entry *e, st
        struct xt_mtchk_param mtpar;
        struct xt_entry_match *ematch;
  
@@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (!xt_percpu_counter_alloc(alloc_state, &e->counters))
                return -ENOMEM;
  
-@@ -819,6 +847,7 @@ copy_entries_to_user(unsigned int total_
+@@ -817,6 +845,7 @@ copy_entries_to_user(unsigned int total_
        const struct xt_table_info *private = table->private;
        int ret = 0;
        const void *loc_cpu_entry;
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        counters = alloc_counters(table);
        if (IS_ERR(counters))
-@@ -846,6 +875,14 @@ copy_entries_to_user(unsigned int total_
+@@ -844,6 +873,14 @@ copy_entries_to_user(unsigned int total_
                        goto free_counters;
                }
  
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                for (i = sizeof(struct ipt_entry);
                     i < e->target_offset;
                     i += m->u.match_size) {
-@@ -1223,12 +1260,15 @@ compat_copy_entry_to_user(struct ipt_ent
+@@ -1221,12 +1258,15 @@ compat_copy_entry_to_user(struct ipt_ent
        compat_uint_t origsize;
        const struct xt_entry_match *ematch;
        int ret = 0;
index dd557fd3eaae32d2a48605032d01cce3369dc655..9f0efe4ec417ccb3006d39f73d0e2b64ba41d733 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/ipv4/netfilter/ip_tables.c
 +++ b/net/ipv4/netfilter/ip_tables.c
-@@ -246,6 +246,33 @@ struct ipt_entry *ipt_next_entry(const s
+@@ -244,6 +244,33 @@ struct ipt_entry *ipt_next_entry(const s
        return (void *)entry + entry->next_offset;
  }
  
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /* Returns one of the generic firewall policies, like NF_ACCEPT. */
  unsigned int
  ipt_do_table(void *priv,
-@@ -267,27 +294,28 @@ ipt_do_table(void *priv,
+@@ -265,27 +292,28 @@ ipt_do_table(void *priv,
        unsigned int addend;
  
        /* Initialization */
@@ -86,7 +86,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        jumpstack  = (struct ipt_entry **)private->jumpstack[cpu];
  
        /* Switch to alternate jumpstack if we're being invoked via TEE.
-@@ -300,7 +328,16 @@ ipt_do_table(void *priv,
+@@ -298,7 +326,16 @@ ipt_do_table(void *priv,
        if (static_key_false(&xt_tee_enabled))
                jumpstack += private->stacksize * __this_cpu_read(nf_skb_duplicated);
  
index 79da6778b684a56094bcddd334daa9660181d946..7f291fc0083bc8dcad2815837eb434f5423527e7 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/ipv4/netfilter/ip_tables.c
 +++ b/net/ipv4/netfilter/ip_tables.c
-@@ -53,9 +53,9 @@ ip_packet_match(const struct iphdr *ip,
+@@ -51,9 +51,9 @@ ip_packet_match(const struct iphdr *ip,
        if (ipinfo->flags & IPT_F_NO_DEF_MATCH)
                return true;
  
index f12a09e65fa9529818b899bba42b1c41aa72ef2d..02d6700af96bde263e8ea35e2975a80d3d97cc08 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  /* Packet socket options */
  
-@@ -59,6 +61,7 @@ struct sockaddr_ll {
+@@ -60,6 +62,7 @@ struct sockaddr_ll {
  #define PACKET_FANOUT_DATA            22
  #define PACKET_IGNORE_OUTGOING                23
  #define PACKET_VNET_HDR_SZ            24
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #define PACKET_FANOUT_LB              1
 --- a/net/packet/af_packet.c
 +++ b/net/packet/af_packet.c
-@@ -1866,6 +1866,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1864,6 +1864,7 @@ static int packet_rcv_spkt(struct sk_buf
  {
        struct sock *sk;
        struct sockaddr_pkt *spkt;
@@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        /*
         *      When we registered the protocol we saved the socket in the data
-@@ -1873,6 +1874,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1871,6 +1872,7 @@ static int packet_rcv_spkt(struct sk_buf
         */
  
        sk = pt->af_packet_priv;
@@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        /*
         *      Yank back the headers [hope the device set this
-@@ -1885,7 +1887,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1883,7 +1885,7 @@ static int packet_rcv_spkt(struct sk_buf
         *      so that this procedure is noop.
         */
  
@@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                goto out;
  
        if (!net_eq(dev_net(dev), sock_net(sk)))
-@@ -2131,12 +2133,12 @@ static int packet_rcv(struct sk_buff *sk
+@@ -2129,12 +2131,12 @@ static int packet_rcv(struct sk_buff *sk
        unsigned int snaplen, res;
        bool is_drop_n_account = false;
  
@@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
-@@ -2263,12 +2265,12 @@ static int tpacket_rcv(struct sk_buff *s
+@@ -2261,12 +2263,12 @@ static int tpacket_rcv(struct sk_buff *s
        BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
        BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
  
@@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
-@@ -3378,6 +3380,7 @@ static int packet_create(struct net *net
+@@ -3386,6 +3388,7 @@ static int packet_create(struct net *net
        mutex_init(&po->pg_vec_lock);
        po->rollover = NULL;
        po->prot_hook.func = packet_rcv;
@@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        if (sock->type == SOCK_PACKET)
                po->prot_hook.func = packet_rcv_spkt;
-@@ -4013,6 +4016,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -4035,6 +4038,16 @@ packet_setsockopt(struct socket *sock, i
                packet_sock_flag_set(po, PACKET_SOCK_QDISC_BYPASS, val);
                return 0;
        }
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        default:
                return -ENOPROTOOPT;
        }
-@@ -4069,6 +4082,13 @@ static int packet_getsockopt(struct sock
+@@ -4094,6 +4107,13 @@ static int packet_getsockopt(struct sock
        case PACKET_VNET_HDR_SZ:
                val = READ_ONCE(po->vnet_hdr_sz);
                break;
@@ -128,7 +128,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                break;
 --- a/net/packet/internal.h
 +++ b/net/packet/internal.h
-@@ -136,6 +136,7 @@ struct packet_sock {
+@@ -131,6 +131,7 @@ struct packet_sock {
        struct net_device __rcu *cached_dev;
        struct packet_type      prot_hook ____cacheline_aligned_in_smp;
        atomic_t                tp_drops ____cacheline_aligned_in_smp;
index 0c47bc9d2c3c02c0b58da64d0af7ac9bff946556..3e13511e8b405dae5ff9ee58c3ca07b1d4e4aec9 100644 (file)
@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -3006,7 +3006,7 @@ static inline int pskb_network_may_pull(
+@@ -3041,7 +3041,7 @@ static inline int pskb_network_may_pull(
   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
   */
  #ifndef NET_SKB_PAD
index b799c6fc9cb6a66a22dd39d36591b44a7f43c301..06126d65d393078fb8e3357da39804e7c2079317 100644 (file)
@@ -311,7 +311,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  /**
   * ip6_tnl_addr_conflict - compare packet addresses to tunnel's own
   *   @t: the outgoing tunnel device
-@@ -1293,6 +1441,7 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1292,6 +1440,7 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
                u8 protocol)
  {
        struct ip6_tnl *t = netdev_priv(dev);
@@ -319,7 +319,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        struct ipv6hdr *ipv6h;
        const struct iphdr  *iph;
        int encap_limit = -1;
-@@ -1392,6 +1541,18 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1391,6 +1540,18 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
        fl6.flowi6_uid = sock_net_uid(dev_net(dev), NULL);
        dsfield = INET_ECN_encapsulate(dsfield, orig_dsfield);
  
@@ -338,7 +338,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
                return -1;
  
-@@ -1545,6 +1706,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
+@@ -1543,6 +1704,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
        t->parms.link = p->link;
        t->parms.proto = p->proto;
        t->parms.fwmark = p->fwmark;
@@ -353,7 +353,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        dst_cache_reset(&t->dst_cache);
        ip6_tnl_link_config(t);
  }
-@@ -1579,6 +1748,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
+@@ -1577,6 +1746,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
        p->flowinfo = u->flowinfo;
        p->link = u->link;
        p->proto = u->proto;
@@ -361,7 +361,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        memcpy(p->name, u->name, sizeof(u->name));
  }
  
-@@ -1965,6 +2135,15 @@ static int ip6_tnl_validate(struct nlatt
+@@ -1963,6 +2133,15 @@ static int ip6_tnl_validate(struct nlatt
        return 0;
  }
  
@@ -377,7 +377,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  static void ip6_tnl_netlink_parms(struct nlattr *data[],
                                  struct __ip6_tnl_parm *parms)
  {
-@@ -2002,6 +2181,46 @@ static void ip6_tnl_netlink_parms(struct
+@@ -2000,6 +2179,46 @@ static void ip6_tnl_netlink_parms(struct
  
        if (data[IFLA_IPTUN_FWMARK])
                parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);
@@ -424,7 +424,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  }
  
  static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev,
-@@ -2085,6 +2304,12 @@ static void ip6_tnl_dellink(struct net_d
+@@ -2083,6 +2302,12 @@ static void ip6_tnl_dellink(struct net_d
  
  static size_t ip6_tnl_get_size(const struct net_device *dev)
  {
@@ -437,7 +437,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        return
                /* IFLA_IPTUN_LINK */
                nla_total_size(4) +
-@@ -2114,6 +2339,24 @@ static size_t ip6_tnl_get_size(const str
+@@ -2112,6 +2337,24 @@ static size_t ip6_tnl_get_size(const str
                nla_total_size(0) +
                /* IFLA_IPTUN_FWMARK */
                nla_total_size(4) +
@@ -462,7 +462,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
                0;
  }
  
-@@ -2121,6 +2364,9 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2119,6 +2362,9 @@ static int ip6_tnl_fill_info(struct sk_b
  {
        struct ip6_tnl *tunnel = netdev_priv(dev);
        struct __ip6_tnl_parm *parm = &tunnel->parms;
@@ -472,7 +472,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  
        if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
            nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
-@@ -2130,9 +2376,27 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2128,9 +2374,27 @@ static int ip6_tnl_fill_info(struct sk_b
            nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
            nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
            nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) ||
@@ -501,7 +501,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
            nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
            nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
-@@ -2172,6 +2436,7 @@ static const struct nla_policy ip6_tnl_p
+@@ -2170,6 +2434,7 @@ static const struct nla_policy ip6_tnl_p
        [IFLA_IPTUN_ENCAP_DPORT]        = { .type = NLA_U16 },
        [IFLA_IPTUN_COLLECT_METADATA]   = { .type = NLA_FLAG },
        [IFLA_IPTUN_FWMARK]             = { .type = NLA_U32 },
index 3ab023fdeb4096e02b4891e8548278a949dbb308..e09decca568f888be8b9806c6621f3bb0a14b311 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 
 --- a/include/net/netns/ipv6.h
 +++ b/include/net/netns/ipv6.h
-@@ -85,6 +85,7 @@ struct netns_ipv6 {
+@@ -86,6 +86,7 @@ struct netns_ipv6 {
        unsigned int            fib6_routes_require_src;
  #endif
        struct rt6_info         *ip6_prohibit_entry;
@@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static const struct rt6_info ip6_blk_hole_entry_template = {
        .dst = {
                .__rcuref       = RCUREF_INIT(1),
-@@ -1039,6 +1053,7 @@ static const int fib6_prop[RTN_MAX + 1]
+@@ -1037,6 +1051,7 @@ static const int fib6_prop[RTN_MAX + 1]
        [RTN_BLACKHOLE] = -EINVAL,
        [RTN_UNREACHABLE] = -EHOSTUNREACH,
        [RTN_PROHIBIT]  = -EACCES,
@@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        [RTN_THROW]     = -EAGAIN,
        [RTN_NAT]       = -EINVAL,
        [RTN_XRESOLVE]  = -EINVAL,
-@@ -1074,6 +1089,10 @@ static void ip6_rt_init_dst_reject(struc
+@@ -1072,6 +1087,10 @@ static void ip6_rt_init_dst_reject(struc
                rt->dst.output = ip6_pkt_prohibit_out;
                rt->dst.input = ip6_pkt_prohibit;
                break;
@@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        case RTN_THROW:
        case RTN_UNREACHABLE:
        default:
-@@ -4540,6 +4559,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -4539,6 +4558,17 @@ static int ip6_pkt_prohibit_out(struct n
        return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
  }
  
@@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  /*
   *    Allocate a dst for local (unicast / anycast) address.
   */
-@@ -5033,7 +5063,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -5030,7 +5060,8 @@ static int rtm_to_fib6_config(struct sk_
        if (rtm->rtm_type == RTN_UNREACHABLE ||
            rtm->rtm_type == RTN_BLACKHOLE ||
            rtm->rtm_type == RTN_PROHIBIT ||
@@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                cfg->fc_flags |= RTF_REJECT;
  
        if (rtm->rtm_type == RTN_LOCAL)
-@@ -6287,6 +6318,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6284,6 +6315,8 @@ static int ip6_route_dev_notify(struct n
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                net->ipv6.ip6_prohibit_entry->dst.dev = dev;
                net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
                net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
-@@ -6298,6 +6331,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6295,6 +6328,7 @@ static int ip6_route_dev_notify(struct n
                in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
  #endif
        }
-@@ -6489,6 +6523,8 @@ static int __net_init ip6_route_net_init
+@@ -6495,6 +6529,8 @@ static int __net_init ip6_route_net_init
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
        net->ipv6.fib6_has_custom_rules = false;
@@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
                                               sizeof(*net->ipv6.ip6_prohibit_entry),
                                               GFP_KERNEL);
-@@ -6499,11 +6535,21 @@ static int __net_init ip6_route_net_init
+@@ -6505,11 +6541,21 @@ static int __net_init ip6_route_net_init
                         ip6_template_metrics, true);
        INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->dst.rt_uncached);
  
@@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
        dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
                         ip6_template_metrics, true);
-@@ -6530,6 +6576,8 @@ out:
+@@ -6536,6 +6582,8 @@ out:
        return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  out_ip6_prohibit_entry:
        kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -6549,6 +6597,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6555,6 +6603,7 @@ static void __net_exit ip6_route_net_exi
        kfree(net->ipv6.ip6_null_entry);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
        kfree(net->ipv6.ip6_prohibit_entry);
@@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        kfree(net->ipv6.ip6_blk_hole_entry);
  #endif
        dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6632,6 +6681,9 @@ void __init ip6_route_init_special_entri
+@@ -6638,6 +6687,9 @@ void __init ip6_route_init_special_entri
        init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
        init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
        init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
index 26836240ee066f06edbdb07fd29e14439650a3bf..af38c107ee56b8366cd87dab3c936dfff842a186 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -2157,6 +2157,8 @@ struct net_device {
+@@ -2210,6 +2210,8 @@ struct net_device {
        struct netdev_hw_addr_list      mc;
        struct netdev_hw_addr_list      dev_addrs;
  
@@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #endif
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -972,6 +972,7 @@ struct sk_buff {
+@@ -964,6 +964,7 @@ struct sk_buff {
  #ifdef CONFIG_IPV6_NDISC_NODETYPE
        __u8                    ndisc_nodetype:2;
  #endif
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        __u8                    ipvs_property:1;
 --- a/net/core/gro.c
 +++ b/net/core/gro.c
-@@ -491,6 +491,9 @@ static enum gro_result dev_gro_receive(s
+@@ -445,6 +445,9 @@ static enum gro_result dev_gro_receive(s
        enum gro_result ret;
        int same_flow;
  
@@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -7625,6 +7625,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7686,6 +7686,48 @@ static void __netdev_adjacent_dev_unlink
                                           &upper_dev->adj_list.lower);
  }
  
@@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static int __netdev_upper_dev_link(struct net_device *dev,
                                   struct net_device *upper_dev, bool master,
                                   void *upper_priv, void *upper_info,
-@@ -7676,6 +7718,7 @@ static int __netdev_upper_dev_link(struc
+@@ -7737,6 +7779,7 @@ static int __netdev_upper_dev_link(struc
        if (ret)
                return ret;
  
@@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
                                            &changeupper_info.info);
        ret = notifier_to_errno(ret);
-@@ -7772,6 +7815,7 @@ static void __netdev_upper_dev_unlink(st
+@@ -7833,6 +7876,7 @@ static void __netdev_upper_dev_unlink(st
  
        __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
  
@@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
                                      &changeupper_info.info);
  
-@@ -8821,6 +8865,7 @@ int dev_set_mac_address(struct net_devic
+@@ -8889,6 +8933,7 @@ int dev_set_mac_address(struct net_devic
                        return err;
        }
        dev->addr_assign_type = NET_ADDR_SET;
index 9e81cb1f2775e5b7bbc8a30ce17322866706eba6..0fb02dbb67382ff622d0e9026a20023f06c18aa4 100644 (file)
@@ -17,7 +17,7 @@ property. This way, the MAC address can be accessed using procfs.
 
 --- a/net/core/of_net.c
 +++ b/net/core/of_net.c
-@@ -95,6 +95,27 @@ static int of_get_mac_addr_nvmem(struct
+@@ -97,6 +97,27 @@ int of_get_mac_address_nvmem(struct devi
  }
  EXPORT_SYMBOL(of_get_mac_address_nvmem);
  
@@ -45,7 +45,7 @@ property. This way, the MAC address can be accessed using procfs.
  /**
   * of_get_mac_address()
   * @np:               Caller's Device Node
-@@ -130,17 +151,23 @@ int of_get_mac_address(struct device_nod
+@@ -132,17 +153,23 @@ int of_get_mac_address(struct device_nod
  
        ret = of_get_mac_addr(np, "mac-address", addr);
        if (!ret)
index b335748705db763f52c318e83090355e2e8efe1a..6b93f47772e13ba0194883245920e4dbf9e49702 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
 
 --- a/net/netfilter/nf_flow_table_core.c
 +++ b/net/netfilter/nf_flow_table_core.c
-@@ -659,6 +659,23 @@ static struct pernet_operations nf_flow_
+@@ -662,6 +662,23 @@ static struct pernet_operations nf_flow_
        .exit_batch = nf_flow_table_pernet_exit,
  };
  
@@ -34,7 +34,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  static int __init nf_flow_table_module_init(void)
  {
        int ret;
-@@ -671,8 +688,14 @@ static int __init nf_flow_table_module_i
+@@ -674,8 +691,14 @@ static int __init nf_flow_table_module_i
        if (ret)
                goto out_offload;
  
@@ -49,7 +49,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  out_offload:
        unregister_pernet_subsys(&nf_flow_table_net_ops);
        return ret;
-@@ -680,6 +703,7 @@ out_offload:
+@@ -683,6 +706,7 @@ out_offload:
  
  static void __exit nf_flow_table_module_exit(void)
  {
@@ -59,7 +59,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  }
 --- a/net/netfilter/nft_flow_offload.c
 +++ b/net/netfilter/nft_flow_offload.c
-@@ -479,47 +479,14 @@ static struct nft_expr_type nft_flow_off
+@@ -480,47 +480,14 @@ static struct nft_expr_type nft_flow_off
        .owner          = THIS_MODULE,
  };
  
index 757c0b24498ea609a6830135bef3d0f4827131ca..cc37180277c8db10f24ced0a08cd369d1942ed32 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
-@@ -7911,7 +7911,7 @@ static int nft_register_flowtable_net_ho
+@@ -8213,7 +8213,7 @@ static int nft_register_flowtable_net_ho
                err = flowtable->data.type->setup(&flowtable->data,
                                                  hook->ops.dev,
                                                  FLOW_BLOCK_BIND);
index 842fef3a9c5b3f2a9bc6525a931f11a08140702c..b074f546c50b3a2669714504d0fef7bbae34eebc 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -4941,6 +4941,8 @@ static int mtk_probe(struct platform_dev
+@@ -4982,6 +4982,8 @@ static int mtk_probe(struct platform_dev
         * for NAPI to work
         */
        init_dummy_netdev(&eth->dummy_dev);
index 61dd11727f40e544b678a928cfef84f5a210d4b1..5166dd2115318dc351ff726ef9c0983e659eb035 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -1753,6 +1753,9 @@ void phy_detach(struct phy_device *phyde
+@@ -1900,6 +1900,9 @@ void phy_detach(struct phy_device *phyde
        if (phydev->devlink)
                device_link_del(phydev->devlink);
  
@@ -23,7 +23,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
                        sysfs_remove_link(&dev->dev.kobj, "phydev");
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
-@@ -900,6 +900,12 @@ struct phy_driver {
+@@ -976,6 +976,12 @@ struct phy_driver {
        /** @handle_interrupt: Override default interrupt handling */
        irqreturn_t (*handle_interrupt)(struct phy_device *phydev);
  
index d444b2027cb46287a08a8deba25d03ddab3a446c..f7e4e777732a81f3950e403ed7bf939fb2fc5322 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/dsa/tag_mtk.c
 +++ b/net/dsa/tag_mtk.c
-@@ -27,6 +27,13 @@ static struct sk_buff *mtk_tag_xmit(stru
+@@ -29,6 +29,13 @@ static struct sk_buff *mtk_tag_xmit(stru
  
        skb_set_queue_mapping(skb, dp->index);
  
index 85e42d5a94b1c0694a70cda6417acc9e8633e9f9..05711780f50180efd7fd6c7df8b45d04b652e6fe 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/if_bridge.h
 +++ b/include/linux/if_bridge.h
-@@ -59,6 +59,7 @@ struct br_ip_list {
+@@ -61,6 +61,7 @@ struct br_ip_list {
  #define BR_PORT_LOCKED                BIT(21)
  #define BR_PORT_MAB           BIT(22)
  #define BR_NEIGH_VLAN_SUPPRESS        BIT(23)
@@ -24,7 +24,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/bridge/br_forward.c
 +++ b/net/bridge/br_forward.c
-@@ -199,6 +199,7 @@ out:
+@@ -201,6 +201,7 @@ void br_flood(struct net_bridge *br, str
              enum br_pkt_type pkt_type, bool local_rcv, bool local_orig,
              u16 vid)
  {
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        struct net_bridge_port *prev = NULL;
        struct net_bridge_port *p;
  
-@@ -214,6 +215,10 @@ void br_flood(struct net_bridge *br, str
+@@ -218,6 +219,10 @@ void br_flood(struct net_bridge *br, str
                case BR_PKT_MULTICAST:
                        if (!(p->flags & BR_MCAST_FLOOD) && skb->dev != br->dev)
                                continue;
@@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        if (!(p->flags & BR_BCAST_FLOOD) && skb->dev != br->dev)
 --- a/net/bridge/br_input.c
 +++ b/net/bridge/br_input.c
-@@ -344,6 +344,8 @@ static rx_handler_result_t br_handle_fra
+@@ -362,6 +362,8 @@ static rx_handler_result_t br_handle_fra
                fwd_mask |= p->group_fwd_mask;
                switch (dest[5]) {
                case 0x00:      /* Bridge Group Address */
@@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/include/uapi/linux/if_link.h
 +++ b/include/uapi/linux/if_link.h
-@@ -561,6 +561,7 @@ enum {
+@@ -571,6 +571,7 @@ enum {
        IFLA_BRPORT_MCAST_MAX_GROUPS,
        IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
        IFLA_BRPORT_BACKUP_NHID,
@@ -116,7 +116,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
 --- a/net/bridge/br_netlink.c
 +++ b/net/bridge/br_netlink.c
-@@ -188,6 +188,7 @@ static inline size_t br_port_info_size(v
+@@ -190,6 +190,7 @@ static inline size_t br_port_info_size(v
                + nla_total_size(1)     /* IFLA_BRPORT_LOCKED */
                + nla_total_size(1)     /* IFLA_BRPORT_MAB */
                + nla_total_size(1)     /* IFLA_BRPORT_NEIGH_VLAN_SUPPRESS */
@@ -124,7 +124,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                + nla_total_size(sizeof(struct ifla_bridge_id)) /* IFLA_BRPORT_ROOT_ID */
                + nla_total_size(sizeof(struct ifla_bridge_id)) /* IFLA_BRPORT_BRIDGE_ID */
                + nla_total_size(sizeof(u16))   /* IFLA_BRPORT_DESIGNATED_PORT */
-@@ -274,7 +275,8 @@ static int br_port_fill_attrs(struct sk_
+@@ -282,7 +283,8 @@ static int br_port_fill_attrs(struct sk_
            nla_put_u8(skb, IFLA_BRPORT_LOCKED, !!(p->flags & BR_PORT_LOCKED)) ||
            nla_put_u8(skb, IFLA_BRPORT_MAB, !!(p->flags & BR_PORT_MAB)) ||
            nla_put_u8(skb, IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
@@ -134,7 +134,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                return -EMSGSIZE;
  
        timerval = br_timer_value(&p->message_age_timer);
-@@ -878,6 +880,7 @@ static const struct nla_policy br_port_p
+@@ -901,6 +903,7 @@ static const struct nla_policy br_port_p
        [IFLA_BRPORT_MCAST_MAX_GROUPS] = { .type = NLA_U32 },
        [IFLA_BRPORT_NEIGH_VLAN_SUPPRESS] = NLA_POLICY_MAX(NLA_U8, 1),
        [IFLA_BRPORT_BACKUP_NHID] = { .type = NLA_U32 },
@@ -142,7 +142,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  };
  
  /* Change the state of the port and notify spanning tree */
-@@ -943,6 +946,7 @@ static int br_setport(struct net_bridge_
+@@ -969,6 +972,7 @@ static int br_setport(struct net_bridge_
        br_set_port_flag(p, tb, IFLA_BRPORT_MAB, BR_PORT_MAB);
        br_set_port_flag(p, tb, IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
                         BR_NEIGH_VLAN_SUPPRESS);
@@ -152,7 +152,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
            (!(p->flags & BR_PORT_LOCKED) || !(p->flags & BR_LEARNING))) {
 --- a/net/core/rtnetlink.c
 +++ b/net/core/rtnetlink.c
-@@ -57,7 +57,7 @@
+@@ -61,7 +61,7 @@
  #include "dev.h"
  
  #define RTNL_MAX_TYPE         50
@@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  struct rtnl_link {
        rtnl_doit_func          doit;
-@@ -4840,7 +4840,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
+@@ -4949,7 +4949,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
            brport_nla_put_flag(skb, flags, mask,
                                IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) ||
            brport_nla_put_flag(skb, flags, mask,
index 629b141572dbc7aefaf5a864a806a692fa825acb..3197aea0914b36d034229d293137c166e1eb3210 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -2015,6 +2015,8 @@ static const struct dsa_switch_ops qca8k
+@@ -2012,6 +2012,8 @@ static const struct dsa_switch_ops qca8k
        .port_fdb_add           = qca8k_port_fdb_add,
        .port_fdb_del           = qca8k_port_fdb_del,
        .port_fdb_dump          = qca8k_port_fdb_dump,
index 24243468a8fa83d5ce59086e23a0f14219427e55..b1d9f84cfe553c93d75da986b3986f7eda0d191a 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -1904,15 +1904,12 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -1901,15 +1901,12 @@ qca8k_setup(struct dsa_switch *ds)
                }
        }
  
index 8a58e0f76e0e610c8e4e142898d0519bb64c542b..9b553e77cde569b9914b1d295cbbd7669e7d006f 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -1741,6 +1741,117 @@ qca8k_get_tag_protocol(struct dsa_switch
+@@ -1738,6 +1738,117 @@ qca8k_get_tag_protocol(struct dsa_switch
        return DSA_TAG_PROTO_QCA;
  }
  
@@ -144,7 +144,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  static void
  qca8k_master_change(struct dsa_switch *ds, const struct net_device *master,
                    bool operational)
-@@ -2027,8 +2138,9 @@ static const struct dsa_switch_ops qca8k
+@@ -2024,8 +2135,9 @@ static const struct dsa_switch_ops qca8k
        .phylink_mac_link_down  = qca8k_phylink_mac_link_down,
        .phylink_mac_link_up    = qca8k_phylink_mac_link_up,
        .get_phy_flags          = qca8k_get_phy_flags,
index 23816fe3660cde5c1eced86ad1a6d03998e92a7e..18afa1c0725170d7e31668865bd400dc2448c18b 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -2013,6 +2013,12 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -2010,6 +2010,12 @@ qca8k_setup(struct dsa_switch *ds)
                        dev_err(priv->dev, "failed enabling QCA header mode on port %d", dp->index);
                        return ret;
                }
@@ -33,7 +33,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
        }
  
        /* Forward all unknown frames to CPU port for Linux processing */
-@@ -2042,11 +2048,6 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -2039,11 +2045,6 @@ qca8k_setup(struct dsa_switch *ds)
                if (ret)
                        return ret;
  
@@ -45,7 +45,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
                /* For port based vlans to work we need to set the
                 * default egress vid
                 */
-@@ -2098,6 +2099,9 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -2095,6 +2096,9 @@ qca8k_setup(struct dsa_switch *ds)
        /* Set max number of LAGs supported */
        ds->num_lag_ids = QCA8K_NUM_LAGS;
  
index 55f116ec5f2c3d0357db16a735dea7158bcad10f..74cce9838184e507f54321f506cdabd725f4ec7b 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
-@@ -263,6 +263,8 @@
+@@ -275,6 +275,8 @@
                        clocks = <&gcc GCC_MDIO_AHB_CLK>;
                        clock-names = "gcc_mdio_ahb_clk";
  
index ed13b004e4ecf08d552dc24e0ffb4dcbf64d1735..7e9b3660d5e6f18fbfc91401a331cdb632ea164f 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
 
 --- a/drivers/net/phy/realtek.c
 +++ b/drivers/net/phy/realtek.c
-@@ -53,6 +53,15 @@
+@@ -54,6 +54,15 @@
                                                 RTL8201F_ISR_LINK)
  #define RTL8201F_IER                          0x13
  
@@ -39,7 +39,7 @@ Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
  #define RTL8366RB_POWER_SAVE                  0x15
  #define RTL8366RB_POWER_SAVE_ON                       BIT(12)
  
-@@ -851,6 +860,48 @@ static irqreturn_t rtl9000a_handle_inter
+@@ -879,6 +888,48 @@ static irqreturn_t rtl9000a_handle_inter
        return IRQ_HANDLED;
  }
  
@@ -88,7 +88,7 @@ Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
  static struct phy_driver realtek_drvs[] = {
        {
                PHY_ID_MATCH_EXACT(0x00008201),
-@@ -1003,6 +1054,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1033,6 +1084,7 @@ static struct phy_driver realtek_drvs[]
                PHY_ID_MATCH_EXACT(0x001cc849),
                .name           = "RTL8221B-VB-CG 2.5Gbps PHY",
                .get_features   = rtl822x_get_features,
@@ -96,7 +96,7 @@ Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
                .config_aneg    = rtl822x_config_aneg,
                .read_status    = rtl822x_read_status,
                .suspend        = genphy_suspend,
-@@ -1014,6 +1066,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1044,6 +1096,7 @@ static struct phy_driver realtek_drvs[]
                .name           = "RTL8221B-VM-CG 2.5Gbps PHY",
                .get_features   = rtl822x_get_features,
                .config_aneg    = rtl822x_config_aneg,
index abe31e66afe9ed098a80fbafbec1ce2173318d2e..58bd25919891baa9fd328ec04420a6e62504d649 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
 
 --- a/drivers/net/phy/realtek.c
 +++ b/drivers/net/phy/realtek.c
-@@ -686,6 +686,25 @@ static int rtl822x_config_aneg(struct ph
+@@ -714,6 +714,25 @@ static int rtl822x_config_aneg(struct ph
        return __genphy_config_aneg(phydev, ret);
  }
  
@@ -42,7 +42,7 @@ Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
  static int rtl822x_read_status(struct phy_device *phydev)
  {
        int ret;
-@@ -704,11 +723,14 @@ static int rtl822x_read_status(struct ph
+@@ -732,11 +751,14 @@ static int rtl822x_read_status(struct ph
                        phydev->lp_advertising, lpadv & RTL_LPADV_2500FULL);
        }
  
index a18d1ad7173fe0a73dce3ef5109a5d1f5eea4f3f..4ab8e24f994250fe18c9e9138970b4894b0c6238 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
 
 --- a/drivers/net/dsa/mt7530.c
 +++ b/drivers/net/dsa/mt7530.c
-@@ -2252,6 +2252,10 @@ mt7530_setup(struct dsa_switch *ds)
+@@ -2268,6 +2268,10 @@ mt7530_setup(struct dsa_switch *ds)
                return -ENODEV;
        }
  
index 8e0e4b1fdd43fefd7a81347d45f1802eca454ac6..8efedd3a116fd216a84d72a135a5070edeed0247 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/net/phy/realtek.c
 +++ b/drivers/net/phy/realtek.c
-@@ -1040,6 +1040,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1070,6 +1070,7 @@ static struct phy_driver realtek_drvs[]
                .write_page     = rtl821x_write_page,
                .read_mmd       = rtl822x_read_mmd,
                .write_mmd      = rtl822x_write_mmd,
@@ -23,7 +23,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        }, {
                PHY_ID_MATCH_EXACT(0x001cc840),
                .name           = "RTL8226B_RTL8221B 2.5Gbps PHY",
-@@ -1052,6 +1053,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1082,6 +1083,7 @@ static struct phy_driver realtek_drvs[]
                .write_page     = rtl821x_write_page,
                .read_mmd       = rtl822x_read_mmd,
                .write_mmd      = rtl822x_write_mmd,
@@ -31,7 +31,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        }, {
                PHY_ID_MATCH_EXACT(0x001cc838),
                .name           = "RTL8226-CG 2.5Gbps PHY",
-@@ -1062,6 +1064,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1092,6 +1094,7 @@ static struct phy_driver realtek_drvs[]
                .resume         = rtlgen_resume,
                .read_page      = rtl821x_read_page,
                .write_page     = rtl821x_write_page,
@@ -39,7 +39,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        }, {
                PHY_ID_MATCH_EXACT(0x001cc848),
                .name           = "RTL8226B-CG_RTL8221B-CG 2.5Gbps PHY",
-@@ -1072,6 +1075,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1102,6 +1105,7 @@ static struct phy_driver realtek_drvs[]
                .resume         = rtlgen_resume,
                .read_page      = rtl821x_read_page,
                .write_page     = rtl821x_write_page,
@@ -47,7 +47,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        }, {
                PHY_ID_MATCH_EXACT(0x001cc849),
                .name           = "RTL8221B-VB-CG 2.5Gbps PHY",
-@@ -1083,6 +1087,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1113,6 +1117,7 @@ static struct phy_driver realtek_drvs[]
                .resume         = rtlgen_resume,
                .read_page      = rtl821x_read_page,
                .write_page     = rtl821x_write_page,
@@ -55,7 +55,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        }, {
                PHY_ID_MATCH_EXACT(0x001cc84a),
                .name           = "RTL8221B-VM-CG 2.5Gbps PHY",
-@@ -1094,6 +1099,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1124,6 +1129,7 @@ static struct phy_driver realtek_drvs[]
                .resume         = rtlgen_resume,
                .read_page      = rtl821x_read_page,
                .write_page     = rtl821x_write_page,
index babaa47aedcd90534a99b33c8be62bc959f192bd..43cf35ab77227f0130b1bcc5b9c11136693cbb51 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/net/phy/realtek.c
 +++ b/drivers/net/phy/realtek.c
-@@ -885,6 +885,7 @@ static irqreturn_t rtl9000a_handle_inter
+@@ -913,6 +913,7 @@ static irqreturn_t rtl9000a_handle_inter
  static int rtl8221b_config_init(struct phy_device *phydev)
  {
        u16 option_mode;
@@ -27,7 +27,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
        switch (phydev->interface) {
        case PHY_INTERFACE_MODE_2500BASEX:
-@@ -921,6 +922,13 @@ static int rtl8221b_config_init(struct p
+@@ -949,6 +950,13 @@ static int rtl8221b_config_init(struct p
                break;
        }
  
index 6e338d94741e4b880ea509cf4894bdb92ce33d89..be86a774ea7c7b259ba043e13d45bfc644cea297 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/net/phy/realtek.c
 +++ b/drivers/net/phy/realtek.c
-@@ -737,9 +737,11 @@ static bool rtlgen_supports_2_5gbps(stru
+@@ -765,9 +765,11 @@ static bool rtlgen_supports_2_5gbps(stru
  {
        int val;
  
index cafaefd3bf9bb04bd8e409193fd197d1a39afe41..e6cbfbe64938997c3e4545de13f6af564160d2b0 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/net/phy/realtek.c
 +++ b/drivers/net/phy/realtek.c
-@@ -68,10 +68,6 @@
+@@ -69,10 +69,6 @@
  #define RTL_SUPPORTS_5000FULL                 BIT(14)
  #define RTL_SUPPORTS_2500FULL                 BIT(13)
  #define RTL_SUPPORTS_10000FULL                        BIT(0)
@@ -25,7 +25,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
  #define RTL9000A_GINMR                                0x14
  #define RTL9000A_GINMR_LINK_STATUS            BIT(4)
-@@ -671,14 +667,11 @@ static int rtl822x_config_aneg(struct ph
+@@ -699,14 +695,11 @@ static int rtl822x_config_aneg(struct ph
        int ret = 0;
  
        if (phydev->autoneg == AUTONEG_ENABLE) {
@@ -44,7 +44,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                if (ret < 0)
                        return ret;
        }
-@@ -715,12 +708,7 @@ static int rtl822x_read_status(struct ph
+@@ -743,12 +736,7 @@ static int rtl822x_read_status(struct ph
                if (lpadv < 0)
                        return lpadv;
  
index 8be1af6e505d1bafda707f04be8f1d5096fa9b58..329415bab5148cd0699b598d08133e9981a2baf7 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/net/phy/realtek.c
 +++ b/drivers/net/phy/realtek.c
-@@ -708,6 +708,10 @@ static int rtl822x_read_status(struct ph
+@@ -736,6 +736,10 @@ static int rtl822x_read_status(struct ph
                if (lpadv < 0)
                        return lpadv;
  
index 92e7a8742af7fb2172611799835e4a6b1f3e1484..7098fa6b286d3b5721e27187ee543835c090fb0d 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/net/phy/realtek.c
 +++ b/drivers/net/phy/realtek.c
-@@ -62,6 +62,10 @@
+@@ -63,6 +63,10 @@
  #define RTL8221B_SERDES_OPTION_MODE_2500BASEX         2
  #define RTL8221B_SERDES_OPTION_MODE_HISGMII           3
  
@@ -24,7 +24,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  #define RTL8366RB_POWER_SAVE                  0x15
  #define RTL8366RB_POWER_SAVE_ON                       BIT(12)
  
-@@ -750,6 +754,25 @@ static int rtl8226_match_phy_device(stru
+@@ -778,6 +782,25 @@ static int rtl8226_match_phy_device(stru
               rtlgen_supports_2_5gbps(phydev);
  }
  
@@ -50,7 +50,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static int rtlgen_resume(struct phy_device *phydev)
  {
        int ret = genphy_resume(phydev);
-@@ -1061,6 +1084,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1091,6 +1114,7 @@ static struct phy_driver realtek_drvs[]
                .name           = "RTL8226-CG 2.5Gbps PHY",
                .get_features   = rtl822x_get_features,
                .config_aneg    = rtl822x_config_aneg,
@@ -58,7 +58,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                .read_status    = rtl822x_read_status,
                .suspend        = genphy_suspend,
                .resume         = rtlgen_resume,
-@@ -1072,6 +1096,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1102,6 +1126,7 @@ static struct phy_driver realtek_drvs[]
                .name           = "RTL8226B-CG_RTL8221B-CG 2.5Gbps PHY",
                .get_features   = rtl822x_get_features,
                .config_aneg    = rtl822x_config_aneg,
@@ -66,7 +66,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                .read_status    = rtl822x_read_status,
                .suspend        = genphy_suspend,
                .resume         = rtlgen_resume,
-@@ -1084,6 +1109,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1114,6 +1139,7 @@ static struct phy_driver realtek_drvs[]
                .get_features   = rtl822x_get_features,
                .config_init    = rtl8221b_config_init,
                .config_aneg    = rtl822x_config_aneg,
@@ -74,7 +74,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                .read_status    = rtl822x_read_status,
                .suspend        = genphy_suspend,
                .resume         = rtlgen_resume,
-@@ -1096,6 +1122,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1126,6 +1152,7 @@ static struct phy_driver realtek_drvs[]
                .get_features   = rtl822x_get_features,
                .config_aneg    = rtl822x_config_aneg,
                .config_init    = rtl8221b_config_init,
index 32d81d56f873a7889d5035705cf685f7aef4783c..2a8e742a7408838a2b8f4daba3db23ecd24f760e 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/drivers/net/phy/realtek.c
 +++ b/drivers/net/phy/realtek.c
-@@ -754,6 +754,38 @@ static int rtl8226_match_phy_device(stru
+@@ -782,6 +782,38 @@ static int rtl8226_match_phy_device(stru
               rtlgen_supports_2_5gbps(phydev);
  }
  
@@ -52,7 +52,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static int rtl822x_probe(struct phy_device *phydev)
  {
        struct device *dev = &phydev->mdio.dev;
-@@ -1104,7 +1136,7 @@ static struct phy_driver realtek_drvs[]
+@@ -1134,7 +1166,7 @@ static struct phy_driver realtek_drvs[]
                .write_page     = rtl821x_write_page,
                .soft_reset     = genphy_soft_reset,
        }, {
index a7a4bafbb695f68662bb6e92c85b3c6ea9f9cfa5..f92f60f3499420c1ac5597ebc3d44cb7b151a751 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -2192,7 +2192,7 @@ struct net_device {
+@@ -2245,7 +2245,7 @@ struct net_device {
  #if IS_ENABLED(CONFIG_AX25)
        void                    *ax25_ptr;
  #endif
@@ -28,7 +28,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  #if IS_ENABLED(CONFIG_IEEE802154) || IS_ENABLED(CONFIG_6LOWPAN)
 --- a/net/batman-adv/hard-interface.c
 +++ b/net/batman-adv/hard-interface.c
-@@ -308,7 +308,7 @@ static bool batadv_is_cfg80211_netdev(st
+@@ -309,7 +309,7 @@ static bool batadv_is_cfg80211_netdev(st
        if (!net_device)
                return false;
  
index 17c7d92ce08eb3ec7a332bbee6e9ed16cd945694..e4b7070cbef208e0732c71da9173f343f8147ce4 100644 (file)
@@ -22,9 +22,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #include <net/dst_metadata.h>
 +#include <net/gso.h>
  #include <net/page_pool/helpers.h>
-
  #include "mtk_eth_soc.h"
-@@ -1562,12 +1562,28 @@ static void mtk_wake_queue(struct mtk_et
+@@ -1579,12 +1580,28 @@ static void mtk_wake_queue(struct mtk_et
        }
  }
  
@@ -53,7 +53,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        bool gso = false;
        int tx_num;
  
-@@ -1589,6 +1605,18 @@ static netdev_tx_t mtk_start_xmit(struct
+@@ -1606,6 +1623,18 @@ static netdev_tx_t mtk_start_xmit(struct
                return NETDEV_TX_BUSY;
        }
  
@@ -72,7 +72,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        /* TSO: fill MSS info in tcp checksum field */
        if (skb_is_gso(skb)) {
                if (skb_cow_head(skb, 0)) {
-@@ -1604,8 +1632,14 @@ static netdev_tx_t mtk_start_xmit(struct
+@@ -1621,8 +1650,14 @@ static netdev_tx_t mtk_start_xmit(struct
                }
        }
  
index afe561ab31f5cf6c082557154b21c6555e283563..c9cd726aca3c4729dd287824ccac6b3decf4d13a 100644 (file)
@@ -205,7 +205,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        return mtk_eth_mux_setup(eth, path);
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -21,6 +21,8 @@
+@@ -22,6 +22,8 @@
  #include <linux/pinctrl/devinfo.h>
  #include <linux/phylink.h>
  #include <linux/pcs/pcs-mtk-lynxi.h>
@@ -214,7 +214,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  #include <linux/jhash.h>
  #include <linux/bitfield.h>
  #include <net/dsa.h>
-@@ -258,12 +260,8 @@ static const char * const mtk_clks_sourc
+@@ -261,12 +263,8 @@ static const char * const mtk_clks_sourc
        "ethwarp_wocpu2",
        "ethwarp_wocpu1",
        "ethwarp_wocpu0",
@@ -227,7 +227,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        "top_eth_gmii_sel",
        "top_eth_refck_50m_sel",
        "top_eth_sys_200m_sel",
-@@ -475,6 +473,30 @@ static void mtk_setup_bridge_switch(stru
+@@ -509,6 +507,30 @@ static void mtk_setup_bridge_switch(stru
                MTK_GSW_CFG);
  }
  
@@ -258,7 +258,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static struct phylink_pcs *mtk_mac_select_pcs(struct phylink_config *config,
                                              phy_interface_t interface)
  {
-@@ -483,6 +505,21 @@ static struct phylink_pcs *mtk_mac_selec
+@@ -517,6 +539,21 @@ static struct phylink_pcs *mtk_mac_selec
        struct mtk_eth *eth = mac->hw;
        unsigned int sid;
  
@@ -280,7 +280,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        if (interface == PHY_INTERFACE_MODE_SGMII ||
            phy_interface_mode_is_8023z(interface)) {
                sid = (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_SGMII)) ?
-@@ -544,7 +581,22 @@ static void mtk_mac_config(struct phylin
+@@ -568,7 +605,22 @@ static void mtk_mac_config(struct phylin
                                        goto init_err;
                        }
                        break;
@@ -303,7 +303,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                        break;
                default:
                        goto err_phy;
-@@ -599,8 +651,6 @@ static void mtk_mac_config(struct phylin
+@@ -615,8 +667,6 @@ static void mtk_mac_config(struct phylin
                val &= ~SYSCFG0_GE_MODE(SYSCFG0_GE_MASK, mac->id);
                val |= SYSCFG0_GE_MODE(ge_mode, mac->id);
                regmap_write(eth->ethsys, ETHSYS_SYSCFG0, val);
@@ -312,7 +312,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        }
  
        /* SGMII */
-@@ -617,21 +667,40 @@ static void mtk_mac_config(struct phylin
+@@ -633,21 +683,40 @@ static void mtk_mac_config(struct phylin
  
                /* Save the syscfg0 value for mac_finish */
                mac->syscfg0 = val;
@@ -360,7 +360,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        return;
  
  err_phy:
-@@ -644,6 +713,18 @@ init_err:
+@@ -660,6 +729,18 @@ init_err:
                mac->id, phy_modes(state->interface), err);
  }
  
@@ -379,7 +379,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static int mtk_mac_finish(struct phylink_config *config, unsigned int mode,
                          phy_interface_t interface)
  {
-@@ -652,6 +733,10 @@ static int mtk_mac_finish(struct phylink
+@@ -668,6 +749,10 @@ static int mtk_mac_finish(struct phylink
        struct mtk_eth *eth = mac->hw;
        u32 mcr_cur, mcr_new;
  
@@ -390,7 +390,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        /* Enable SGMII */
        if (interface == PHY_INTERFACE_MODE_SGMII ||
            phy_interface_mode_is_8023z(interface))
-@@ -677,10 +762,13 @@ static void mtk_mac_link_down(struct phy
+@@ -693,10 +778,13 @@ static void mtk_mac_link_down(struct phy
  {
        struct mtk_mac *mac = container_of(config, struct mtk_mac,
                                           phylink_config);
@@ -407,7 +407,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  }
  
  static void mtk_set_queue_speed(struct mtk_eth *eth, unsigned int idx,
-@@ -752,13 +840,11 @@ static void mtk_set_queue_speed(struct m
+@@ -768,13 +856,11 @@ static void mtk_set_queue_speed(struct m
        mtk_w32(eth, val, soc->reg_map->qdma.qtx_sch + ofs);
  }
  
@@ -425,7 +425,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        u32 mcr;
  
        mcr = mtk_r32(mac->hw, MTK_MAC_MCR(mac->id));
-@@ -792,9 +878,63 @@ static void mtk_mac_link_up(struct phyli
+@@ -808,9 +894,63 @@ static void mtk_mac_link_up(struct phyli
        mtk_w32(mac->hw, mcr, MTK_MAC_MCR(mac->id));
  }
  
@@ -489,7 +489,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        .mac_finish = mtk_mac_finish,
        .mac_link_down = mtk_mac_link_down,
        .mac_link_up = mtk_mac_link_up,
-@@ -3373,6 +3513,9 @@ static int mtk_open(struct net_device *d
+@@ -3391,6 +3531,9 @@ static int mtk_open(struct net_device *d
        struct mtk_eth *eth = mac->hw;
        int i, err;
  
@@ -499,7 +499,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        err = phylink_of_phy_connect(mac->phylink, mac->of_node, 0);
        if (err) {
                netdev_err(dev, "%s: could not attach PHY: %d\n", __func__,
-@@ -3501,6 +3644,9 @@ static int mtk_stop(struct net_device *d
+@@ -3520,6 +3663,9 @@ static int mtk_stop(struct net_device *d
        for (i = 0; i < ARRAY_SIZE(eth->ppe); i++)
                mtk_ppe_stop(eth->ppe[i]);
  
@@ -509,7 +509,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        return 0;
  }
  
-@@ -4498,6 +4644,7 @@ static const struct net_device_ops mtk_n
+@@ -4517,6 +4663,7 @@ static const struct net_device_ops mtk_n
  static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
  {
        const __be32 *_id = of_get_property(np, "reg", NULL);
@@ -517,7 +517,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        phy_interface_t phy_mode;
        struct phylink *phylink;
        struct mtk_mac *mac;
-@@ -4533,16 +4680,41 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -4553,16 +4700,41 @@ static int mtk_add_mac(struct mtk_eth *e
        mac->id = id;
        mac->hw = eth;
        mac->of_node = np;
@@ -567,7 +567,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        }
  
        memset(mac->hwlro_ip, 0, sizeof(mac->hwlro_ip));
-@@ -4616,8 +4788,21 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -4645,8 +4817,21 @@ static int mtk_add_mac(struct mtk_eth *e
                phy_interface_zero(mac->phylink_config.supported_interfaces);
                __set_bit(PHY_INTERFACE_MODE_INTERNAL,
                          mac->phylink_config.supported_interfaces);
@@ -589,7 +589,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        phylink = phylink_create(&mac->phylink_config,
                                 of_fwnode_handle(mac->of_node),
                                 phy_mode, &mtk_phylink_ops);
-@@ -4662,6 +4847,26 @@ free_netdev:
+@@ -4697,6 +4882,26 @@ free_netdev:
        return err;
  }
  
@@ -616,7 +616,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  void mtk_eth_set_dma_device(struct mtk_eth *eth, struct device *dma_dev)
  {
        struct net_device *dev, *tmp;
-@@ -4805,7 +5010,8 @@ static int mtk_probe(struct platform_dev
+@@ -4843,7 +5048,8 @@ static int mtk_probe(struct platform_dev
                        regmap_write(cci, 0, 3);
        }
  
@@ -626,7 +626,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                err = mtk_sgmii_init(eth);
  
                if (err)
-@@ -4916,6 +5122,24 @@ static int mtk_probe(struct platform_dev
+@@ -4954,6 +5160,24 @@ static int mtk_probe(struct platform_dev
                }
        }
  
@@ -651,7 +651,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT)) {
                err = devm_request_irq(eth->dev, eth->irq[0],
                                       mtk_handle_irq, 0,
-@@ -5018,6 +5242,11 @@ static int mtk_remove(struct platform_de
+@@ -5056,6 +5280,11 @@ static int mtk_remove(struct platform_de
                mtk_stop(eth->netdev[i]);
                mac = netdev_priv(eth->netdev[i]);
                phylink_disconnect_phy(mac->phylink);
index adb95e9587f1f37cca86475896748e757e060835..b67c8a0ea0b8061b5047fb5480674cef12044ec5 100644 (file)
@@ -97,7 +97,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static int mtk_pcs_lynxi_config(struct phylink_pcs *pcs, unsigned int neg_mode,
                                phy_interface_t interface,
                                const unsigned long *advertising,
-@@ -148,6 +181,7 @@ static int mtk_pcs_lynxi_config(struct p
+@@ -147,6 +180,7 @@ static int mtk_pcs_lynxi_config(struct p
                                SGMII_PHYA_PWD);
  
                /* Reset SGMII PCS state */
@@ -105,7 +105,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                regmap_set_bits(mpcs->regmap, SGMSYS_RESERVED_0,
                                SGMII_SW_RESET);
  
-@@ -234,10 +268,29 @@ static void mtk_pcs_lynxi_link_up(struct
+@@ -233,10 +267,29 @@ static void mtk_pcs_lynxi_link_up(struct
        }
  }
  
@@ -135,7 +135,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        mpcs->interface = PHY_INTERFACE_MODE_NA;
  }
  
-@@ -247,11 +300,12 @@ static const struct phylink_pcs_ops mtk_
+@@ -246,11 +299,12 @@ static const struct phylink_pcs_ops mtk_
        .pcs_an_restart = mtk_pcs_lynxi_restart_an,
        .pcs_link_up = mtk_pcs_lynxi_link_up,
        .pcs_disable = mtk_pcs_lynxi_disable,
@@ -151,7 +151,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  {
        struct mtk_pcs_lynxi *mpcs;
        u32 id, ver;
-@@ -259,29 +313,33 @@ struct phylink_pcs *mtk_pcs_lynxi_create
+@@ -258,29 +312,33 @@ struct phylink_pcs *mtk_pcs_lynxi_create
  
        ret = regmap_read(regmap, SGMSYS_PCS_DEVICE_ID, &id);
        if (ret < 0)
@@ -192,7 +192,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
        mpcs->ana_rgc3 = ana_rgc3;
        mpcs->regmap = regmap;
-@@ -292,6 +350,13 @@ struct phylink_pcs *mtk_pcs_lynxi_create
+@@ -291,6 +349,13 @@ struct phylink_pcs *mtk_pcs_lynxi_create
        mpcs->interface = PHY_INTERFACE_MODE_NA;
  
        return &mpcs->pcs;
@@ -206,7 +206,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  }
  EXPORT_SYMBOL(mtk_pcs_lynxi_create);
  
-@@ -304,4 +369,144 @@ void mtk_pcs_lynxi_destroy(struct phylin
+@@ -303,4 +368,144 @@ void mtk_pcs_lynxi_destroy(struct phylin
  }
  EXPORT_SYMBOL(mtk_pcs_lynxi_destroy);
  
index 6fe29bc6c95818d11849f19bb740e2a3b17da565..73ec05464a06d34f1e38f4071c6308fc3bc2e1c1 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -12934,7 +12934,9 @@ M:     Daniel Golle <daniel@makrotopia.org>
+@@ -13348,7 +13348,9 @@ M:     Daniel Golle <daniel@makrotopia.org>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/pcs/pcs-mtk-lynxi.c
@@ -31,7 +31,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  M:    Daniel Golle <daniel@makrotopia.org>
 --- a/drivers/net/pcs/Kconfig
 +++ b/drivers/net/pcs/Kconfig
-@@ -18,6 +18,17 @@ config PCS_LYNX
+@@ -25,6 +25,17 @@ config PCS_MTK_LYNXI
          This module provides helpers to phylink for managing the LynxI PCS
          which is part of MediaTek's SoC and Ethernet switch ICs.
  
@@ -51,7 +51,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        depends on OF && (ARCH_RZN1 || COMPILE_TEST)
 --- a/drivers/net/pcs/Makefile
 +++ b/drivers/net/pcs/Makefile
-@@ -8,3 +8,4 @@ obj-$(CONFIG_PCS_XPCS)         += pcs_xpcs.o
+@@ -7,3 +7,4 @@ obj-$(CONFIG_PCS_XPCS)         += pcs_xpcs.o
  obj-$(CONFIG_PCS_LYNX)                += pcs-lynx.o
  obj-$(CONFIG_PCS_MTK_LYNXI)   += pcs-mtk-lynxi.o
  obj-$(CONFIG_PCS_RZN1_MIIC)   += pcs-rzn1-miic.o
index 51cd98c883f8280a35b3ecda37b5c41724d28dc5..3c68bf8bbd0ba92261e106aa9d37cf90e147e1b0 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/realtek.c
 +++ b/drivers/net/phy/realtek.c
-@@ -981,6 +981,51 @@ static int rtl8221b_config_init(struct p
+@@ -1009,6 +1009,51 @@ static int rtl8221b_config_init(struct p
        return 0;
  }
  
@@ -52,7 +52,7 @@
  static struct phy_driver realtek_drvs[] = {
        {
                PHY_ID_MATCH_EXACT(0x00008201),
-@@ -1141,6 +1186,8 @@ static struct phy_driver realtek_drvs[]
+@@ -1171,6 +1216,8 @@ static struct phy_driver realtek_drvs[]
                .get_features   = rtl822x_get_features,
                .config_init    = rtl8221b_config_init,
                .config_aneg    = rtl822x_config_aneg,
index 1dfa1366ebf248716deb64684628dca231a3262a..c811e40d49004b10b15d3b003224071843ff1829 100644 (file)
@@ -82,7 +82,7 @@ Signed-off-by: Eric Woudstra <ericwouds@gmail.com>
 
 --- a/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
-@@ -69,6 +69,11 @@ config SFP
+@@ -68,6 +68,11 @@ config SFP
  
  comment "MII PHY device drivers"
  
@@ -96,7 +96,7 @@ Signed-off-by: Eric Woudstra <ericwouds@gmail.com>
        help
 --- a/drivers/net/phy/Makefile
 +++ b/drivers/net/phy/Makefile
-@@ -32,6 +32,7 @@ obj-y                                += $(sfp-obj-y) $(sfp-obj-m)
+@@ -34,6 +34,7 @@ obj-y                                += $(sfp-obj-y) $(sfp-obj-m)
  
  obj-$(CONFIG_ADIN_PHY)                += adin.o
  obj-$(CONFIG_ADIN1100_PHY)    += adin1100.o
index bb9149a66833562d559d3a4daf3aed64356a0004..013005f053826f46c84e790808c7a636b08ae699 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -543,6 +543,7 @@ static inline bool napi_complete(struct
+@@ -558,6 +558,7 @@ static inline bool napi_complete(struct
  }
  
  int dev_set_threaded(struct net_device *dev, bool threaded);
@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  /**
   *    napi_disable - prevent NAPI from scheduling
-@@ -3129,6 +3130,7 @@ struct softnet_data {
+@@ -3238,6 +3239,7 @@ struct softnet_data {
        /* stats */
        unsigned int            processed;
        unsigned int            time_squeeze;
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #endif
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -4625,7 +4625,7 @@ static int napi_schedule_rps(struct soft
+@@ -4729,7 +4729,7 @@ static void napi_schedule_rps(struct sof
        struct softnet_data *mysd = this_cpu_ptr(&softnet_data);
  
  #ifdef CONFIG_RPS
@@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                sd->rps_ipi_next = mysd->rps_ipi_list;
                mysd->rps_ipi_list = sd;
  
-@@ -5806,6 +5806,8 @@ static DEFINE_PER_CPU(struct work_struct
+@@ -5848,6 +5848,8 @@ static DEFINE_PER_CPU(struct work_struct
  /* Network device is going away, flush any packets still pending */
  static void flush_backlog(struct work_struct *work)
  {
@@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        struct sk_buff *skb, *tmp;
        struct softnet_data *sd;
  
-@@ -5820,8 +5822,17 @@ static void flush_backlog(struct work_st
+@@ -5862,8 +5864,17 @@ static void flush_backlog(struct work_st
                        input_queue_head_incr(sd);
                }
        }
@@ -66,7 +66,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
                if (skb->dev->reg_state == NETREG_UNREGISTERING) {
                        __skb_unlink(skb, &sd->process_queue);
-@@ -5829,7 +5840,16 @@ static void flush_backlog(struct work_st
+@@ -5871,7 +5882,16 @@ static void flush_backlog(struct work_st
                        input_queue_head_incr(sd);
                }
        }
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  }
  
  static bool flush_required(int cpu)
-@@ -5961,6 +5981,7 @@ static int process_backlog(struct napi_s
+@@ -6003,6 +6023,7 @@ static int process_backlog(struct napi_s
                }
  
                rps_lock_irq_disable(sd);
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                if (skb_queue_empty(&sd->input_pkt_queue)) {
                        /*
                         * Inline a custom version of __napi_complete().
-@@ -5970,7 +5991,8 @@ static int process_backlog(struct napi_s
+@@ -6012,7 +6033,8 @@ static int process_backlog(struct napi_s
                         * We can use a plain write instead of clear_bit(),
                         * and we dont need an smp_mb() memory barrier.
                         */
@@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        again = false;
                } else {
                        skb_queue_splice_tail_init(&sd->input_pkt_queue,
-@@ -6386,6 +6408,55 @@ int dev_set_threaded(struct net_device *
+@@ -6426,6 +6448,55 @@ int dev_set_threaded(struct net_device *
  }
  EXPORT_SYMBOL(dev_set_threaded);
  
@@ -157,7 +157,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi,
                           int (*poll)(struct napi_struct *, int), int weight)
  {
-@@ -11168,6 +11239,9 @@ static int dev_cpu_dead(unsigned int old
+@@ -11348,6 +11419,9 @@ static int dev_cpu_dead(unsigned int old
        raise_softirq_irqoff(NET_TX_SOFTIRQ);
        local_irq_enable();
  
@@ -167,7 +167,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #ifdef CONFIG_RPS
        remsd = oldsd->rps_ipi_list;
        oldsd->rps_ipi_list = NULL;
-@@ -11480,6 +11554,7 @@ static int __init net_dev_init(void)
+@@ -11663,6 +11737,7 @@ static int __init net_dev_init(void)
                INIT_CSD(&sd->defer_csd, trigger_rx_softirq, sd);
                spin_lock_init(&sd->defer_lock);
  
@@ -177,7 +177,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                sd->backlog.weight = weight_p;
 --- a/net/core/sysctl_net_core.c
 +++ b/net/core/sysctl_net_core.c
-@@ -29,6 +29,7 @@ static int int_3600 = 3600;
+@@ -30,6 +30,7 @@ static int int_3600 = 3600;
  static int min_sndbuf = SOCK_MIN_SNDBUF;
  static int min_rcvbuf = SOCK_MIN_RCVBUF;
  static int max_skb_frags = MAX_SKB_FRAGS;
@@ -185,7 +185,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  static int net_msg_warn;      /* Unused, but still a sysctl */
  
-@@ -112,6 +113,23 @@ static int rps_sock_flow_sysctl(struct c
+@@ -188,6 +189,23 @@ static int rps_sock_flow_sysctl(struct c
  }
  #endif /* CONFIG_RPS */
  
@@ -209,7 +209,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #ifdef CONFIG_NET_FLOW_LIMIT
  static DEFINE_MUTEX(flow_limit_update_mutex);
  
-@@ -473,6 +491,15 @@ static struct ctl_table net_core_table[]
+@@ -532,6 +550,15 @@ static struct ctl_table net_core_table[]
                .proc_handler   = rps_sock_flow_sysctl
        },
  #endif
index 9556c90b5791b71d70e75530d7001e1a87f428ac..332d7e721a70e0b7dee10770910d43e32b9c877f 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
 
 --- a/drivers/net/dsa/mv88e6xxx/chip.c
 +++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -7025,6 +7025,7 @@ static int mv88e6xxx_register_switch(str
+@@ -6883,6 +6883,7 @@ static int mv88e6xxx_register_switch(str
        ds->ops = &mv88e6xxx_switch_ops;
        ds->ageing_time_min = chip->info->age_time_coeff;
        ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
index 6c1f596759007862be44668e5b3fac32fbf7b7aa..551855a229cb121f3b686699b6f8766bb04108a4 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
 
 --- a/drivers/net/vxlan/vxlan_core.c
 +++ b/drivers/net/vxlan/vxlan_core.c
-@@ -1493,6 +1493,10 @@ static bool vxlan_snoop(struct net_devic
+@@ -1446,6 +1446,10 @@ static bool vxlan_snoop(struct net_devic
        struct vxlan_fdb *f;
        u32 ifindex = 0;
  
index d333f3f4890da963db983541e014182a57d6b567..4b5eb767fd5f96a3850af0f2b2f16bd6e125b55d 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
 
 --- a/drivers/net/dsa/mt7530.c
 +++ b/drivers/net/dsa/mt7530.c
-@@ -2142,10 +2142,13 @@ mt7530_setup_mdio(struct mt7530_priv *pr
+@@ -2156,10 +2156,13 @@ mt7530_setup_mdio(struct mt7530_priv *pr
  {
        struct dsa_switch *ds = priv->ds;
        struct device *dev = priv->dev;
@@ -30,7 +30,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
        bus = devm_mdiobus_alloc(dev);
        if (!bus)
                return -ENOMEM;
-@@ -2162,7 +2165,9 @@ mt7530_setup_mdio(struct mt7530_priv *pr
+@@ -2178,7 +2181,9 @@ mt7530_setup_mdio(struct mt7530_priv *pr
        if (priv->irq)
                mt7530_setup_mdio_irq(priv);
  
index 478a2cb27d80143a211491b63130290da45421e9..4a9c188d179686c724689cb3022956a941f2a7e4 100644 (file)
@@ -50,7 +50,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
        if (err)
 --- a/drivers/bcma/main.c
 +++ b/drivers/bcma/main.c
-@@ -236,13 +236,17 @@ EXPORT_SYMBOL(bcma_core_irq);
+@@ -237,13 +237,17 @@ EXPORT_SYMBOL(bcma_core_irq);
  
  void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core)
  {
index a13d405e647494726755162414a6289853ef29ab..ca4101f14888d4345f8a0c9aff0b77aa71d48a6c 100644 (file)
@@ -70,7 +70,7 @@ v1 -> v2:
 
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
-@@ -1711,4 +1711,19 @@ config GPIO_SIM
+@@ -1819,4 +1819,19 @@ config GPIO_SIM
  
  endmenu
  
@@ -92,7 +92,7 @@ v1 -> v2:
  endif
 --- a/drivers/gpio/Makefile
 +++ b/drivers/gpio/Makefile
-@@ -43,6 +43,7 @@ obj-$(CONFIG_GPIO_BD9571MWV)         += gpio-bd
+@@ -44,6 +44,7 @@ obj-$(CONFIG_GPIO_BD9571MWV)         += gpio-bd
  obj-$(CONFIG_GPIO_BRCMSTB)            += gpio-brcmstb.o
  obj-$(CONFIG_GPIO_BT8XX)              += gpio-bt8xx.o
  obj-$(CONFIG_GPIO_CADENCE)            += gpio-cadence.o
index cb5d30db273de9ed58800700ab2442cd7748575b..7f670914781837db6b559a12dc04935147900244 100644 (file)
@@ -33,7 +33,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
        return 0;
 --- a/drivers/opp/core.c
 +++ b/drivers/opp/core.c
-@@ -816,7 +816,8 @@ static int _set_opp_voltage(struct devic
+@@ -902,7 +902,8 @@ static int _set_opp_voltage(struct devic
  
  static int
  _opp_config_clk_single(struct device *dev, struct opp_table *opp_table,
@@ -43,7 +43,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  {
        unsigned long *target = data;
        unsigned long freq;
-@@ -848,8 +849,8 @@ _opp_config_clk_single(struct device *de
+@@ -934,8 +935,8 @@ _opp_config_clk_single(struct device *de
   * the order in which they are present in the array while scaling up.
   */
  int dev_pm_opp_config_clks_simple(struct device *dev,
@@ -54,7 +54,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  {
        int ret, i;
  
-@@ -1121,7 +1122,7 @@ static int _set_opp(struct device *dev,
+@@ -1217,7 +1218,7 @@ static int _set_opp(struct device *dev,
        }
  
        if (opp_table->config_clks) {
@@ -63,7 +63,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
                if (ret)
                        return ret;
        }
-@@ -1196,7 +1197,7 @@ int dev_pm_opp_set_rate(struct device *d
+@@ -1292,7 +1293,7 @@ int dev_pm_opp_set_rate(struct device *d
                 * equivalent to a clk_set_rate()
                 */
                if (!_get_opp_count(opp_table)) {
@@ -84,7 +84,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
                        struct dev_pm_opp *opp, void *data, bool scaling_down);
  
  /**
-@@ -160,8 +161,8 @@ int dev_pm_opp_set_config(struct device
+@@ -172,8 +173,8 @@ int dev_pm_opp_set_config(struct device
  int devm_pm_opp_set_config(struct device *dev, struct dev_pm_opp_config *config);
  void dev_pm_opp_clear_config(int token);
  int dev_pm_opp_config_clks_simple(struct device *dev,
@@ -95,7 +95,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  
  struct dev_pm_opp *dev_pm_opp_xlate_required_opp(struct opp_table *src_table, struct opp_table *dst_table, struct dev_pm_opp *src_opp);
  int dev_pm_opp_xlate_performance_state(struct opp_table *src_table, struct opp_table *dst_table, unsigned int pstate);
-@@ -346,8 +347,8 @@ static inline int devm_pm_opp_set_config
+@@ -377,8 +378,8 @@ static inline int devm_pm_opp_set_config
  static inline void dev_pm_opp_clear_config(int token) {}
  
  static inline int dev_pm_opp_config_clks_simple(struct device *dev,
index 2f0dcd91d9bc425ec322749f1d49ba50cc989cb3..d08ed63eaaf8f27eddf5620482ddfb8a5c7ce4eb 100644 (file)
@@ -33,7 +33,7 @@ string.
  #include <linux/init.h>
  #include <linux/kref.h>
  #include <linux/module.h>
-@@ -780,6 +783,62 @@ static int nvmem_validate_keepouts(struc
+@@ -779,6 +782,62 @@ static int nvmem_validate_keepouts(struc
        return 0;
  }
  
@@ -96,7 +96,7 @@ string.
  static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np)
  {
        struct device *dev = &nvmem->dev;
-@@ -814,6 +873,25 @@ static int nvmem_add_cells_from_dt(struc
+@@ -813,6 +872,25 @@ static int nvmem_add_cells_from_dt(struc
                if (nvmem->fixup_dt_cell_info)
                        nvmem->fixup_dt_cell_info(nvmem, &info);
  
index ba06196f7cbbff23d23ba278cb954c6c61a7a9a1..9bdfcc748669786d9116aa8b53243e9232cce20a 100644 (file)
@@ -9,7 +9,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 
 --- a/drivers/pci/Kconfig
 +++ b/drivers/pci/Kconfig
-@@ -118,6 +118,13 @@ config XEN_PCIDEV_FRONTEND
+@@ -113,6 +113,13 @@ config XEN_PCIDEV_FRONTEND
          The PCI device frontend driver allows the kernel to import arbitrary
          PCI devices from a PCI backend to support PCI driver domains.
  
@@ -25,7 +25,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  
 --- a/drivers/pci/quirks.c
 +++ b/drivers/pci/quirks.c
-@@ -207,6 +207,7 @@ static void quirk_mmio_always_on(struct
+@@ -300,6 +300,7 @@ static void quirk_mmio_always_on(struct
  DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
                                PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);
  
@@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  /*
   * The Mellanox Tavor device gives false positive parity errors.  Disable
   * parity error reporting.
-@@ -3393,6 +3394,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -3488,6 +3489,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
  
@@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  /*
   * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
   * To work around this, query the size it should be configured to by the
-@@ -3418,6 +3421,8 @@ static void quirk_intel_ntb(struct pci_d
+@@ -3513,6 +3516,8 @@ static void quirk_intel_ntb(struct pci_d
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
  
@@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  /*
   * Some BIOS implementations leave the Intel GPU interrupts enabled, even
   * though no one is handling them (e.g., if the i915 driver is never
-@@ -3456,6 +3461,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3551,6 +3556,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
  
index eb5aa15d3035fd97a6eab966d01bcfa9bbba6033..4c271a7bd807fb1dd4039a02521691b32016299f 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static struct amd_chipset_info {
        struct pci_dev  *nb_dev;
        struct pci_dev  *smbus_dev;
-@@ -633,6 +635,10 @@ bool usb_amd_pt_check_port(struct device
+@@ -631,6 +633,10 @@ bool usb_amd_pt_check_port(struct device
  }
  EXPORT_SYMBOL_GPL(usb_amd_pt_check_port);
  
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /*
   * Make sure the controller is completely inactive, unable to
   * generate interrupts or do DMA.
-@@ -712,8 +718,17 @@ reset_needed:
+@@ -710,8 +716,17 @@ reset_needed:
        uhci_reset_hc(pdev, base);
        return 1;
  }
@@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask)
  {
        u16 cmd;
-@@ -1285,3 +1300,4 @@ static void quirk_usb_early_handoff(stru
+@@ -1283,3 +1298,4 @@ static void quirk_usb_early_handoff(stru
  }
  DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID,
                        PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff);
@@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #endif  /*  __LINUX_USB_PCI_QUIRKS_H  */
 --- a/include/linux/usb/hcd.h
 +++ b/include/linux/usb/hcd.h
-@@ -483,7 +483,14 @@ extern int usb_hcd_pci_probe(struct pci_
+@@ -484,7 +484,14 @@ extern int usb_hcd_pci_probe(struct pci_
  extern void usb_hcd_pci_remove(struct pci_dev *dev);
  extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
  
index 562f9b866c0a9085f27050b2105a2a76d3679649..0282e337e0fa5de83d8edaa5b4b62cc423d46b52 100644 (file)
@@ -45,7 +45,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        depends on ACPI
 --- a/drivers/ata/libata-core.c
 +++ b/drivers/ata/libata-core.c
-@@ -663,6 +663,19 @@ u64 ata_tf_read_block(const struct ata_t
+@@ -685,6 +685,19 @@ static inline void ata_set_tf_cdl(struct
        qc->flags |= ATA_QCFLAG_HAS_CDL | ATA_QCFLAG_RESULT_TF;
  }
  
@@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  /**
   *    ata_build_rw_tf - Build ATA taskfile for given read/write request
   *    @qc: Metadata associated with the taskfile to build
-@@ -4716,6 +4729,9 @@ void __ata_qc_complete(struct ata_queued
+@@ -4771,6 +4784,9 @@ void __ata_qc_complete(struct ata_queued
                link->active_tag = ATA_TAG_POISON;
                ap->nr_active_links--;
        }
@@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
        /* clear exclusive status */
        if (unlikely(qc->flags & ATA_QCFLAG_CLEAR_EXCL &&
-@@ -5438,6 +5454,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5494,6 +5510,9 @@ struct ata_port *ata_port_alloc(struct a
        ap->stats.unhandled_irq = 1;
        ap->stats.idle_irq = 1;
  #endif
@@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        ata_sff_port_init(ap);
  
        return ap;
-@@ -5469,6 +5488,12 @@ static void ata_host_release(struct kref
+@@ -5530,6 +5549,12 @@ static void ata_host_release(struct kref
                kfree(ap->pmp_link);
                kfree(ap->slave_link);
                kfree(ap->ncq_sense_buf);
@@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                kfree(ap);
                host->ports[i] = NULL;
        }
-@@ -5875,7 +5900,23 @@ int ata_host_register(struct ata_host *h
+@@ -5920,7 +5945,23 @@ int ata_host_register(struct ata_host *h
                host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
                host->ports[i]->local_port_no = i + 1;
        }
@@ -134,7 +134,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
  /*
   * Define if arch has non-standard setup.  This is a _PCI_ standard
-@@ -864,6 +867,12 @@ struct ata_port {
+@@ -874,6 +877,12 @@ struct ata_port {
  #ifdef CONFIG_ATA_ACPI
        struct ata_acpi_gtm     __acpi_init_gtm; /* use ata_acpi_init_gtm() */
  #endif
index 5ca8933d6fef4b79d8fa57e41430ac7fde6eb0f8..3172ad5a167b0e2efbeaa0d55fdd69390ad8f8dd 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
 
 --- a/drivers/char/hw_random/bcm2835-rng.c
 +++ b/drivers/char/hw_random/bcm2835-rng.c
-@@ -170,6 +170,7 @@ static int bcm2835_rng_probe(struct plat
+@@ -169,6 +169,7 @@ static int bcm2835_rng_probe(struct plat
        priv->rng.init = bcm2835_rng_init;
        priv->rng.read = bcm2835_rng_read;
        priv->rng.cleanup = bcm2835_rng_cleanup;
index 0d690e42e842eea1cf7dd213e22d3d3f1e2eb322..2ce1b9ccb580b024a52968b1aeae3af7fe024be0 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
 
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -1827,6 +1827,15 @@ config EMBEDDED
+@@ -1811,6 +1811,15 @@ config DEBUG_RSEQ
  
          If unsure, say N.
  
@@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
        help
 --- a/init/main.c
 +++ b/init/main.c
-@@ -611,6 +611,29 @@ static inline void setup_nr_cpu_ids(void
+@@ -608,6 +608,29 @@ static inline void setup_nr_cpu_ids(void
  static inline void smp_prepare_cpus(unsigned int maxcpus) { }
  #endif
  
@@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
  /*
   * We need to store the untouched command line for future reference.
   * We also need to store the touched command line since the parameter
-@@ -958,6 +981,7 @@ asmlinkage __visible void __init __no_sa
+@@ -895,6 +918,7 @@ void start_kernel(void)
        pr_notice("%s", linux_banner);
        early_security_init();
        setup_arch(&command_line);