generic: 5.15: refresh pending patch
authorAnsuel Smith <ansuelsmth@gmail.com>
Mon, 21 Mar 2022 14:22:20 +0000 (15:22 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Sun, 27 Mar 2022 04:00:50 +0000 (05:00 +0100)
Use 'make target/linux/refresh' to refresh pending patches.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
85 files changed:
target/linux/generic/pending-5.15/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch
target/linux/generic/pending-5.15/102-MIPS-only-process-negative-stack-offsets-on-stack-tr.patch
target/linux/generic/pending-5.15/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
target/linux/generic/pending-5.15/130-add-linux-spidev-compatible-si3210.patch
target/linux/generic/pending-5.15/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
target/linux/generic/pending-5.15/141-jffs2-add-RENAME_EXCHANGE-support.patch
target/linux/generic/pending-5.15/150-bridge_allow_receiption_on_disabled_port.patch
target/linux/generic/pending-5.15/201-extra_optimization.patch
target/linux/generic/pending-5.15/203-kallsyms_uncompressed.patch
target/linux/generic/pending-5.15/205-backtrace_module_info.patch
target/linux/generic/pending-5.15/270-platform-mikrotik-build-bits.patch
target/linux/generic/pending-5.15/300-mips_expose_boot_raw.patch
target/linux/generic/pending-5.15/305-mips_module_reloc.patch
target/linux/generic/pending-5.15/307-mips_highmem_offset.patch
target/linux/generic/pending-5.15/308-mips32r2_tune.patch
target/linux/generic/pending-5.15/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch
target/linux/generic/pending-5.15/342-powerpc-Enable-kernel-XZ-compression-option-on-PPC_8.patch
target/linux/generic/pending-5.15/400-mtd-mtdsplit-support.patch
target/linux/generic/pending-5.15/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch
target/linux/generic/pending-5.15/419-mtd-redboot-add-of_match_table-with-DT-binding.patch
target/linux/generic/pending-5.15/420-mtd-redboot_space.patch
target/linux/generic/pending-5.15/435-mtd-add-routerbootpart-parser-config.patch
target/linux/generic/pending-5.15/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch
target/linux/generic/pending-5.15/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
target/linux/generic/pending-5.15/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch
target/linux/generic/pending-5.15/479-mtd-spi-nor-add-xtx-xt25f128b.patch
target/linux/generic/pending-5.15/483-mtd-spinand-add-support-for-xtx-xt26g0xa.patch
target/linux/generic/pending-5.15/484-mtd-spi-nor-add-esmt-f25l16pa.patch
target/linux/generic/pending-5.15/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
target/linux/generic/pending-5.15/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
target/linux/generic/pending-5.15/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
target/linux/generic/pending-5.15/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
target/linux/generic/pending-5.15/494-mtd-ubi-add-EOF-marker-support.patch
target/linux/generic/pending-5.15/495-mtd-core-add-get_mtd_device_by_node.patch
target/linux/generic/pending-5.15/497-mtd-mtdconcat-add-dt-driver-for-concat-devices.patch
target/linux/generic/pending-5.15/498-mtd-spi-nor-locking-support-for-MX25L6405D.patch
target/linux/generic/pending-5.15/530-jffs2_make_lzma_available.patch
target/linux/generic/pending-5.15/600-netfilter_conntrack_flush.patch
target/linux/generic/pending-5.15/613-netfilter_optional_tcp_window_check.patch
target/linux/generic/pending-5.15/630-packet_socket_type.patch
target/linux/generic/pending-5.15/655-increase_skb_pad.patch
target/linux/generic/pending-5.15/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-5.15/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch
target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
target/linux/generic/pending-5.15/682-of_net-add-mac-address-increment-support.patch
target/linux/generic/pending-5.15/683-of_net-add-mac-address-to-of-tree.patch
target/linux/generic/pending-5.15/700-net-ethernet-mtk_eth_soc-avoid-creating-duplicate-of.patch
target/linux/generic/pending-5.15/701-net-ethernet-mtk_eth_soc-add-ipv6-flow-offloading-support.patch
target/linux/generic/pending-5.15/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch
target/linux/generic/pending-5.15/703-phy-add-detach-callback-to-struct-phy_driver.patch
target/linux/generic/pending-5.15/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
target/linux/generic/pending-5.15/760-net-dsa-mv88e6xxx-fix-vlan-setup.patch
target/linux/generic/pending-5.15/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch
target/linux/generic/pending-5.15/801-gpio-gpio-cascade-add-generic-GPIO-cascade.patch
target/linux/generic/pending-5.15/810-pci_disable_common_quirks.patch
target/linux/generic/pending-5.15/811-pci_disable_usb_common_quirks.patch
target/linux/generic/pending-5.15/834-ledtrig-libata.patch
target/linux/generic/pending-5.15/840-hwrng-bcm2835-set-quality-to-1000.patch
target/linux/generic/pending-5.15/842-net-qmi_wwan-add-ZTE-MF286D-modem-19d2-1485.patch
target/linux/generic/pending-5.15/850-0001-PCI-aardvark-Replace-custom-PCIE_CORE_INT_-macros-wi.patch
target/linux/generic/pending-5.15/850-0002-PCI-aardvark-Fix-reading-MSI-interrupt-number.patch
target/linux/generic/pending-5.15/850-0003-PCI-aardvark-Fix-support-for-MSI-interrupts.patch
target/linux/generic/pending-5.15/850-0004-PCI-aardvark-Rewrite-IRQ-code-to-chained-IRQ-handler.patch
target/linux/generic/pending-5.15/850-0005-PCI-aardvark-Check-return-value-of-generic_handle_do.patch
target/linux/generic/pending-5.15/850-0006-PCI-aardvark-Make-MSI-irq_chip-structures-static-dri.patch
target/linux/generic/pending-5.15/850-0007-PCI-aardvark-Make-msi_domain_info-structure-a-static.patch
target/linux/generic/pending-5.15/850-0008-PCI-aardvark-Use-dev_fwnode-instead-of-of_node_to_fw.patch
target/linux/generic/pending-5.15/850-0009-PCI-aardvark-Refactor-unmasking-summary-MSI-interrup.patch
target/linux/generic/pending-5.15/850-0010-PCI-aardvark-Add-support-for-masking-MSI-interrupts.patch
target/linux/generic/pending-5.15/850-0011-PCI-aardvark-Fix-setting-MSI-address.patch
target/linux/generic/pending-5.15/850-0012-PCI-aardvark-Enable-MSI-X-support.patch
target/linux/generic/pending-5.15/850-0013-PCI-aardvark-Add-support-for-ERR-interrupt-on-emulat.patch
target/linux/generic/pending-5.15/850-0014-PCI-aardvark-Fix-reading-PCI_EXP_RTSTA_PME-bit-on-em.patch
target/linux/generic/pending-5.15/850-0015-PCI-aardvark-Optimize-writing-PCI_EXP_RTCTL_PMEIE-an.patch
target/linux/generic/pending-5.15/850-0016-PCI-aardvark-Add-support-for-PME-interrupts.patch
target/linux/generic/pending-5.15/850-0017-PCI-aardvark-Fix-support-for-PME-requester-on-emulat.patch
target/linux/generic/pending-5.15/850-0018-PCI-aardvark-Use-separate-INTA-interrupt-for-emulate.patch
target/linux/generic/pending-5.15/850-0019-PCI-aardvark-Remove-irq_mask_ack-callback-for-INTx-i.patch
target/linux/generic/pending-5.15/850-0020-PCI-aardvark-Don-t-mask-irq-when-mapping.patch
target/linux/generic/pending-5.15/850-0021-PCI-aardvark-Drop-__maybe_unused-from-advk_pcie_disa.patch
target/linux/generic/pending-5.15/850-0022-PCI-aardvark-Update-comment-about-link-going-down-af.patch
target/linux/generic/pending-5.15/850-0023-PCI-aardvark-Make-main-irq_chip-structure-a-static-d.patch
target/linux/generic/pending-5.15/851-0006-Revert-PCI-aardvark-Fix-initialization-with-old-Marv.patch
target/linux/generic/pending-5.15/920-mangle_bootargs.patch

index 39b98eac1b055c4e4c1155e7bc97f26fa25b1416..22f52c1d46258ca4afa791f8cdedcdaf05db5cfc 100644 (file)
@@ -11,16 +11,16 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/compiler.h
 +++ b/include/linux/compiler.h
-@@ -211,6 +211,8 @@ void ftrace_likely_update(struct ftrace_
-       __v;                                                            \
- })
+@@ -220,6 +220,8 @@ void ftrace_likely_update(struct ftrace_
+ #define function_nocfi(x) (x)
+ #endif
  
 +#include <asm/rwonce.h>
 +
  #endif /* __KERNEL__ */
  
  /*
-@@ -243,6 +245,4 @@ static inline void *offset_to_ptr(const
+@@ -252,6 +254,4 @@ static inline void *offset_to_ptr(const
   */
  #define prevent_tail_call_optimization()      mb()
  
index cc9f99e8b0265777a43fcee97cbf9973865b04df..95a9656d268d2dfd8c166edcb7a0d57a36b788b4 100644 (file)
@@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/arch/mips/kernel/process.c
 +++ b/arch/mips/kernel/process.c
-@@ -380,6 +380,8 @@ static inline int is_sp_move_ins(union m
+@@ -393,6 +393,8 @@ static inline int is_sp_move_ins(union m
  
        if (ip->i_format.opcode == addiu_op ||
            ip->i_format.opcode == daddiu_op) {
index 0d1d3e1137c7211f3226876bba60feea6aaee1f6..30c70a6be995df74ccc63f4a2be6ec459a995f6d 100644 (file)
@@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
 
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
-@@ -7055,7 +7055,7 @@ static void __ref alloc_node_mem_map(str
+@@ -7552,7 +7552,7 @@ static void __init alloc_node_mem_map(st
        if (pgdat == NODE_DATA(0)) {
                mem_map = NODE_DATA(0)->node_mem_map;
                if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
index ca7b8a6bb156b80b4a317862e2b7ebcbc8b22eee..d260cf1f9ab7da72870d586811fec376c73cad53 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
 
 --- a/drivers/spi/spidev.c
 +++ b/drivers/spi/spidev.c
-@@ -682,6 +682,7 @@ static const struct of_device_id spidev_
+@@ -696,6 +696,7 @@ static const struct of_device_id spidev_
        { .compatible = "menlo,m53cpld" },
        { .compatible = "cisco,spi-petra" },
        { .compatible = "micron,spi-authenta" },
index 61e133e382032ae4b38d0d0ea03e134a7603e8b9..8f40ae3ba2400d170b69e6cc1951c8b896e86afe 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/fs/jffs2/dir.c
 +++ b/fs/jffs2/dir.c
-@@ -609,8 +609,8 @@ static int jffs2_rmdir (struct inode *di
+@@ -614,8 +614,8 @@ static int jffs2_rmdir (struct inode *di
        return ret;
  }
  
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  {
        struct jffs2_inode_info *f, *dir_f;
        struct jffs2_sb_info *c;
-@@ -748,7 +749,11 @@ static int jffs2_mknod (struct inode *di
+@@ -754,7 +754,11 @@ static int jffs2_mknod (struct user_name
        mutex_unlock(&dir_f->sem);
        jffs2_complete_reservation(c);
  
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        return 0;
  
   fail:
-@@ -756,6 +761,19 @@ static int jffs2_mknod (struct inode *di
+@@ -762,6 +766,19 @@ static int jffs2_mknod (struct user_name
        return ret;
  }
  
@@ -52,7 +52,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static int jffs2_rename (struct user_namespace *mnt_userns,
                         struct inode *old_dir_i, struct dentry *old_dentry,
                         struct inode *new_dir_i, struct dentry *new_dentry,
-@@ -766,7 +782,7 @@ static int jffs2_rename (struct inode *o
+@@ -773,7 +790,7 @@ static int jffs2_rename (struct user_nam
        uint8_t type;
        uint32_t now;
  
@@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                return -EINVAL;
  
        /* The VFS will check for us and prevent trying to rename a
-@@ -832,9 +848,14 @@ static int jffs2_rename (struct inode *o
+@@ -839,9 +856,14 @@ static int jffs2_rename (struct user_nam
        if (d_is_dir(old_dentry) && !victim_f)
                inc_nlink(new_dir_i);
  
index 7dc830ac373bdf416ea24b32d0639e2191a4f02b..f58fc791d2815709400a3ea500181149e05973bc 100644 (file)
@@ -6,7 +6,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/fs/jffs2/dir.c
 +++ b/fs/jffs2/dir.c
-@@ -779,18 +779,31 @@ static int jffs2_rename (struct inode *o
+@@ -787,18 +787,31 @@ static int jffs2_rename (struct user_nam
        int ret;
        struct jffs2_sb_info *c = JFFS2_SB_INFO(old_dir_i->i_sb);
        struct jffs2_inode_info *victim_f = NULL;
@@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                victim_f = JFFS2_INODE_INFO(d_inode(new_dentry));
                if (d_is_dir(new_dentry)) {
                        struct jffs2_full_dirent *fd;
-@@ -825,7 +838,7 @@ static int jffs2_rename (struct inode *o
+@@ -833,7 +846,7 @@ static int jffs2_rename (struct user_nam
        if (ret)
                return ret;
  
@@ -49,7 +49,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                /* There was a victim. Kill it off nicely */
                if (d_is_dir(new_dentry))
                        clear_nlink(d_inode(new_dentry));
-@@ -851,6 +864,12 @@ static int jffs2_rename (struct inode *o
+@@ -859,6 +872,12 @@ static int jffs2_rename (struct user_nam
        if (flags & RENAME_WHITEOUT)
                /* Replace with whiteout */
                ret = jffs2_whiteout(mnt_userns, old_dir_i, old_dentry);
@@ -62,7 +62,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        else
                /* Unlink the original */
                ret = jffs2_do_unlink(c, JFFS2_INODE_INFO(old_dir_i),
-@@ -882,7 +901,7 @@ static int jffs2_rename (struct inode *o
+@@ -890,7 +909,7 @@ static int jffs2_rename (struct user_nam
                return ret;
        }
  
index 6de22b1c7d2df24548b0cd014c73bd99fbb02e32..2b9570e9a0c845e0b26c78c2d368e32cc60d5153 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
-@@ -195,6 +195,9 @@ static void __br_handle_local_finish(str
+@@ -197,6 +197,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 */
-@@ -348,6 +351,17 @@ static rx_handler_result_t br_handle_fra
+@@ -362,6 +365,17 @@ static rx_handler_result_t br_handle_fra
  
  forward:
        switch (p->state) {
index cb1de80764109a832cc4561dd26838005f5e1920..5300a5c4ab4d50a83c9fd4281f2af0d2828a2de5 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/Makefile
 +++ b/Makefile
-@@ -735,11 +735,11 @@ KBUILD_CFLAGS    += $(call cc-disable-warni
+@@ -752,11 +752,11 @@ KBUILD_CFLAGS    += $(call cc-disable-warni
  KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
  
  ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
index 348a5afa3d1e29699c54923338ec92be55dc7c60..370fc97eaced679150943db269532ddde51f5c82 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -1384,6 +1384,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
+@@ -1438,6 +1438,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
          the unaligned access emulation.
          see arch/parisc/kernel/unaligned.c for reference
  
@@ -33,7 +33,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/kernel/kallsyms.c
 +++ b/kernel/kallsyms.c
-@@ -77,6 +77,11 @@ static unsigned int kallsyms_expand_symb
+@@ -80,6 +80,11 @@ static unsigned int kallsyms_expand_symb
         * For every byte on the compressed symbol data, copy the table
         * entry for that byte.
         */
@@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        while (len) {
                tptr = &kallsyms_token_table[kallsyms_token_index[*data]];
                data++;
-@@ -109,6 +114,9 @@ tail:
+@@ -112,6 +117,9 @@ tail:
   */
  static char kallsyms_get_symbol_type(unsigned int off)
  {
@@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                }
 --- a/scripts/link-vmlinux.sh
 +++ b/scripts/link-vmlinux.sh
-@@ -186,6 +186,10 @@ kallsyms()
+@@ -260,6 +260,10 @@ kallsyms()
                kallsymopt="${kallsymopt} --base-relative"
        fi
  
index f46877f254dd262bc1f5e42aec3477504cea2c9d..f10d863b8b500282372e57ee8719a1d24f9fb579 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/lib/vsprintf.c
 +++ b/lib/vsprintf.c
-@@ -983,8 +983,10 @@ char *symbol_string(char *buf, char *end
+@@ -984,8 +984,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')
-@@ -1001,8 +1003,14 @@ char *symbol_string(char *buf, char *end
+@@ -1006,8 +1008,14 @@ char *symbol_string(char *buf, char *end
  
        return string_nocheck(buf, end, sym, spec);
  #else
index 3fd5c6e95d6473c76bbbabeaf349417d331f4db2..99f83bb2c4e97170036387f867970340e22079ff 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
 
 --- a/drivers/platform/Kconfig
 +++ b/drivers/platform/Kconfig
-@@ -13,3 +13,5 @@ source "drivers/platform/chrome/Kconfig"
+@@ -15,3 +15,5 @@ source "drivers/platform/mellanox/Kconfi
  source "drivers/platform/olpc/Kconfig"
  
  source "drivers/platform/surface/Kconfig"
@@ -24,7 +24,7 @@ Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
 +source "drivers/platform/mikrotik/Kconfig"
 --- a/drivers/platform/Makefile
 +++ b/drivers/platform/Makefile
-@@ -9,3 +9,4 @@ obj-$(CONFIG_MIPS)             += mips/
+@@ -10,3 +10,4 @@ obj-$(CONFIG_OLPC_EC)                += olpc/
  obj-$(CONFIG_GOLDFISH)                += goldfish/
  obj-$(CONFIG_CHROME_PLATFORMS)        += chrome/
  obj-$(CONFIG_SURFACE_PLATFORMS)       += surface/
index 706c5dee224d56d2c14a2a7f0ba46543adeb3f1d..05d024925df0d977ed7162cb27337d35e6311b01 100644 (file)
@@ -9,7 +9,7 @@ Acked-by: Rob Landley <rob@landley.net>
 ---
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -1085,9 +1085,6 @@ config FW_ARC
+@@ -1100,9 +1100,6 @@ config FW_ARC
  config ARCH_MAY_HAVE_PC_FDC
        bool
  
index 153c463ca094269fee3870aadb1f75ad004d9213..bbea1f61c1489d5d2444e675e7b77452cd84d7e4 100644 (file)
@@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  typedef uint8_t Elf64_Byte;           /* Type for a 8-bit quantity.  */
 --- a/arch/mips/kernel/module.c
 +++ b/arch/mips/kernel/module.c
-@@ -31,14 +31,221 @@ struct mips_hi16 {
+@@ -31,23 +31,261 @@ struct mips_hi16 {
  static LIST_HEAD(dbe_list);
  static DEFINE_SPINLOCK(dbe_lock);
  
@@ -267,9 +267,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +      return 0;
 +}
  
- static int apply_r_mips_none(struct module *me, u32 *location,
-                            u32 base, Elf_Addr v, bool rela)
-@@ -54,9 +261,40 @@ static int apply_r_mips_32(struct module
+ static void apply_r_mips_32(u32 *location, u32 base, Elf_Addr v)
+ {
        *location = base + v;
  }
  
@@ -310,7 +309,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (v % 4) {
                pr_err("module %s: dangerous R_MIPS_26 relocation\n",
                       me->name);
-@@ -64,13 +302,17 @@ static int apply_r_mips_26(struct module
+@@ -55,13 +293,17 @@ static int apply_r_mips_26(struct module
        }
  
        if ((v & 0xf0000000) != (((unsigned long)location + 4) & 0xf0000000)) {
@@ -332,7 +331,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        return 0;
  }
-@@ -446,9 +688,36 @@ int module_finalize(const Elf_Ehdr *hdr,
+@@ -441,9 +683,36 @@ int module_finalize(const Elf_Ehdr *hdr,
                list_add(&me->arch.dbe_list, &dbe_list);
                spin_unlock_irq(&dbe_lock);
        }
index e1ada22f34f7ef318552e0c0330048254cecf7af..0529b0c5c8aa88ac84d036e909911a7f12451d3b 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/arch/mips/include/asm/mach-generic/spaces.h
 +++ b/arch/mips/include/asm/mach-generic/spaces.h
-@@ -54,7 +54,7 @@
+@@ -46,7 +46,7 @@
   * Memory above this physical address will be considered highmem.
   */
  #ifndef HIGHMEM_START
index bbea9473824b6a78c93326fd511788deaa657351..ef92a5dfb69b5677d15c5c902a175b8bceca818e 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
-@@ -174,7 +174,7 @@ cflags-$(CONFIG_CPU_VR41XX)        += -march=r4
+@@ -175,7 +175,7 @@ cflags-$(CONFIG_CPU_VR41XX)        += -march=r4
  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 91e4b911495533bab7563b1b106d6e05c3bc8ed1..3a5f5a238df6d8f07ebe65e43c3e6a3f72717c78 100644 (file)
@@ -251,7 +251,7 @@ Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
        PTR_L a0,       arg0
        PTR_L a1,       arg1
        PTR_L a2,       arg2
-@@ -96,7 +97,7 @@ done:
+@@ -98,7 +99,7 @@ done:
  #endif
        /* jump to kexec_start_address */
        j               s1
@@ -260,7 +260,7 @@ Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
  
  #ifdef CONFIG_SMP
  /*
-@@ -182,9 +183,15 @@ kexec_indirection_page:
+@@ -181,9 +182,15 @@ kexec_indirection_page:
        PTR_WD          0
        .size           kexec_indirection_page, PTRSIZE
  
index 6792a66f8a065077f1361f0108aacc18939b827e..cb9f295288b9b5ef084f97f9cb6c7c13f2d87e29 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
 
 --- a/arch/powerpc/Kconfig
 +++ b/arch/powerpc/Kconfig
-@@ -214,7 +214,7 @@ config PPC
+@@ -222,7 +222,7 @@ config PPC
        select HAVE_KERNEL_GZIP
        select HAVE_KERNEL_LZMA                 if DEFAULT_UIMAGE
        select HAVE_KERNEL_LZO                  if DEFAULT_UIMAGE
index 6f816a6ad35a63b6d439e9ca499effe4fb8c40ad..18f26d994199f905205427e171ab2a54d6367cc0 100644 (file)
@@ -41,7 +41,7 @@
  
  /*
   * MTD methods which simply translate the effective address and pass through
-@@ -236,6 +238,146 @@ static int mtd_add_partition_attrs(struc
+@@ -235,6 +237,146 @@ static int mtd_add_partition_attrs(struc
        return ret;
  }
  
  int mtd_add_partition(struct mtd_info *parent, const char *name,
                      long long offset, long long length)
  {
-@@ -274,6 +416,7 @@ int mtd_add_partition(struct mtd_info *p
+@@ -273,6 +415,7 @@ int mtd_add_partition(struct mtd_info *p
        if (ret)
                goto err_remove_part;
  
        mtd_add_partition_attrs(child);
  
        return 0;
-@@ -422,6 +565,7 @@ int add_mtd_partitions(struct mtd_info *
+@@ -421,6 +564,7 @@ int add_mtd_partitions(struct mtd_info *
                        goto err_del_partitions;
                }
  
                mtd_add_partition_attrs(child);
  
                /* Look for subpartitions */
-@@ -438,31 +582,6 @@ err_del_partitions:
+@@ -437,31 +581,6 @@ err_del_partitions:
        return ret;
  }
  
  obj-$(CONFIG_MTD_BLOCK)               += mtdblock.o
 --- a/include/linux/mtd/mtd.h
 +++ b/include/linux/mtd/mtd.h
-@@ -608,6 +608,24 @@ static inline void mtd_align_erase_req(s
+@@ -615,6 +615,24 @@ static inline void mtd_align_erase_req(s
                req->len += mtd->erasesize - mod;
  }
  
  static inline uint32_t mtd_div_by_ws(uint64_t sz, struct mtd_info *mtd)
  {
        if (mtd->writesize_shift)
-@@ -680,6 +698,13 @@ extern void __put_mtd_device(struct mtd_
+@@ -687,6 +705,13 @@ extern void __put_mtd_device(struct mtd_
  extern struct mtd_info *get_mtd_device_nm(const char *name);
  extern void put_mtd_device(struct mtd_info *mtd);
  
index eaf96e9534e1197d69d3030857bdd998a9865092..58c33bcd69fb3ec690ccd4eb7e27b43f190b3812 100644 (file)
@@ -338,7 +338,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
-@@ -1075,6 +1075,8 @@ static u8 spi_nor_convert_3to4_erase(u8
+@@ -1262,6 +1262,8 @@ static u8 spi_nor_convert_3to4_erase(u8
  
  static bool spi_nor_has_uniform_erase(const struct spi_nor *nor)
  {
@@ -347,7 +347,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
        return !!nor->params->erase_map.uniform_erase_type;
  }
  
-@@ -2560,6 +2562,7 @@ static int spi_nor_select_erase(struct s
+@@ -2379,6 +2381,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;
@@ -355,7 +355,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
        struct mtd_info *mtd = &nor->mtd;
        u32 wanted_size = nor->info->sector_size;
        int i;
-@@ -2592,8 +2595,9 @@ static int spi_nor_select_erase(struct s
+@@ -2411,8 +2414,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) {
@@ -367,7 +367,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
                }
        }
  
-@@ -2601,6 +2605,8 @@ static int spi_nor_select_erase(struct s
+@@ -2420,6 +2424,8 @@ static int spi_nor_select_erase(struct s
                return -EINVAL;
  
        mtd->erasesize = erase->size;
@@ -378,7 +378,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
  
 --- a/include/linux/mtd/mtd.h
 +++ b/include/linux/mtd/mtd.h
-@@ -242,6 +242,8 @@ struct mtd_info {
+@@ -243,6 +243,8 @@ struct mtd_info {
         * information below if they desire
         */
        uint32_t erasesize;
index 7692f484ae0c7ba036302e3282040412eedb96a7..3d176f85635deeae24ace622be3858c97c87e427 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 
 --- a/drivers/mtd/parsers/redboot.c
 +++ b/drivers/mtd/parsers/redboot.c
-@@ -305,6 +305,7 @@ static int parse_redboot_partitions(stru
+@@ -304,6 +304,7 @@ nogood:
  
  static const struct of_device_id mtd_parser_redboot_of_match_table[] = {
        { .compatible = "redboot-fis" },
index 2673d720e563688c612e872b30c0b82a31c8ad1e..fee193659334a1b9bd19dd763c0d1fac48e7d109 100644 (file)
@@ -11,9 +11,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/mtd/parsers/redboot.c
 +++ b/drivers/mtd/parsers/redboot.c
-@@ -279,14 +279,21 @@ static int parse_redboot_partitions(stru
+@@ -277,14 +277,21 @@ nogood:
  #endif
-               names += strlen(names)+1;
+               names += strlen(names) + 1;
  
 -#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
                if (fl->next && fl->img->flash_base + fl->img->size + master->erasesize <= fl->next->img->flash_base) {
index b258256db6c159ea8d2ebf165e5c8ddc44a66269..721a4d3a5dd79e844a875565abb1f68a0cf437f3 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
 
 --- a/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
-@@ -195,3 +195,12 @@ config MTD_REDBOOT_PARTS_READONLY
+@@ -202,3 +202,12 @@ config MTD_QCOMSMEM_PARTS
        help
          This provides support for parsing partitions from Shared Memory (SMEM)
          for NAND and SPI flash on Qualcomm platforms.
@@ -31,7 +31,7 @@ Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
 +       formatted DTS.
 --- a/drivers/mtd/parsers/Makefile
 +++ b/drivers/mtd/parsers/Makefile
-@@ -13,3 +13,4 @@ obj-$(CONFIG_MTD_AFS_PARTS)          += afs.o
+@@ -14,3 +14,4 @@ obj-$(CONFIG_MTD_PARSER_TRX)         += parser_
  obj-$(CONFIG_MTD_SHARPSL_PARTS)               += sharpslpart.o
  obj-$(CONFIG_MTD_REDBOOT_PARTS)               += redboot.o
  obj-$(CONFIG_MTD_QCOMSMEM_PARTS)      += qcomsmempart.o
index 9983971af5b4935c2dfdd14ebe79b81422023540..cb7768a5e78f62cadbad58e6bd6a173d344cc757 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
-@@ -913,7 +913,7 @@ static int get_chip(struct map_info *map
+@@ -914,7 +914,7 @@ static int get_chip(struct map_info *map
                return 0;
  
        case FL_ERASING:
index 0bda2ed971c0ad5cff867d561a12c5cfb661f980..bedd53ccbaee685d38c6153455310c5bc05716bb 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
-@@ -2057,6 +2057,7 @@ static int __xipram do_write_buffer(stru
+@@ -2058,6 +2058,7 @@ static int __xipram do_write_buffer(stru
  
        /* Write Buffer Load */
        map_write(map, CMD(0x25), cmd_adr);
index 2748192dd27506343f269ddb70a122513af27390..308eca72c47aae4e493c7f34c0d4f4a6f07f7831 100644 (file)
@@ -19,9 +19,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/mtd/spi-nor/Kconfig
 +++ b/drivers/mtd/spi-nor/Kconfig
-@@ -34,6 +34,17 @@ config MTD_SPI_NOR_USE_4K_SECTORS
-         Please note that some tools/drivers/filesystems may not work with
-         4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
+@@ -78,6 +78,17 @@ config MTD_SPI_NOR_SWP_KEEP
+ endchoice
  
 +config MTD_SPI_NOR_USE_4K_SECTORS_LIMIT
 +      int "Maximum flash chip size to use 4K sectors on (in KiB)"
@@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  endif # MTD_SPI_NOR
 --- a/drivers/mtd/spi-nor/core.c
 +++ b/drivers/mtd/spi-nor/core.c
-@@ -2792,6 +2792,21 @@ static void spi_nor_info_init_params(str
+@@ -2631,6 +2631,21 @@ static void spi_nor_info_init_params(str
         */
        erase_mask = 0;
        i = 0;
@@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (info->flags & SECT_4K_PMC) {
                erase_mask |= BIT(i);
                spi_nor_set_erase_type(&map->erase_type[i], 4096u,
-@@ -2803,6 +2818,7 @@ static void spi_nor_info_init_params(str
+@@ -2642,6 +2657,7 @@ static void spi_nor_info_init_params(str
                                       SPINOR_OP_BE_4K);
                i++;
        }
index 796bf6becb4e2e9570d81436148650a7876271c6..c3c59d43bff2626ec71f674ced07167787446aec 100644 (file)
@@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +};
 --- a/drivers/mtd/spi-nor/core.c
 +++ b/drivers/mtd/spi-nor/core.c
-@@ -2028,6 +2028,7 @@ static const struct spi_nor_manufacturer
+@@ -1848,6 +1848,7 @@ static const struct spi_nor_manufacturer
        &spi_nor_winbond,
        &spi_nor_xilinx,
        &spi_nor_xmc,
@@ -69,11 +69,11 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static const struct flash_info *
 --- a/drivers/mtd/spi-nor/core.h
 +++ b/drivers/mtd/spi-nor/core.h
-@@ -398,6 +398,7 @@ extern const struct spi_nor_manufacturer
+@@ -489,6 +489,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;
 +extern const struct spi_nor_manufacturer spi_nor_xtx;
  
int spi_nor_write_enable(struct spi_nor *nor);
- int spi_nor_write_disable(struct spi_nor *nor);
extern const struct attribute_group *spi_nor_sysfs_groups[];
index 11590770cd6df6d4aa79dc31c3e6544221f028c4..4672f8c86a19af5db3b53e9d232ca86ef2e2a22c 100644 (file)
@@ -33,7 +33,7 @@ Signed-off-by: Felix Matouschek <felix@matouschek.org>
  obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
 --- a/drivers/mtd/nand/spi/core.c
 +++ b/drivers/mtd/nand/spi/core.c
-@@ -760,6 +760,7 @@ static const struct spinand_manufacturer
+@@ -902,6 +902,7 @@ static const struct spinand_manufacturer
        &paragon_spinand_manufacturer,
        &toshiba_spinand_manufacturer,
        &winbond_spinand_manufacturer,
@@ -168,7 +168,7 @@ Signed-off-by: Felix Matouschek <felix@matouschek.org>
 +};
 --- a/include/linux/mtd/spinand.h
 +++ b/include/linux/mtd/spinand.h
-@@ -244,6 +244,7 @@ extern const struct spinand_manufacturer
+@@ -266,6 +266,7 @@ extern const struct spinand_manufacturer
  extern const struct spinand_manufacturer paragon_spinand_manufacturer;
  extern const struct spinand_manufacturer toshiba_spinand_manufacturer;
  extern const struct spinand_manufacturer winbond_spinand_manufacturer;
index ce3857d511c4a6125dacea325e480ed02e3329b7..b2f0b92a18f6582c335b70f37eda15b62a99b2d5 100644 (file)
@@ -7,5 +7,5 @@
 +      { "f25l16pa-2s", INFO(0x8c2115, 0, 64 * 1024, 32,
 +                         SECT_4K | SPI_NOR_HAS_LOCK) },
        { "f25l32pa", INFO(0x8c2016, 0, 64 * 1024, 64,
-                          SECT_4K | SPI_NOR_HAS_LOCK) },
+                          SECT_4K | SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE) },
        { "f25l32qa", INFO(0x8c4116, 0, 64 * 1024, 64,
index 7c9766fa7b1d9cceb8b5357857154935ce9631be..393308f7175bb7929e8d8d7c850b749bad9c4ace 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
-@@ -1192,6 +1192,73 @@ static struct mtd_info * __init open_mtd
+@@ -1191,6 +1191,73 @@ static struct mtd_info * __init open_mtd
        return mtd;
  }
  
@@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static int __init ubi_init(void)
  {
        int err, i, k;
-@@ -1275,6 +1342,12 @@ static int __init ubi_init(void)
+@@ -1274,6 +1341,12 @@ static int __init ubi_init(void)
                }
        }
  
index a2b48fd4fc70a5a40ea6f977c9473854d7766c71..ae53770c11c607e977f11390fea2418f1ac39a1e 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
-@@ -652,6 +652,47 @@ static void __init ubiblock_create_from_
+@@ -642,6 +642,47 @@ static void __init ubiblock_create_from_
        }
  }
  
@@ -56,7 +56,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  static void ubiblock_remove_all(void)
  {
        struct ubiblock *next;
-@@ -684,6 +725,10 @@ int __init ubiblock_init(void)
+@@ -674,6 +715,10 @@ int __init ubiblock_init(void)
         */
        ubiblock_create_from_param();
  
index 0efff2b52fbd49fdedab533d7e54263b0189053c..cf41c8cad3f31c3e9204aa821c2f9d87b19acb8f 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/init/do_mounts.c
 +++ b/init/do_mounts.c
-@@ -474,7 +474,30 @@ retry:
+@@ -447,7 +447,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
-@@ -567,6 +590,10 @@ void __init mount_root(void)
+@@ -580,6 +603,10 @@ void __init mount_root(void)
                return;
        }
  #endif
index 2dff46807e27addd83bac882c7b4bf8522495c33..266a6331c2acc0f7c17d9ac72f54659d31b56249 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
  #include "ubi-media.h"
  #include "ubi.h"
-@@ -458,6 +459,15 @@ int ubiblock_create(struct ubi_volume_in
+@@ -451,6 +452,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);
@@ -31,4 +31,4 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +
        return 0;
  
- out_free_queue:
+ out_remove_minor:
index 81d32ca5a5211806262d9c91f70448153d848038..fc481462212cea54a57001c69b9040b52952d5f2 100644 (file)
@@ -50,7 +50,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
                break;
 --- a/drivers/mtd/ubi/ubi.h
 +++ b/drivers/mtd/ubi/ubi.h
-@@ -782,6 +782,7 @@ struct ubi_attach_info {
+@@ -780,6 +780,7 @@ struct ubi_attach_info {
        int mean_ec;
        uint64_t ec_sum;
        int ec_count;
index d5db5fdd546736d850d1f790000db04b80cf4e57..45fbcf7658b8ccfaad0872b67100bee8d20c0817 100644 (file)
@@ -17,7 +17,7 @@ Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
 
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -1046,6 +1046,44 @@ out_unlock:
+@@ -1203,6 +1203,44 @@ out_unlock:
  }
  EXPORT_SYMBOL_GPL(get_mtd_device_nm);
  
@@ -64,7 +64,7 @@ Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
        mutex_lock(&mtd_table_mutex);
 --- a/include/linux/mtd/mtd.h
 +++ b/include/linux/mtd/mtd.h
-@@ -698,6 +698,8 @@ extern struct mtd_info *get_mtd_device(s
+@@ -705,6 +705,8 @@ extern struct mtd_info *get_mtd_device(s
  extern int __get_mtd_device(struct mtd_info *mtd);
  extern void __put_mtd_device(struct mtd_info *mtd);
  extern struct mtd_info *get_mtd_device_nm(const char *name);
index 058cab09e580a9bd5f79008215457ad488832113..321680154d57165b7351a977e0d148fbe9778152 100644 (file)
@@ -43,7 +43,7 @@ Signed-off-by: Bernhard Frauendienst <kernel@nospam.obeliks.de>
 
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -238,4 +238,6 @@ source "drivers/mtd/ubi/Kconfig"
+@@ -241,4 +241,6 @@ source "drivers/mtd/ubi/Kconfig"
  
  source "drivers/mtd/hyperbus/Kconfig"
  
index 62e977c8d17165e8a4dab5d0fdc8a8db81eb3379..81de7648760d1b993a4e46c56a213824a1f28662 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Nick Hainke <vincent@systemli.org>
 
 --- a/drivers/mtd/spi-nor/macronix.c
 +++ b/drivers/mtd/spi-nor/macronix.c
-@@ -42,7 +42,8 @@ static const struct flash_info macronix_
+@@ -41,7 +41,8 @@ static const struct flash_info macronix_
        { "mx25l1606e",  INFO(0xc22015, 0, 64 * 1024,  32, SECT_4K) },
        { "mx25l3205d",  INFO(0xc22016, 0, 64 * 1024,  64, SECT_4K) },
        { "mx25l3255e",  INFO(0xc29e16, 0, 64 * 1024,  64, SECT_4K) },
index a648b6c545f0c426c37402e1634ef375181563c7..80c8110a8255d43272eb84b6ea577de8d1d0f135 100644 (file)
@@ -1087,7 +1087,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
  #define JFFS2_NODE_ACCURATE 0x2000
 --- a/lib/Kconfig
 +++ b/lib/Kconfig
-@@ -315,6 +315,12 @@ config ZSTD_DECOMPRESS
+@@ -335,6 +335,12 @@ config ZSTD_DECOMPRESS
  
  source "lib/xz/Kconfig"
  
@@ -1102,7 +1102,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
  # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -136,6 +136,16 @@ CFLAGS_kobject.o += -DDEBUG
+@@ -135,6 +135,16 @@ CFLAGS_kobject.o += -DDEBUG
  CFLAGS_kobject_uevent.o += -DDEBUG
  endif
  
@@ -1119,7 +1119,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)
  
-@@ -191,6 +201,8 @@ obj-$(CONFIG_ZSTD_COMPRESS) += zstd/
+@@ -192,6 +202,8 @@ obj-$(CONFIG_ZSTD_COMPRESS) += zstd/
  obj-$(CONFIG_ZSTD_DECOMPRESS) += zstd/
  obj-$(CONFIG_XZ_DEC) += xz/
  obj-$(CONFIG_RAID6_PQ) += raid6/
index ab6953e5573f6a564bd0c7c1b6924e76a6279298..a88e3d7d9a77eb496516dc323470c9ed7e5ec0de 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>
-@@ -457,6 +458,56 @@ static int ct_cpu_seq_show(struct seq_fi
+@@ -462,6 +463,56 @@ static int ct_cpu_seq_show(struct seq_fi
        return 0;
  }
  
@@ -74,7 +74,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,
-@@ -470,8 +521,9 @@ static int nf_conntrack_standalone_init_
+@@ -475,8 +526,9 @@ static int nf_conntrack_standalone_init_
        kuid_t root_uid;
        kgid_t root_gid;
  
index c7978e5881e7ce19b0bab21a39ad467d1a53cc1b..249c3c8a82d8c1a6d395508bb748a24685452f2a 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/netfilter/nf_conntrack_proto_tcp.c
 +++ b/net/netfilter/nf_conntrack_proto_tcp.c
-@@ -476,6 +479,9 @@ static bool tcp_in_window(const struct n
+@@ -465,6 +465,9 @@ static bool tcp_in_window(struct nf_conn
        s32 receiver_offset;
        bool res, in_recv_win;
  
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        /*
         * Get the required data from the packet.
         */
-@@ -1130,7 +1136,7 @@ int nf_conntrack_tcp_packet(struct nf_co
+@@ -1151,7 +1154,7 @@ int nf_conntrack_tcp_packet(struct nf_co
                 IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED &&
                 timeouts[new_state] > timeouts[TCP_CONNTRACK_UNACK])
                timeout = timeouts[TCP_CONNTRACK_UNACK];
@@ -29,16 +29,16 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        else
 --- a/net/netfilter/nf_conntrack_standalone.c
 +++ b/net/netfilter/nf_conntrack_standalone.c
-@@ -660,6 +663,7 @@ enum nf_ct_sysctl_index {
-       NF_SYSCTL_CT_PROTO_TIMEOUT_GRE_STREAM,
+@@ -671,6 +671,7 @@ enum nf_ct_sysctl_index {
+       NF_SYSCTL_CT_LWTUNNEL,
  #endif
  
 +      NF_SYSCTL_CT_PROTO_TCP_NO_WINDOW_CHECK,
        __NF_SYSCTL_CT_LAST_SYSCTL,
  };
  
-@@ -1014,6 +1018,13 @@ static struct ctl_table nf_ct_sysctl_tab
-               .proc_handler   = proc_dointvec_jiffies,
+@@ -1026,6 +1027,13 @@ static struct ctl_table nf_ct_sysctl_tab
+               .proc_handler   = nf_hooks_lwtunnel_sysctl_handler,
        },
  #endif
 +      [NF_SYSCTL_CT_PROTO_TCP_NO_WINDOW_CHECK] = {
@@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        {}
  };
  
-@@ -1164,6 +1164,7 @@ static int nf_conntrack_standalone_init_sysctl(struct net *net)
+@@ -1153,6 +1161,7 @@ static int nf_conntrack_standalone_init_
  #ifdef CONFIG_NF_CONNTRACK_EVENTS
        table[NF_SYSCTL_CT_EVENTS].data = &net->ct.sysctl_events;
  #endif
@@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #ifdef CONFIG_NF_CONNTRACK_TIMESTAMP
        table[NF_SYSCTL_CT_TIMESTAMP].data = &net->ct.sysctl_tstamp;
  #endif
-@@ -1220,6 +1220,7 @@
+@@ -1222,6 +1231,7 @@ static int nf_conntrack_pernet_init(stru
        int ret;
  
        net->ct.sysctl_checksum = 1;
index 5b396c3a8c27ecf4b041ef834d095bb010dc8c2b..70f07baebbdd1551f5be5a9fb146ecd2e7ce0c0f 100644 (file)
@@ -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
-@@ -1822,6 +1822,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1825,6 +1825,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
-@@ -1829,6 +1830,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1832,6 +1833,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
-@@ -1841,7 +1843,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1844,7 +1846,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)))
-@@ -2079,12 +2081,12 @@ static int packet_rcv(struct sk_buff *sk
+@@ -2082,12 +2084,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;
  
-@@ -2210,12 +2212,12 @@ static int tpacket_rcv(struct sk_buff *s
+@@ -2213,12 +2215,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);
  
@@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        if (sock->type == SOCK_PACKET)
                po->prot_hook.func = packet_rcv_spkt;
-@@ -3969,6 +3972,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3966,6 +3969,16 @@ packet_setsockopt(struct socket *sock, i
                po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
                return 0;
        }
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        default:
                return -ENOPROTOOPT;
        }
-@@ -4025,6 +4038,13 @@ static int packet_getsockopt(struct sock
+@@ -4022,6 +4035,13 @@ static int packet_getsockopt(struct sock
        case PACKET_VNET_HDR:
                val = po->has_vnet_hdr;
                break;
@@ -135,4 +135,4 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +      unsigned int            pkt_type;
  };
  
- static struct packet_sock *pkt_sk(struct sock *sk)
+ static inline struct packet_sock *pkt_sk(struct sock *sk)
index ff39ddb8b3f8041d2989a172d27f4dba24c2ff65..bb2c995e68c0d8bd7ef4c37bb989476995958eae 100644 (file)
@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2676,7 +2676,7 @@ static inline int pskb_network_may_pull(
+@@ -2727,7 +2727,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 89eb7d61b3b7ee0d40fb4c53a4accbcafbf4c0bd..09efa1e72fe24fbbba1b3675aa0612e323938c39 100644 (file)
@@ -91,7 +91,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  
        return hash_32(hash, IP6_TUNNEL_HASH_SIZE_SHIFT);
  }
-@@ -144,17 +147,33 @@ static struct ip6_tnl *
+@@ -114,17 +117,33 @@ static struct ip6_tnl *
  ip6_tnl_lookup(struct net *net, int link,
               const struct in6_addr *remote, const struct in6_addr *local)
  {
@@ -127,7 +127,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
                if (link == t->parms.link)
                        return t;
                else
-@@ -162,7 +181,7 @@ ip6_tnl_lookup(struct net *net, int link
+@@ -132,7 +151,7 @@ ip6_tnl_lookup(struct net *net, int link
        }
  
        memset(&any, 0, sizeof(any));
@@ -136,7 +136,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        for_each_ip6_tunnel_rcu(ip6n->tnls_r_l[hash]) {
                if (!ipv6_addr_equal(local, &t->parms.laddr) ||
                    !ipv6_addr_any(&t->parms.raddr) ||
-@@ -175,7 +194,7 @@ ip6_tnl_lookup(struct net *net, int link
+@@ -145,7 +164,7 @@ ip6_tnl_lookup(struct net *net, int link
                        cand = t;
        }
  
@@ -145,7 +145,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        for_each_ip6_tunnel_rcu(ip6n->tnls_r_l[hash]) {
                if (!ipv6_addr_equal(remote, &t->parms.raddr) ||
                    !ipv6_addr_any(&t->parms.laddr) ||
-@@ -223,7 +242,7 @@ ip6_tnl_bucket(struct ip6_tnl_net *ip6n,
+@@ -194,7 +213,7 @@ ip6_tnl_bucket(struct ip6_tnl_net *ip6n,
  
        if (!ipv6_addr_any(remote) || !ipv6_addr_any(local)) {
                prio = 1;
@@ -154,7 +154,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        }
        return &ip6n->tnls[prio][h];
  }
-@@ -405,6 +424,12 @@ ip6_tnl_dev_uninit(struct net_device *de
+@@ -378,6 +397,12 @@ ip6_tnl_dev_uninit(struct net_device *de
        struct net *net = t->net;
        struct ip6_tnl_net *ip6n = net_generic(net, ip6_tnl_net_id);
  
@@ -167,7 +167,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        if (dev == ip6n->fb_tnl_dev)
                RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
        else
-@@ -821,6 +846,107 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t,
+@@ -790,6 +815,107 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t,
  }
  EXPORT_SYMBOL_GPL(ip6_tnl_rcv_ctl);
  
@@ -275,7 +275,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  static int __ip6_tnl_rcv(struct ip6_tnl *tunnel, struct sk_buff *skb,
                         const struct tnl_ptk_info *tpi,
                         struct metadata_dst *tun_dst,
-@@ -873,6 +999,27 @@ static int __ip6_tnl_rcv(struct ip6_tnl
+@@ -843,6 +969,27 @@ static int __ip6_tnl_rcv(struct ip6_tnl
        skb_reset_network_header(skb);
        memset(skb->cb, 0, sizeof(struct inet6_skb_parm));
  
@@ -303,7 +303,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        __skb_tunnel_rx(skb, tunnel->dev, tunnel->net);
  
        err = dscp_ecn_decapsulate(tunnel, ipv6h, skb);
-@@ -1024,6 +1171,7 @@ static void init_tel_txopt(struct ipv6_t
+@@ -994,6 +1141,7 @@ static void init_tel_txopt(struct ipv6_t
        opt->ops.opt_nflen = 8;
  }
  
@@ -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
-@@ -1304,6 +1452,7 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1274,6 +1422,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;
-@@ -1403,6 +1552,18 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1373,6 +1522,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;
  
-@@ -1555,6 +1716,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
+@@ -1525,6 +1686,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);
        return 0;
-@@ -1593,6 +1762,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
+@@ -1563,6 +1732,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));
  }
  
-@@ -1978,6 +2148,15 @@ static int ip6_tnl_validate(struct nlatt
+@@ -1949,6 +2119,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)
  {
-@@ -2015,6 +2194,46 @@ static void ip6_tnl_netlink_parms(struct
+@@ -1986,6 +2165,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 bool ip6_tnl_netlink_encap_parms(struct nlattr *data[],
-@@ -2130,6 +2349,12 @@ static void ip6_tnl_dellink(struct net_d
+@@ -2101,6 +2320,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) +
-@@ -2159,6 +2384,24 @@ static size_t ip6_tnl_get_size(const str
+@@ -2130,6 +2355,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;
  }
  
-@@ -2166,6 +2409,9 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2137,6 +2380,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) ||
-@@ -2175,9 +2421,27 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2146,9 +2392,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) ||
-@@ -2217,6 +2481,7 @@ static const struct nla_policy ip6_tnl_p
+@@ -2188,6 +2452,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 f3e7eae0ea5cd30606d2374a913da8ecb6b9e684..3fb053ab49a4e214e86d6054066ef9def3a61b63 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
-@@ -88,6 +88,7 @@ struct netns_ipv6 {
+@@ -85,6 +85,7 @@ struct netns_ipv6 {
        unsigned int            fib6_routes_require_src;
  #endif
        struct rt6_info         *ip6_prohibit_entry;
@@ -43,7 +43,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  
 --- a/include/uapi/linux/rtnetlink.h
 +++ b/include/uapi/linux/rtnetlink.h
-@@ -249,6 +249,7 @@ enum {
+@@ -256,6 +256,7 @@ enum {
        RTN_THROW,              /* Not in this table            */
        RTN_NAT,                /* Translate this address       */
        RTN_XRESOLVE,           /* Use external resolver        */
@@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static void rt_fibinfo_free(struct rtable __rcu **rtp)
 --- a/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
-@@ -2734,6 +2734,7 @@ static const char *const rtn_type_names[
+@@ -2767,6 +2767,7 @@ static const char *const rtn_type_names[
        [RTN_THROW] = "THROW",
        [RTN_NAT] = "NAT",
        [RTN_XRESOLVE] = "XRESOLVE",
@@ -110,7 +110,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                return -EINVAL;
 --- a/net/ipv6/route.c
 +++ b/net/ipv6/route.c
-@@ -94,6 +94,8 @@ static int           ip6_pkt_discard(struct sk_bu
+@@ -97,6 +97,8 @@ static int           ip6_pkt_discard(struct sk_bu
  static int            ip6_pkt_discard_out(struct net *net, struct sock *sk, struct sk_buff *skb);
  static int            ip6_pkt_prohibit(struct sk_buff *skb);
  static int            ip6_pkt_prohibit_out(struct net *net, struct sock *sk, struct sk_buff *skb);
@@ -119,7 +119,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static void           ip6_link_failure(struct sk_buff *skb);
  static void           ip6_rt_update_pmtu(struct dst_entry *dst, struct sock *sk,
                                           struct sk_buff *skb, u32 mtu,
-@@ -309,6 +311,18 @@ static const struct rt6_info ip6_prohibi
+@@ -312,6 +314,18 @@ static const struct rt6_info ip6_prohibi
        .rt6i_flags     = (RTF_REJECT | RTF_NONEXTHOP),
  };
  
@@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static const struct rt6_info ip6_blk_hole_entry_template = {
        .dst = {
                .__refcnt       = ATOMIC_INIT(1),
-@@ -1030,6 +1044,7 @@ static const int fib6_prop[RTN_MAX + 1]
+@@ -1033,6 +1047,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,
-@@ -1065,6 +1080,10 @@ static void ip6_rt_init_dst_reject(struc
+@@ -1068,6 +1083,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:
-@@ -4448,6 +4467,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -4559,6 +4578,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.
   */
-@@ -4928,7 +4958,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -5039,7 +5069,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)
-@@ -6127,6 +6158,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6292,6 +6323,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
-@@ -6138,6 +6171,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6303,6 +6336,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
        }
-@@ -6329,6 +6363,8 @@ static int __net_init ip6_route_net_init
+@@ -6494,6 +6528,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);
-@@ -6339,11 +6375,21 @@ static int __net_init ip6_route_net_init
+@@ -6504,11 +6540,21 @@ static int __net_init ip6_route_net_init
                         ip6_template_metrics, true);
        INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_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);
-@@ -6370,6 +6416,8 @@ out:
+@@ -6535,6 +6581,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:
-@@ -6389,6 +6437,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6554,6 +6602,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);
-@@ -6466,6 +6515,9 @@ void __init ip6_route_init_special_entri
+@@ -6631,6 +6680,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 0e7f35db89b53dffcd20c998cabacc30346e8bfd..bea43b2bada70c177bf859a0624f33c015d0e5c8 100644 (file)
@@ -39,7 +39,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
   */
 --- a/include/uapi/linux/rtnetlink.h
 +++ b/include/uapi/linux/rtnetlink.h
-@@ -253,6 +253,8 @@ enum {
+@@ -260,6 +260,8 @@ enum {
        __RTN_MAX
  };
  
index e64e0421e174d817870fcfafa10c94ca57a58ac1..af57b4c5bbb4a9c5ba76acc968daccbdae5c4390 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -2036,6 +2036,8 @@ struct net_device {
+@@ -2068,6 +2068,8 @@ struct net_device {
        struct netdev_hw_addr_list      mc;
        struct netdev_hw_addr_list      dev_addrs;
  
@@ -22,17 +22,17 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #endif
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -858,6 +858,7 @@ struct sk_buff {
- #ifdef CONFIG_TLS_DEVICE
-       __u8                    decrypted:1;
+@@ -855,6 +855,7 @@ struct sk_buff {
+ #ifdef CONFIG_IPV6_NDISC_NODETYPE
+       __u8                    ndisc_nodetype:2;
  #endif
 +      __u8                    gro_skip:1;
  
- #ifdef CONFIG_NET_SCHED
-       __u16                   tc_index;       /* traffic control index */
+       __u8                    ipvs_property:1;
+       __u8                    inner_protocol_type:1;
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -6062,6 +6062,9 @@ static enum gro_result dev_gro_receive(s
+@@ -6051,6 +6051,9 @@ static enum gro_result dev_gro_receive(s
        int same_flow;
        int grow;
  
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (netif_elide_gro(skb->dev))
                goto normal;
  
-@@ -8039,6 +8042,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -8065,6 +8068,48 @@ static void __netdev_adjacent_dev_unlink
                                           &upper_dev->adj_list.lower);
  }
  
@@ -91,7 +91,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,
-@@ -8090,6 +8135,7 @@ static int __netdev_upper_dev_link(struc
+@@ -8116,6 +8161,7 @@ static int __netdev_upper_dev_link(struc
        if (ret)
                return ret;
  
@@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
                                            &changeupper_info.info);
        ret = notifier_to_errno(ret);
-@@ -8186,6 +8232,7 @@ static void __netdev_upper_dev_unlink(st
+@@ -8212,6 +8258,7 @@ static void __netdev_upper_dev_unlink(st
  
        __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
  
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
                                      &changeupper_info.info);
  
-@@ -8972,6 +9019,7 @@ int dev_set_mac_address(struct net_devic
+@@ -9031,6 +9078,7 @@ int dev_set_mac_address(struct net_devic
        if (err)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;
@@ -117,7 +117,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        return 0;
 --- a/net/ethernet/eth.c
 +++ b/net/ethernet/eth.c
-@@ -143,6 +143,18 @@ u32 eth_get_headlen(const struct net_dev
+@@ -142,6 +142,18 @@ u32 eth_get_headlen(const struct net_dev
  }
  EXPORT_SYMBOL(eth_get_headlen);
  
@@ -136,7 +136,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /**
   * eth_type_trans - determine the packet's protocol ID.
   * @skb: received socket data
-@@ -174,6 +186,10 @@ __be16 eth_type_trans(struct sk_buff *sk
+@@ -173,6 +185,10 @@ __be16 eth_type_trans(struct sk_buff *sk
                } else {
                        skb->pkt_type = PACKET_OTHERHOST;
                }
index 2753c76d54a7bf6eea5c94831d53ef7818bd24c9..fe6faddc7d7fb2ea63a0e6ff979a60a4c2e1467b 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
 
 --- a/net/core/of_net.c
 +++ b/net/core/of_net.c
-@@ -115,27 +115,62 @@ static int of_get_mac_addr_nvmem(struct
+@@ -119,27 +119,62 @@ static int of_get_mac_addr_nvmem(struct
   * this case, the real MAC is in 'local-mac-address', and 'mac-address' exists
   * but is all zeros.
   *
index 59dc30bb4751f9d767d9675940c87131609c9b78..88ade300a4cd1f8a87f3ab8a313f1301cfa4f719 100644 (file)
@@ -26,9 +26,9 @@
 +}
 +
  /**
-  * Search the device tree for the best MAC address to use.  'mac-address' is
-  * checked first, because that is supposed to contain to "most recent" MAC
-@@ -171,6 +192,7 @@ found:
+  * of_get_mac_address()
+  * @np:               Caller's Device Node
+@@ -175,6 +196,7 @@ found:
                addr[5] = (mac_val >> 0) & 0xff;
        }
  
index ff090f07f1bcb3eaa7a7ecd1e71672ed462f52cd..6323e5e9665a1ae46700b1ffe6ff8407a649cd9f 100644 (file)
@@ -14,9 +14,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
 +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
-@@ -187,6 +187,9 @@ mtk_flow_offload_replace(struct mtk_eth
-       int hash;
-       int i;
+@@ -189,6 +189,9 @@ mtk_flow_offload_replace(struct mtk_eth
+       if (rhashtable_lookup(&eth->flow_table, &f->cookie, mtk_flow_ht_params))
+               return -EEXIST;
  
 +      if (rhashtable_lookup(&eth->flow_table, &f->cookie, mtk_flow_ht_params))
 +              return -EEXIST;
index 7140c6877ebe6ccccf4372f72683a6ec1f70f216..a36ae0e6e40250c5ae76a93fe8196631ebe890c9 100644 (file)
@@ -1,14 +1,14 @@
 --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
 +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
-@@ -7,6 +7,7 @@
- #include <linux/rhashtable.h>
+@@ -6,6 +6,7 @@
  #include <linux/if_ether.h>
+ #include <linux/rhashtable.h>
  #include <linux/ip.h>
 +#include <linux/ipv6.h>
  #include <net/flow_offload.h>
  #include <net/pkt_cls.h>
  #include <net/dsa.h>
-@@ -20,6 +21,11 @@ struct mtk_flow_data {
+@@ -19,6 +20,11 @@ struct mtk_flow_data {
                        __be32 src_addr;
                        __be32 dst_addr;
                } v4;
@@ -20,7 +20,7 @@
        };
  
        __be16 src_port;
-@@ -64,6 +70,14 @@ mtk_flow_set_ipv4_addr(struct mtk_foe_en
+@@ -63,6 +69,14 @@ mtk_flow_set_ipv4_addr(struct mtk_foe_en
                                            data->v4.dst_addr, data->dst_port);
  }
  
@@ -35,7 +35,7 @@
  static void
  mtk_flow_offload_mangle_eth(const struct flow_action_entry *act, void *eth)
  {
-@@ -254,6 +268,9 @@ mtk_flow_offload_replace(struct mtk_eth
+@@ -256,6 +270,9 @@ mtk_flow_offload_replace(struct mtk_eth
        case FLOW_DISSECTOR_KEY_IPV4_ADDRS:
                offload_type = MTK_PPE_PKT_TYPE_IPV4_HNAPT;
                break;
@@ -45,7 +45,7 @@
        default:
                return -EOPNOTSUPP;
        }
-@@ -289,6 +306,17 @@ mtk_flow_offload_replace(struct mtk_eth
+@@ -291,6 +308,17 @@ mtk_flow_offload_replace(struct mtk_eth
                mtk_flow_set_ipv4_addr(&foe, &data, false);
        }
  
index da9c040322a24c8d4387df860df44f243bebca4a..d5ce94d74a8607d2e415c22e9c29498938e7f5cb 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
-@@ -2171,8 +2171,8 @@ static irqreturn_t mtk_handle_irq_rx(int
+@@ -2178,8 +2178,8 @@ static irqreturn_t mtk_handle_irq_rx(int
  
        eth->rx_events++;
        if (likely(napi_schedule_prep(&eth->rx_napi))) {
@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        }
  
        return IRQ_HANDLED;
-@@ -2184,8 +2184,8 @@ static irqreturn_t mtk_handle_irq_tx(int
+@@ -2191,8 +2191,8 @@ static irqreturn_t mtk_handle_irq_tx(int
  
        eth->tx_events++;
        if (likely(napi_schedule_prep(&eth->tx_napi))) {
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        }
  
        return IRQ_HANDLED;
-@@ -3229,6 +3229,8 @@ static int mtk_probe(struct platform_dev
+@@ -3242,6 +3242,8 @@ static int mtk_probe(struct platform_dev
         * for NAPI to work
         */
        init_dummy_netdev(&eth->dummy_dev);
index 9aa54082a51e78388367b13993fdb05480ecdea6..723dbacdd8a01f32e0ceedf85ad26e769ceac005 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
-@@ -1651,6 +1651,9 @@ void phy_detach(struct phy_device *phyde
+@@ -1715,6 +1715,9 @@ void phy_detach(struct phy_device *phyde
        struct module *ndev_owner = NULL;
        struct mii_bus *bus;
  
@@ -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
-@@ -761,6 +761,12 @@ struct phy_driver {
+@@ -783,6 +783,12 @@ struct phy_driver {
        /** @handle_interrupt: Override default interrupt handling */
        irqreturn_t (*handle_interrupt)(struct phy_device *phydev);
  
index 262f1aa35b543761db87d7bf3e0f731c2529ee37..f30887fccb8df059854f4cc55071629ee39e457a 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
-@@ -56,6 +56,7 @@ struct br_ip_list {
+@@ -58,6 +58,7 @@ struct br_ip_list {
  #define BR_MRP_LOST_CONT      BIT(18)
  #define BR_MRP_LOST_IN_CONT   BIT(19)
  #define BR_TX_FWD_OFFLOAD     BIT(20)
@@ -24,7 +24,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/bridge/br_forward.c
 +++ b/net/bridge/br_forward.c
-@@ -191,6 +191,7 @@ out:
+@@ -199,6 +199,7 @@ out:
  void br_flood(struct net_bridge *br, struct sk_buff *skb,
              enum br_pkt_type pkt_type, bool local_rcv, bool local_orig)
  {
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        struct net_bridge_port *prev = NULL;
        struct net_bridge_port *p;
  
-@@ -206,6 +207,10 @@ void br_flood(struct net_bridge *br, str
+@@ -214,6 +215,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
-@@ -305,6 +305,8 @@ static rx_handler_result_t br_handle_fra
+@@ -319,6 +319,8 @@ static rx_handler_result_t br_handle_fra
                fwd_mask |= p->group_fwd_mask;
                switch (dest[5]) {
                case 0x00:      /* Bridge Group Address */
@@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        if (p->br->stp_enabled == BR_NO_STP ||
 --- a/net/bridge/br_sysfs_if.c
 +++ b/net/bridge/br_sysfs_if.c
-@@ -233,6 +233,7 @@ BRPORT_ATTR_FLAG(multicast_flood, BR_MCA
+@@ -240,6 +240,7 @@ BRPORT_ATTR_FLAG(multicast_flood, BR_MCA
  BRPORT_ATTR_FLAG(broadcast_flood, BR_BCAST_FLOOD);
  BRPORT_ATTR_FLAG(neigh_suppress, BR_NEIGH_SUPPRESS);
  BRPORT_ATTR_FLAG(isolated, BR_ISOLATED);
@@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
  static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf)
-@@ -285,6 +286,7 @@ static const struct brport_attribute *br
+@@ -292,6 +293,7 @@ static const struct brport_attribute *br
        &brport_attr_group_fwd_mask,
        &brport_attr_neigh_suppress,
        &brport_attr_isolated,
@@ -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
-@@ -524,6 +524,7 @@ enum {
+@@ -536,6 +536,7 @@ enum {
        IFLA_BRPORT_MRP_IN_OPEN,
        IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT,
        IFLA_BRPORT_MCAST_EHT_HOSTS_CNT,
@@ -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
-@@ -137,6 +137,7 @@ static inline size_t br_port_info_size(v
+@@ -184,6 +184,7 @@ static inline size_t br_port_info_size(v
                + nla_total_size(1)     /* IFLA_BRPORT_VLAN_TUNNEL */
                + nla_total_size(1)     /* IFLA_BRPORT_NEIGH_SUPPRESS */
                + nla_total_size(1)     /* IFLA_BRPORT_ISOLATED */
@@ -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 */
-@@ -220,7 +221,8 @@ static int br_port_fill_attrs(struct sk_
+@@ -269,7 +270,8 @@ static int br_port_fill_attrs(struct sk_
                                                          BR_MRP_LOST_CONT)) ||
            nla_put_u8(skb, IFLA_BRPORT_MRP_IN_OPEN,
                       !!(p->flags & BR_MRP_LOST_IN_CONT)) ||
@@ -134,7 +134,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                return -EMSGSIZE;
  
        timerval = br_timer_value(&p->message_age_timer);
-@@ -728,6 +730,7 @@ static const struct nla_policy br_port_p
+@@ -829,6 +831,7 @@ static const struct nla_policy br_port_p
        [IFLA_BRPORT_ISOLATED]  = { .type = NLA_U8 },
        [IFLA_BRPORT_BACKUP_PORT] = { .type = NLA_U32 },
        [IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT] = { .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 */
-@@ -826,6 +829,7 @@ static int br_setport(struct net_bridge_
+@@ -893,6 +896,7 @@ static int br_setport(struct net_bridge_
        br_set_port_flag(p, tb, IFLA_BRPORT_VLAN_TUNNEL, BR_VLAN_TUNNEL);
        br_set_port_flag(p, tb, IFLA_BRPORT_NEIGH_SUPPRESS, BR_NEIGH_SUPPRESS);
        br_set_port_flag(p, tb, IFLA_BRPORT_ISOLATED, BR_ISOLATED);
@@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  struct rtnl_link {
        rtnl_doit_func          doit;
-@@ -4684,7 +4684,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
+@@ -4689,7 +4689,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 16be95ea387e676015af1b07d08ccc4d03a686da..0c9604e5a94699879f9568181864c63889f57ac7 100644 (file)
@@ -17,11 +17,11 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
 
 --- a/drivers/net/dsa/mv88e6xxx/chip.c
 +++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -2869,6 +2869,7 @@ static int mv88e6xxx_setup(struct dsa_sw
+@@ -3193,6 +3193,7 @@ static int mv88e6xxx_setup(struct dsa_sw
  
        chip->ds = ds;
        ds->slave_mii_bus = mv88e6xxx_default_mdio_bus(chip);
 +      ds->configure_vlan_while_not_filtering = true;
  
-       mv88e6xxx_reg_lock(chip);
+       /* Since virtual bridges are mapped in the PVT, the number we support
+        * depends on the physical switch topology. We need to let DSA figure
index 9247401140cbfe05803e2005564adffe80ee925a..8a718a02f213ec0c893d81d88970748cc740890c 100644 (file)
@@ -17,11 +17,11 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
 
 --- a/drivers/net/dsa/mv88e6xxx/chip.c
 +++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -5436,6 +5436,7 @@ static int mv88e6xxx_register_switch(str
+@@ -6319,6 +6319,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;
 +      ds->assisted_learning_on_cpu_port = true;
  
-       dev_set_drvdata(dev, ds);
+       /* Some chips support up to 32, but that requires enabling the
+        * 5-bit port mode, which we do not support. 640k^W16 ought to
index af44ff24aca18910106b4e1f8a003c435e95dc17..c1e14b92714f8410aee5949e6113281e5eb17d01 100644 (file)
@@ -70,9 +70,9 @@ v1 -> v2:
 
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
-@@ -1617,4 +1617,19 @@ config GPIO_MOCKUP
-         tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in
-         it.
+@@ -1683,4 +1683,19 @@ config GPIO_VIRTIO
+ endmenu
  
 +comment "Other GPIO expanders"
 +
@@ -92,7 +92,7 @@ v1 -> v2:
  endif
 --- a/drivers/gpio/Makefile
 +++ b/drivers/gpio/Makefile
-@@ -44,6 +44,7 @@ obj-$(CONFIG_GPIO_BD9571MWV)         += gpio-bd
+@@ -45,6 +45,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 f5e444fe46b5b719361750c017ce3d72cf9a5e06..165ae67260866fc4ac00e60acbfde7228d0ce7e4 100644 (file)
@@ -31,9 +31,9 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  
 +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS
  /*
-  * The Mellanox Tavor device gives false positive parity errors.  Mark this
-  * device with a broken_parity_status to allow PCI scanning code to "skip"
-@@ -3322,6 +3323,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+  * The Mellanox Tavor device gives false positive parity errors.  Disable
+  * parity error reporting.
+@@ -3351,6 +3352,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
-@@ -3347,6 +3350,8 @@ static void quirk_intel_ntb(struct pci_d
+@@ -3376,6 +3379,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
-@@ -3385,6 +3390,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3414,6 +3419,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 42a83978394d5b79c30a7b59b484ab08d9ea30e8..9b0ce7100f1fc26e8827cf6e84e9555313a18012 100644 (file)
@@ -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
-@@ -484,7 +484,14 @@ extern int usb_hcd_pci_probe(struct pci_
+@@ -495,7 +495,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 95212138b65ea5dc110c341fbb1464c6bc7f4d01..dca9f333bac3d58d997e548fc1229d58c1f866f2 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
-@@ -650,6 +650,19 @@ u64 ata_tf_read_block(const struct ata_t
+@@ -656,6 +656,19 @@ u64 ata_tf_read_block(const struct ata_t
        return block;
  }
  
@@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  /**
   *    ata_build_rw_tf - Build ATA taskfile for given read/write request
   *    @tf: Target ATA taskfile
-@@ -4548,6 +4561,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -4573,6 +4586,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
                if (tag < 0)
                        return NULL;
        }
@@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
        qc = __ata_qc_from_tag(ap, tag);
        qc->tag = qc->hw_tag = tag;
-@@ -5326,6 +5342,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5351,6 +5367,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;
-@@ -5361,6 +5380,12 @@ static void ata_host_release(struct kref
+@@ -5386,6 +5405,12 @@ static void ata_host_release(struct kref
  
                kfree(ap->pmp_link);
                kfree(ap->slave_link);
@@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                kfree(ap);
                host->ports[i] = NULL;
        }
-@@ -5767,7 +5792,23 @@ int ata_host_register(struct ata_host *h
+@@ -5792,7 +5817,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
-@@ -882,6 +885,12 @@ struct ata_port {
+@@ -888,6 +891,12 @@ struct ata_port {
  #ifdef CONFIG_ATA_ACPI
        struct ata_acpi_gtm     __acpi_init_gtm; /* use ata_acpi_init_gtm() */
  #endif
index 580f0b1bfaaee3d558edd191cff0cecfd1303602..5ca8933d6fef4b79d8fa57e41430ac7fde6eb0f8 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
-@@ -163,6 +163,7 @@ static int bcm2835_rng_probe(struct plat
+@@ -170,6 +170,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 f2f0e61089b30622cab624619db3a004427ba02a..530ab9ba135f3b9ba0453dbeac80fbabcb589e0c 100644 (file)
@@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/usb/qmi_wwan.c
 +++ b/drivers/net/usb/qmi_wwan.c
-@@ -1252,6 +1252,7 @@ static const struct usb_device_id produc
+@@ -1313,6 +1313,7 @@ static const struct usb_device_id produc
        {QMI_FIXED_INTF(0x19d2, 0x1426, 2)},    /* ZTE MF91 */
        {QMI_FIXED_INTF(0x19d2, 0x1428, 2)},    /* Telewell TW-LTE 4G v2 */
        {QMI_FIXED_INTF(0x19d2, 0x1432, 3)},    /* ZTE ME3620 */
index fecd19166cab8c62d64156d394c9ef01c8dfbd54..1483ff0d6e32852b7f6f6c9edeeef1291b27830e 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -37,10 +37,6 @@
+@@ -38,10 +38,6 @@
  #define     PCIE_CORE_ERR_CAPCTL_ECRC_CHK_TX_EN                       BIT(6)
  #define     PCIE_CORE_ERR_CAPCTL_ECRC_CHCK                    BIT(7)
  #define     PCIE_CORE_ERR_CAPCTL_ECRC_CHCK_RCV                        BIT(8)
@@ -29,7 +29,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  /* PIO registers base address and register offsets */
  #define PIO_BASE_ADDR                         0x4000
  #define PIO_CTRL                              (PIO_BASE_ADDR + 0x0)
-@@ -966,7 +962,7 @@ static int advk_sw_pci_bridge_init(struc
+@@ -959,7 +955,7 @@ static int advk_sw_pci_bridge_init(struc
        bridge->conf.pref_mem_limit = cpu_to_le16(PCI_PREF_RANGE_TYPE_64);
  
        /* Support interrupt A for MSI feature */
index 72a432fc065a2bfb907a9af0b93553a6f272b976..629005b03011a982d31d561b22337e287bccd535 100644 (file)
@@ -27,7 +27,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1393,7 +1393,7 @@ static void advk_pcie_remove_irq_domain(
+@@ -1386,7 +1386,7 @@ static void advk_pcie_remove_irq_domain(
  static void advk_pcie_handle_msi(struct advk_pcie *pcie)
  {
        u32 msi_val, msi_mask, msi_status, msi_idx;
@@ -36,7 +36,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  
        msi_mask = advk_readl(pcie, PCIE_MSI_MASK_REG);
        msi_val = advk_readl(pcie, PCIE_MSI_STATUS_REG);
-@@ -1403,13 +1403,12 @@ static void advk_pcie_handle_msi(struct
+@@ -1396,13 +1396,12 @@ static void advk_pcie_handle_msi(struct
                if (!(BIT(msi_idx) & msi_status))
                        continue;
  
index 8b2d07089a74d5664ac7fa4642c2a7ec2a123578..952eb9d4059b5b1529564cb6fbf640378a1d607b 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1189,7 +1189,7 @@ static void advk_msi_irq_compose_msi_msg
+@@ -1182,7 +1182,7 @@ static void advk_msi_irq_compose_msi_msg
  
        msg->address_lo = lower_32_bits(msi_msg);
        msg->address_hi = upper_32_bits(msi_msg);
@@ -41,7 +41,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  }
  
  static int advk_msi_set_affinity(struct irq_data *irq_data,
-@@ -1206,15 +1206,11 @@ static int advk_msi_irq_domain_alloc(str
+@@ -1199,15 +1199,11 @@ static int advk_msi_irq_domain_alloc(str
        int hwirq, i;
  
        mutex_lock(&pcie->msi_used_lock);
@@ -61,7 +61,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  
        for (i = 0; i < nr_irqs; i++)
                irq_domain_set_info(domain, virq + i, hwirq + i,
-@@ -1232,7 +1228,7 @@ static void advk_msi_irq_domain_free(str
+@@ -1225,7 +1221,7 @@ static void advk_msi_irq_domain_free(str
        struct advk_pcie *pcie = domain->host_data;
  
        mutex_lock(&pcie->msi_used_lock);
index 47a26ceeb80077a371b6e475a100502ae73110e0..0418b1c303326ac66cf53d8df99f33b9731b7fdd 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -275,6 +275,7 @@ struct advk_pcie {
+@@ -268,6 +268,7 @@ struct advk_pcie {
                u32 actions;
        } wins[OB_WIN_COUNT];
        u8 wins_count;
@@ -31,7 +31,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
        struct irq_domain *irq_domain;
        struct irq_chip irq_chip;
        raw_spinlock_t irq_lock;
-@@ -1442,21 +1443,26 @@ static void advk_pcie_handle_int(struct
+@@ -1434,21 +1435,26 @@ static void advk_pcie_handle_int(struct
        }
  }
  
@@ -68,7 +68,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  }
  
  static void __maybe_unused advk_pcie_disable_phy(struct advk_pcie *pcie)
-@@ -1523,7 +1529,7 @@ static int advk_pcie_probe(struct platfo
+@@ -1515,7 +1521,7 @@ static int advk_pcie_probe(struct platfo
        struct advk_pcie *pcie;
        struct pci_host_bridge *bridge;
        struct resource_entry *entry;
@@ -77,7 +77,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  
        bridge = devm_pci_alloc_host_bridge(dev, sizeof(struct advk_pcie));
        if (!bridge)
-@@ -1611,17 +1617,9 @@ static int advk_pcie_probe(struct platfo
+@@ -1601,17 +1607,9 @@ static int advk_pcie_probe(struct platfo
        if (IS_ERR(pcie->base))
                return PTR_ERR(pcie->base);
  
@@ -98,7 +98,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  
        pcie->reset_gpio = devm_gpiod_get_from_of_node(dev, dev->of_node,
                                                       "reset-gpios", 0,
-@@ -1670,11 +1668,14 @@ static int advk_pcie_probe(struct platfo
+@@ -1660,11 +1658,14 @@ static int advk_pcie_probe(struct platfo
                return ret;
        }
  
@@ -113,7 +113,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
                advk_pcie_remove_msi_irq_domain(pcie);
                advk_pcie_remove_irq_domain(pcie);
                return ret;
-@@ -1722,6 +1723,9 @@ static int advk_pcie_remove(struct platf
+@@ -1712,6 +1713,9 @@ static int advk_pcie_remove(struct platf
        advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_REG);
        advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG);
  
index 355c835a6ed46caed1e019709a9965506bfd4d4b..3910767ea35b055e1a920160bd17dedfb26e089a 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1439,7 +1439,9 @@ static void advk_pcie_handle_int(struct
+@@ -1431,7 +1431,9 @@ static void advk_pcie_handle_int(struct
                advk_writel(pcie, PCIE_ISR1_INTX_ASSERT(i),
                            PCIE_ISR1_REG);
  
index 154b11290ac9d12ba46a35edf27805342006d873..cf8ab19684b927f0ec96677ffe7aec3bcd0eb6d8 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -281,8 +281,6 @@ struct advk_pcie {
+@@ -274,8 +274,6 @@ struct advk_pcie {
        raw_spinlock_t irq_lock;
        struct irq_domain *msi_domain;
        struct irq_domain *msi_inner_domain;
@@ -34,7 +34,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
        struct msi_domain_info msi_domain_info;
        DECLARE_BITMAP(msi_used, MSI_IRQ_NUM);
        struct mutex msi_used_lock;
-@@ -1199,6 +1197,12 @@ static int advk_msi_set_affinity(struct
+@@ -1192,6 +1190,12 @@ static int advk_msi_set_affinity(struct
        return -EINVAL;
  }
  
@@ -47,7 +47,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  static int advk_msi_irq_domain_alloc(struct irq_domain *domain,
                                     unsigned int virq,
                                     unsigned int nr_irqs, void *args)
-@@ -1215,7 +1219,7 @@ static int advk_msi_irq_domain_alloc(str
+@@ -1208,7 +1212,7 @@ static int advk_msi_irq_domain_alloc(str
  
        for (i = 0; i < nr_irqs; i++)
                irq_domain_set_info(domain, virq + i, hwirq + i,
@@ -56,7 +56,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
                                    domain->host_data, handle_simple_irq,
                                    NULL, NULL);
  
-@@ -1285,29 +1289,23 @@ static const struct irq_domain_ops advk_
+@@ -1278,29 +1282,23 @@ static const struct irq_domain_ops advk_
        .xlate = irq_domain_xlate_onecell,
  };
  
index 2f15b5b8d6bacd57061fed96245d8718873b4082..370de6cdc71540a598bd69599a339ce79560e0f5 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -281,7 +281,6 @@ struct advk_pcie {
+@@ -274,7 +274,6 @@ struct advk_pcie {
        raw_spinlock_t irq_lock;
        struct irq_domain *msi_domain;
        struct irq_domain *msi_inner_domain;
@@ -25,7 +25,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
        DECLARE_BITMAP(msi_used, MSI_IRQ_NUM);
        struct mutex msi_used_lock;
        u16 msi_msg;
-@@ -1293,20 +1292,20 @@ static struct irq_chip advk_msi_irq_chip
+@@ -1286,20 +1285,20 @@ static struct irq_chip advk_msi_irq_chip
        .name = "advk-MSI",
  };
  
@@ -52,7 +52,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
        msi_msg_phys = virt_to_phys(&pcie->msi_msg);
  
        advk_writel(pcie, lower_32_bits(msi_msg_phys),
-@@ -1322,7 +1321,8 @@ static int advk_pcie_init_msi_irq_domain
+@@ -1315,7 +1314,8 @@ static int advk_pcie_init_msi_irq_domain
  
        pcie->msi_domain =
                pci_msi_create_irq_domain(of_node_to_fwnode(node),
index 73f7cb9476a4109f206eff09cff5a08bdac991f0..46f0d7f83bd1b5d024470b672708fc317b60a992 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1301,7 +1301,6 @@ static struct msi_domain_info advk_msi_d
+@@ -1294,7 +1294,6 @@ static struct msi_domain_info advk_msi_d
  static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie)
  {
        struct device *dev = &pcie->pdev->dev;
@@ -29,7 +29,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
        phys_addr_t msi_msg_phys;
  
        mutex_init(&pcie->msi_used_lock);
-@@ -1320,7 +1319,7 @@ static int advk_pcie_init_msi_irq_domain
+@@ -1313,7 +1312,7 @@ static int advk_pcie_init_msi_irq_domain
                return -ENOMEM;
  
        pcie->msi_domain =
index 6cdaddc51c5b1ef929db3f340b0887a53ddb2533..7c36f7d2d6dfdba726ad2fe615e7d01ff2afbd90 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -578,15 +578,17 @@ static void advk_pcie_setup_hw(struct ad
+@@ -571,15 +571,17 @@ static void advk_pcie_setup_hw(struct ad
        advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG);
  
        /* Disable All ISR0/1 Sources */
index 808094ebd87903a13057e620c4ff2974ec4deb34..8a80d67af34dee75a8f0fa78fc70af66432f1071 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -281,6 +281,7 @@ struct advk_pcie {
+@@ -274,6 +274,7 @@ struct advk_pcie {
        raw_spinlock_t irq_lock;
        struct irq_domain *msi_domain;
        struct irq_domain *msi_inner_domain;
@@ -28,7 +28,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
        DECLARE_BITMAP(msi_used, MSI_IRQ_NUM);
        struct mutex msi_used_lock;
        u16 msi_msg;
-@@ -577,12 +578,10 @@ static void advk_pcie_setup_hw(struct ad
+@@ -570,12 +571,10 @@ static void advk_pcie_setup_hw(struct ad
        advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_REG);
        advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG);
  
@@ -43,7 +43,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  
        /* Unmask summary MSI interrupt */
        reg = advk_readl(pcie, PCIE_ISR0_MASK_REG);
-@@ -1198,10 +1197,52 @@ static int advk_msi_set_affinity(struct
+@@ -1191,10 +1190,52 @@ static int advk_msi_set_affinity(struct
        return -EINVAL;
  }
  
@@ -96,7 +96,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  };
  
  static int advk_msi_irq_domain_alloc(struct irq_domain *domain,
-@@ -1291,7 +1332,9 @@ static const struct irq_domain_ops advk_
+@@ -1284,7 +1325,9 @@ static const struct irq_domain_ops advk_
  };
  
  static struct irq_chip advk_msi_irq_chip = {
@@ -107,7 +107,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  };
  
  static struct msi_domain_info advk_msi_domain_info = {
-@@ -1305,6 +1348,7 @@ static int advk_pcie_init_msi_irq_domain
+@@ -1298,6 +1341,7 @@ static int advk_pcie_init_msi_irq_domain
        struct device *dev = &pcie->pdev->dev;
        phys_addr_t msi_msg_phys;
  
index 4807f24a1276382fee3c1e6bfae66b7d940ecb11..e481fb2799da8bea5e7ac391314778213edb066b 100644 (file)
@@ -28,7 +28,7 @@ Cc: stable@vger.kernel.org # f21a8b1b6837 ("PCI: aardvark: Move to MSI handling
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -284,7 +284,6 @@ struct advk_pcie {
+@@ -277,7 +277,6 @@ struct advk_pcie {
        raw_spinlock_t msi_irq_lock;
        DECLARE_BITMAP(msi_used, MSI_IRQ_NUM);
        struct mutex msi_used_lock;
@@ -36,7 +36,7 @@ Cc: stable@vger.kernel.org # f21a8b1b6837 ("PCI: aardvark: Move to MSI handling
        int link_gen;
        struct pci_bridge_emul bridge;
        struct gpio_desc *reset_gpio;
-@@ -479,6 +478,7 @@ static void advk_pcie_disable_ob_win(str
+@@ -472,6 +471,7 @@ static void advk_pcie_disable_ob_win(str
  
  static void advk_pcie_setup_hw(struct advk_pcie *pcie)
  {
@@ -44,7 +44,7 @@ Cc: stable@vger.kernel.org # f21a8b1b6837 ("PCI: aardvark: Move to MSI handling
        u32 reg;
        int i;
  
-@@ -567,6 +567,11 @@ static void advk_pcie_setup_hw(struct ad
+@@ -560,6 +560,11 @@ static void advk_pcie_setup_hw(struct ad
        reg |= LANE_COUNT_1;
        advk_writel(pcie, reg, PCIE_CORE_CTRL0_REG);
  
@@ -56,7 +56,7 @@ Cc: stable@vger.kernel.org # f21a8b1b6837 ("PCI: aardvark: Move to MSI handling
        /* Enable MSI */
        reg = advk_readl(pcie, PCIE_CORE_CTRL2_REG);
        reg |= PCIE_CORE_CTRL2_MSI_ENABLE;
-@@ -1184,10 +1189,10 @@ static void advk_msi_irq_compose_msi_msg
+@@ -1177,10 +1182,10 @@ static void advk_msi_irq_compose_msi_msg
                                         struct msi_msg *msg)
  {
        struct advk_pcie *pcie = irq_data_get_irq_chip_data(data);
@@ -70,7 +70,7 @@ Cc: stable@vger.kernel.org # f21a8b1b6837 ("PCI: aardvark: Move to MSI handling
        msg->data = data->hwirq;
  }
  
-@@ -1346,18 +1351,10 @@ static struct msi_domain_info advk_msi_d
+@@ -1339,18 +1344,10 @@ static struct msi_domain_info advk_msi_d
  static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie)
  {
        struct device *dev = &pcie->pdev->dev;
index 20757c7a80349addd56532e17372861091603604..85d57d40ef05c63971a051c9334c5d5266ab29c7 100644 (file)
@@ -27,7 +27,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1344,7 +1344,7 @@ static struct irq_chip advk_msi_irq_chip
+@@ -1337,7 +1337,7 @@ static struct irq_chip advk_msi_irq_chip
  
  static struct msi_domain_info advk_msi_domain_info = {
        .flags  = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
index eb27610aa366298a15f2b1b699f25ab5adbf8cbc..4a552a2ed3519f5f0cb1a346a1136e21e761931c 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -97,6 +97,10 @@
+@@ -98,6 +98,10 @@
  #define PCIE_MSG_PM_PME_MASK                  BIT(7)
  #define PCIE_ISR0_MASK_REG                    (CONTROL_BASE_ADDR + 0x44)
  #define     PCIE_ISR0_MSI_INT_PENDING         BIT(24)
@@ -41,7 +41,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  #define     PCIE_ISR0_INTX_ASSERT(val)                BIT(16 + (val))
  #define     PCIE_ISR0_INTX_DEASSERT(val)      BIT(20 + (val))
  #define     PCIE_ISR0_ALL_MASK                        GENMASK(31, 0)
-@@ -785,11 +789,15 @@ advk_pci_bridge_emul_base_conf_read(stru
+@@ -778,11 +782,15 @@ advk_pci_bridge_emul_base_conf_read(stru
        case PCI_INTERRUPT_LINE: {
                /*
                 * From the whole 32bit register we support reading from HW only
@@ -58,7 +58,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
                if (advk_readl(pcie, PCIE_CORE_CTRL1_REG) & HOT_RESET_GEN)
                        val |= PCI_BRIDGE_CTL_BUS_RESET << 16;
                else
-@@ -815,6 +823,19 @@ advk_pci_bridge_emul_base_conf_write(str
+@@ -808,6 +816,19 @@ advk_pci_bridge_emul_base_conf_write(str
                break;
  
        case PCI_INTERRUPT_LINE:
@@ -78,7 +78,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
                if (mask & (PCI_BRIDGE_CTL_BUS_RESET << 16)) {
                        u32 val = advk_readl(pcie, PCIE_CORE_CTRL1_REG);
                        if (new & (PCI_BRIDGE_CTL_BUS_RESET << 16))
-@@ -1466,6 +1487,19 @@ static void advk_pcie_handle_int(struct
+@@ -1459,6 +1480,19 @@ static void advk_pcie_handle_int(struct
        isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
        isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK);
  
index 4a2cd77144fbfd1aaf45ace875cb9c1dda715fc7..55ae07e70358ba5ff8a98d57027ca991ca2bd9f3 100644 (file)
@@ -31,7 +31,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -874,7 +874,9 @@ advk_pci_bridge_emul_pcie_conf_read(stru
+@@ -867,7 +867,9 @@ advk_pci_bridge_emul_pcie_conf_read(stru
        case PCI_EXP_RTSTA: {
                u32 isr0 = advk_readl(pcie, PCIE_ISR0_REG);
                u32 msglog = advk_readl(pcie, PCIE_MSG_LOG_REG);
index 5ed809def248e15074fbdaa9f2942e54cf94cc11..f988bb3e6292c2455c45902724ecacaa0b71bc1a 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -932,19 +932,21 @@ advk_pci_bridge_emul_pcie_conf_write(str
+@@ -925,19 +925,21 @@ advk_pci_bridge_emul_pcie_conf_write(str
                        advk_pcie_wait_for_retrain(pcie);
                break;
  
index 4272b6dd6eaf435dab3cfa2a05060704eee5968f..64641e77108f5c3943c03202d0b382f9e734c3d3 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1491,6 +1491,19 @@ static void advk_pcie_handle_int(struct
+@@ -1484,6 +1484,19 @@ static void advk_pcie_handle_int(struct
        isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
        isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK);
  
index 6aa7dcbd76ba3f40f5454c786549d5e020de6900..c2a0d8f723aaa417a8af99cb36fd38311d4f7f26 100644 (file)
@@ -40,7 +40,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -597,6 +597,11 @@ static void advk_pcie_setup_hw(struct ad
+@@ -590,6 +590,11 @@ static void advk_pcie_setup_hw(struct ad
        reg &= ~PCIE_ISR0_MSI_INT_PENDING;
        advk_writel(pcie, reg, PCIE_ISR0_MASK_REG);
  
@@ -52,7 +52,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
        /* Enable summary interrupt for GIC SPI source */
        reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK);
        advk_writel(pcie, reg, HOST_CTRL_INT_MASK_REG);
-@@ -863,22 +868,11 @@ advk_pci_bridge_emul_pcie_conf_read(stru
+@@ -856,22 +861,11 @@ advk_pci_bridge_emul_pcie_conf_read(stru
                *value = PCI_EXP_SLTSTA_PDS << 16;
                return PCI_BRIDGE_EMUL_HANDLED;
  
@@ -80,7 +80,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  
        case PCI_EXP_LNKCAP: {
                u32 val = advk_readl(pcie, PCIE_CORE_PCIEXP_CAP + reg);
-@@ -932,22 +926,19 @@ advk_pci_bridge_emul_pcie_conf_write(str
+@@ -925,22 +919,19 @@ advk_pci_bridge_emul_pcie_conf_write(str
                        advk_pcie_wait_for_retrain(pcie);
                break;
  
@@ -114,7 +114,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  
        case PCI_EXP_DEVCTL:
        case PCI_EXP_DEVCTL2:
-@@ -1452,6 +1443,34 @@ static void advk_pcie_remove_irq_domain(
+@@ -1445,6 +1436,34 @@ static void advk_pcie_remove_irq_domain(
        irq_domain_remove(pcie->irq_domain);
  }
  
@@ -149,7 +149,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  static void advk_pcie_handle_msi(struct advk_pcie *pcie)
  {
        u32 msi_val, msi_mask, msi_status, msi_idx;
-@@ -1491,18 +1510,9 @@ static void advk_pcie_handle_int(struct
+@@ -1484,18 +1503,9 @@ static void advk_pcie_handle_int(struct
        isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
        isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK);
  
index e9f65aca2378ba58da72af75b61d262368285bfa..dfcd84f47542f8c2e6041f34301ea3e89108d15e 100644 (file)
@@ -33,7 +33,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -280,6 +280,7 @@ struct advk_pcie {
+@@ -273,6 +273,7 @@ struct advk_pcie {
        } wins[OB_WIN_COUNT];
        u8 wins_count;
        int irq;
@@ -41,7 +41,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
        struct irq_domain *irq_domain;
        struct irq_chip irq_chip;
        raw_spinlock_t irq_lock;
-@@ -1443,6 +1444,44 @@ static void advk_pcie_remove_irq_domain(
+@@ -1436,6 +1437,44 @@ static void advk_pcie_remove_irq_domain(
        irq_domain_remove(pcie->irq_domain);
  }
  
@@ -86,7 +86,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  static void advk_pcie_handle_pme(struct advk_pcie *pcie)
  {
        u32 requester = advk_readl(pcie, PCIE_MSG_LOG_REG) >> 16;
-@@ -1465,7 +1504,7 @@ static void advk_pcie_handle_pme(struct
+@@ -1458,7 +1497,7 @@ static void advk_pcie_handle_pme(struct
                if (!(le16_to_cpu(pcie->bridge.pcie_conf.rootctl) & PCI_EXP_RTCTL_PMEIE))
                        return;
  
@@ -95,7 +95,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
                if (generic_handle_irq(virq) == -EINVAL)
                        dev_err_ratelimited(&pcie->pdev->dev, "unhandled PME IRQ\n");
        }
-@@ -1522,7 +1561,7 @@ static void advk_pcie_handle_int(struct
+@@ -1515,7 +1554,7 @@ static void advk_pcie_handle_int(struct
                 * Aardvark HW returns zero for PCI_ERR_ROOT_AER_IRQ, so use
                 * PCIe interrupt 0
                 */
@@ -104,7 +104,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
                if (generic_handle_irq(virq) == -EINVAL)
                        dev_err_ratelimited(&pcie->pdev->dev, "unhandled ERR IRQ\n");
        }
-@@ -1568,6 +1607,21 @@ static void advk_pcie_irq_handler(struct
+@@ -1560,6 +1599,21 @@ static void advk_pcie_irq_handler(struct
        chained_irq_exit(chip, desc);
  }
  
@@ -126,7 +126,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  static void __maybe_unused advk_pcie_disable_phy(struct advk_pcie *pcie)
  {
        phy_power_off(pcie->phy);
-@@ -1771,14 +1825,24 @@ static int advk_pcie_probe(struct platfo
+@@ -1761,14 +1815,24 @@ static int advk_pcie_probe(struct platfo
                return ret;
        }
  
@@ -151,7 +151,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
                advk_pcie_remove_msi_irq_domain(pcie);
                advk_pcie_remove_irq_domain(pcie);
                return ret;
-@@ -1830,6 +1894,7 @@ static int advk_pcie_remove(struct platf
+@@ -1820,6 +1884,7 @@ static int advk_pcie_remove(struct platf
        irq_set_chained_handler_and_data(pcie->irq, NULL, NULL);
  
        /* Remove IRQ domains */
index 75f31ba19e101755c49cd856ffca8ffe1bffa71b..49422f4c68b1162c25921ab4b70f1031d5fd3393 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1422,7 +1422,6 @@ static int advk_pcie_init_irq_domain(str
+@@ -1415,7 +1415,6 @@ static int advk_pcie_init_irq_domain(str
        }
  
        irq_chip->irq_mask = advk_pcie_irq_mask;
index 5583dc1b6fd6690eb872a1455152ea597287a74a..803441293da5318b4cfd82780ce52ac65f2d03e4 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1339,7 +1339,6 @@ static int advk_pcie_irq_map(struct irq_
+@@ -1332,7 +1332,6 @@ static int advk_pcie_irq_map(struct irq_
  {
        struct advk_pcie *pcie = h->host_data;
  
index f359663ca4ec331b128a06d04781d02e43e45e3d..c10352ebfd49e5a7891c106f9c2bb45a7a51a4b7 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1620,7 +1620,7 @@ static int advk_pcie_map_irq(const struc
+@@ -1612,7 +1612,7 @@ static int advk_pcie_map_irq(const struc
                return of_irq_parse_and_map_pci(dev, slot, pin);
  }
  
index cc489ebc8a8310a96df5ce699818930ff78f016d..fc3efac2833958e64edf485c59be2d061f5c9218 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1005,8 +1005,12 @@ static bool advk_pcie_valid_device(struc
+@@ -998,8 +998,12 @@ static bool advk_pcie_valid_device(struc
                return false;
  
        /*
index a5e2d8a3dd9296844b31d7f4ccd62880152e7350..96a55ba31158203a20825cc72792a3ef8f34e14d 100644 (file)
@@ -33,7 +33,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -282,7 +282,6 @@ struct advk_pcie {
+@@ -275,7 +275,6 @@ struct advk_pcie {
        int irq;
        struct irq_domain *rp_irq_domain;
        struct irq_domain *irq_domain;
@@ -41,7 +41,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
        raw_spinlock_t irq_lock;
        struct irq_domain *msi_domain;
        struct irq_domain *msi_inner_domain;
-@@ -1338,14 +1337,19 @@ static void advk_pcie_irq_unmask(struct
+@@ -1331,14 +1330,19 @@ static void advk_pcie_irq_unmask(struct
        raw_spin_unlock_irqrestore(&pcie->irq_lock, flags);
  }
  
@@ -63,7 +63,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
        irq_set_chip_data(virq, pcie);
  
        return 0;
-@@ -1404,7 +1408,6 @@ static int advk_pcie_init_irq_domain(str
+@@ -1397,7 +1401,6 @@ static int advk_pcie_init_irq_domain(str
        struct device *dev = &pcie->pdev->dev;
        struct device_node *node = dev->of_node;
        struct device_node *pcie_intc_node;
@@ -71,7 +71,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
        int ret = 0;
  
        raw_spin_lock_init(&pcie->irq_lock);
-@@ -1415,28 +1418,14 @@ static int advk_pcie_init_irq_domain(str
+@@ -1408,28 +1411,14 @@ static int advk_pcie_init_irq_domain(str
                return -ENODEV;
        }
  
index 857ee66a315ae2dca39354b93f7dabd49756c1cb..3012120a10e168c0925351808d7621a498dbc5e3 100644 (file)
@@ -23,7 +23,7 @@ Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1637,9 +1637,7 @@ static int advk_pcie_enable_phy(struct a
+@@ -1629,9 +1629,7 @@ static int advk_pcie_enable_phy(struct a
        }
  
        ret = phy_power_on(pcie->phy);
index bd9de92000ca32a16b3a8da09f11cc9df91af854..d3f3a1c6393791389e19b6b8ea4e10ae9d9f0b90 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
 
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -1800,6 +1800,15 @@ config EMBEDDED
+@@ -1805,6 +1805,15 @@ config EMBEDDED
          an embedded system so certain expert options are available
          for configuration.
  
@@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
        help
 --- a/init/main.c
 +++ b/init/main.c
-@@ -608,6 +608,29 @@ static inline void setup_nr_cpu_ids(void
+@@ -614,6 +614,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
-@@ -869,6 +892,7 @@ asmlinkage __visible void __init __no_sa
+@@ -954,6 +977,7 @@ asmlinkage __visible void __init __no_sa
        pr_notice("%s", linux_banner);
        early_security_init();
        setup_arch(&command_line);