generic: 6.6: manually refresh pending patches
authorWeijie Gao <hackpascal@gmail.com>
Wed, 3 Jan 2024 18:02:00 +0000 (02:02 +0800)
committerRobert Marko <robimarko@gmail.com>
Mon, 11 Mar 2024 19:17:26 +0000 (20:17 +0100)
Refresh pending patches for kernel 6.6.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Weijie Gao <hackpascal@gmail.com>
43 files changed:
target/linux/generic/pending-6.6/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
target/linux/generic/pending-6.6/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
target/linux/generic/pending-6.6/141-jffs2-add-RENAME_EXCHANGE-support.patch
target/linux/generic/pending-6.6/142-jffs2-add-splice-ops.patch
target/linux/generic/pending-6.6/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch
target/linux/generic/pending-6.6/191-rtc-rs5c372-let_the_alarm_to_be_used_as_wakeup_source.patch
target/linux/generic/pending-6.6/203-kallsyms_uncompressed.patch
target/linux/generic/pending-6.6/205-backtrace_module_info.patch
target/linux/generic/pending-6.6/302-mips_no_branch_likely.patch
target/linux/generic/pending-6.6/305-mips_module_reloc.patch
target/linux/generic/pending-6.6/332-arc-add-OWRTDTB-section.patch
target/linux/generic/pending-6.6/401-mtd-don-t-register-NVMEM-devices-for-partitions-with.patch
target/linux/generic/pending-6.6/450-03-mtd-ubi-block-use-notifier-to-create-ubiblock-from-p.patch
target/linux/generic/pending-6.6/450-09-block-partitions-populate-fwnode.patch
target/linux/generic/pending-6.6/450-11-block-implement-NVMEM-provider.patch
target/linux/generic/pending-6.6/450-13-mmc-core-set-card-fwnode_handle.patch
target/linux/generic/pending-6.6/450-14-mmc-block-set-fwnode-of-disk-devices.patch
target/linux/generic/pending-6.6/465-m25p80-mx-disable-software-protection.patch
target/linux/generic/pending-6.6/479-mtd-spi-nor-add-xtx-xt25f128b.patch
target/linux/generic/pending-6.6/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch
target/linux/generic/pending-6.6/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch
target/linux/generic/pending-6.6/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
target/linux/generic/pending-6.6/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
target/linux/generic/pending-6.6/499-mtd-spi-nor-disable-16-bit-sr-for-macronix.patch
target/linux/generic/pending-6.6/500-fs_cdrom_dependencies.patch
target/linux/generic/pending-6.6/511-init-bypass-device-lookup-for-dev-fit-rootfs.patch
target/linux/generic/pending-6.6/530-jffs2_make_lzma_available.patch
target/linux/generic/pending-6.6/630-packet_socket_type.patch
target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
target/linux/generic/pending-6.6/683-of_net-add-mac-address-to-of-tree.patch
target/linux/generic/pending-6.6/703-phy-add-detach-callback-to-struct-phy_driver.patch
target/linux/generic/pending-6.6/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
target/linux/generic/pending-6.6/730-net-phy-realtek-detect-early-version-of-RTL8221B.patch
target/linux/generic/pending-6.6/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch
target/linux/generic/pending-6.6/739-05-net-pcs-add-driver-for-MediaTek-USXGMII-PCS.patch
target/linux/generic/pending-6.6/760-net-core-add-optional-threading-for-backlog-processi.patch
target/linux/generic/pending-6.6/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch
target/linux/generic/pending-6.6/804-nvmem-core-support-mac-base-fixed-layout-cells.patch
target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch
target/linux/generic/pending-6.6/834-ledtrig-libata.patch
target/linux/generic/pending-6.6/870-ARM-dts-nxp-imx7d-pico-add-cpu-supply-nodes.patch
target/linux/generic/pending-6.6/920-mangle_bootargs.patch

index 4bf473f9a797459c1fa926b14b93288b71b053ad..099b07ef7aff0de38b3039baf5390fd7f112bc49 100644 (file)
@@ -69,9 +69,9 @@ previously calculated offset is zero for the named platform it is able to boot
 Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
 ---
 
---- a/mm/page_alloc.c
-+++ b/mm/page_alloc.c
-@@ -7897,7 +7897,7 @@ static void __init alloc_node_mem_map(st
+--- a/mm/mm_init.c
++++ b/mm/mm_init.c
+@@ -1673,7 +1673,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 8f40ae3ba2400d170b69e6cc1951c8b896e86afe..b82f3d80129e02c3acd1d374e75be2a26efd0407 100644 (file)
@@ -8,18 +8,18 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/fs/jffs2/dir.c
 +++ b/fs/jffs2/dir.c
-@@ -614,8 +614,8 @@ static int jffs2_rmdir (struct inode *di
+@@ -617,8 +617,8 @@ static int jffs2_rmdir (struct inode *di
        return ret;
  }
  
--static int jffs2_mknod (struct user_namespace *mnt_userns, struct inode *dir_i,
+-static int jffs2_mknod (struct mnt_idmap *idmap, struct inode *dir_i,
 -                      struct dentry *dentry, umode_t mode, dev_t rdev)
-+static int __jffs2_mknod (struct user_namespace *mnt_userns, struct inode *dir_i,
-+                        struct dentry *dentry, umode_t mode, dev_t rdev, bool whiteout)
++static int __jffs2_mknod (struct mnt_idmap *idmap, struct inode *dir_i,
++                        struct dentry *dentry, umode_t mode, dev_t rdev, bool whiteout)
  {
        struct jffs2_inode_info *f, *dir_f;
        struct jffs2_sb_info *c;
-@@ -754,7 +754,11 @@ static int jffs2_mknod (struct user_name
+@@ -758,7 +758,11 @@ static int jffs2_mknod (struct mnt_idmap
        mutex_unlock(&dir_f->sem);
        jffs2_complete_reservation(c);
  
@@ -32,27 +32,27 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        return 0;
  
   fail:
-@@ -762,6 +766,19 @@ static int jffs2_mknod (struct user_name
+@@ -766,6 +770,19 @@ static int jffs2_mknod (struct mnt_idmap
        return ret;
  }
  
-+static int jffs2_mknod (struct user_namespace *mnt_userns, struct inode *dir_i,
-+                        struct dentry *dentry, umode_t mode, dev_t rdev)
++static int jffs2_mknod (struct mnt_idmap *idmap, struct inode *dir_i,
++                      struct dentry *dentry, umode_t mode, dev_t rdev)
 +{
-+      return __jffs2_mknod(mnt_userns, dir_i, dentry, mode, rdev, false);
++      return __jffs2_mknod(idmap, dir_i, dentry, mode, rdev, false);
 +}
 +
-+static int jffs2_whiteout (struct user_namespace *mnt_userns, struct inode *old_dir,
-+                          struct dentry *old_dentry)
++static int jffs2_whiteout (struct mnt_idmap *idmap, struct inode *old_dir,
++                         struct dentry *old_dentry)
 +{
-+      return __jffs2_mknod(mnt_userns, old_dir, old_dentry, S_IFCHR | WHITEOUT_MODE,
++      return __jffs2_mknod(idmap, old_dir, old_dentry, S_IFCHR | WHITEOUT_MODE,
 +                           WHITEOUT_DEV, true);
 +}
 +
- static int jffs2_rename (struct user_namespace *mnt_userns,
+ static int jffs2_rename (struct mnt_idmap *idmap,
                         struct inode *old_dir_i, struct dentry *old_dentry,
                         struct inode *new_dir_i, struct dentry *new_dentry,
-@@ -773,7 +790,7 @@ static int jffs2_rename (struct user_nam
+@@ -777,7 +794,7 @@ static int jffs2_rename (struct mnt_idma
        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
-@@ -839,9 +856,14 @@ static int jffs2_rename (struct user_nam
+@@ -843,9 +860,14 @@ static int jffs2_rename (struct mnt_idma
        if (d_is_dir(old_dentry) && !victim_f)
                inc_nlink(new_dir_i);
  
@@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 -                            old_dentry->d_name.name, old_dentry->d_name.len, NULL, now);
 +      if (flags & RENAME_WHITEOUT)
 +              /* Replace with whiteout */
-+              ret = jffs2_whiteout(mnt_userns, old_dir_i, old_dentry);
++              ret = jffs2_whiteout(idmap, old_dir_i, old_dentry);
 +      else
 +              /* Unlink the original */
 +              ret = jffs2_do_unlink(c, JFFS2_INODE_INFO(old_dir_i),
index f58fc791d2815709400a3ea500181149e05973bc..c3a528ec9026aa8bde34ed7af9b564d82aeb4823 100644 (file)
@@ -6,7 +6,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/fs/jffs2/dir.c
 +++ b/fs/jffs2/dir.c
-@@ -787,18 +787,31 @@ static int jffs2_rename (struct user_nam
+@@ -791,18 +791,31 @@ static int jffs2_rename (struct mnt_idma
        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;
-@@ -833,7 +846,7 @@ static int jffs2_rename (struct user_nam
+@@ -837,7 +850,7 @@ static int jffs2_rename (struct mnt_idma
        if (ret)
                return ret;
  
@@ -49,10 +49,10 @@ 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));
-@@ -859,6 +872,12 @@ static int jffs2_rename (struct user_nam
+@@ -863,6 +876,12 @@ static int jffs2_rename (struct mnt_idma
        if (flags & RENAME_WHITEOUT)
                /* Replace with whiteout */
-               ret = jffs2_whiteout(mnt_userns, old_dir_i, old_dentry);
+               ret = jffs2_whiteout(idmap, old_dir_i, old_dentry);
 +      else if (flags & RENAME_EXCHANGE)
 +              /* Replace the original */
 +              ret = jffs2_do_link(c, JFFS2_INODE_INFO(old_dir_i),
@@ -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),
-@@ -890,7 +909,7 @@ static int jffs2_rename (struct user_nam
+@@ -895,7 +914,7 @@ static int jffs2_rename (struct mnt_idma
                return ret;
        }
  
@@ -70,4 +70,4 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +      if (d_is_dir(old_dentry) && !(flags & RENAME_EXCHANGE))
                drop_nlink(old_dir_i);
  
-       new_dir_i->i_mtime = new_dir_i->i_ctime = old_dir_i->i_mtime = old_dir_i->i_ctime = ITIME(now);
+       old_dir_i->i_mtime = inode_set_ctime_to_ts(old_dir_i, ITIME(now));
index de847a1f5cd1fc3d8b119ca9254c1330670d8faa..ea57158cc22ea97db094676d38f08b3eca1d4dd7 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        .open =         generic_file_open,
        .read_iter =    generic_file_read_iter,
        .write_iter =   generic_file_write_iter,
-+      .splice_read =  generic_file_splice_read,
++      .splice_read =  filemap_splice_read,
 +      .splice_write = iter_file_splice_write,
        .unlocked_ioctl=jffs2_ioctl,
        .mmap =         generic_file_readonly_mmap,
index f420d210c27cad7db8ed051f2d3ca53073adac24..3abeacaffb863844c45398845a4c2e46ed40d13a 100644 (file)
@@ -17,8 +17,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +++ b/net/bridge/br_arp_nd_proxy.c
 @@ -204,7 +204,10 @@ void br_do_proxy_suppress_arp(struct sk_
                        if ((p && (p->flags & BR_PROXYARP)) ||
-                           (f->dst && (f->dst->flags & (BR_PROXYARP_WIFI |
-                                                        BR_NEIGH_SUPPRESS)))) {
+                           (f->dst && (f->dst->flags & BR_PROXYARP_WIFI)) ||
+                           br_is_neigh_suppress_enabled(f->dst, vid)) {
 -                              if (!vid)
 +                              replied = true;
 +                              if (!memcmp(n->ha, sha, dev->addr_len))
index a9a5cdf8ba2421c90d9d1a150c7c9b4ffdb1c444..85e56008474299d613e9932e5797ca7820f11d4a 100644 (file)
@@ -26,8 +26,8 @@ Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
        dev_dbg(&client->dev, "%s\n", __func__);
  
 @@ -868,6 +869,12 @@ static int rs5c372_probe(struct i2c_clie
-       else
                rs5c372->type = id->driver_data;
+       }
  
 +#ifdef CONFIG_OF
 +      if(of_property_read_bool(client->dev.of_node,
index 78ed262b786c6a05ca633220fca47f078958a016..5c6f620749713a58c6eacc69c625a467c7d7e99d 100644 (file)
@@ -66,8 +66,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static int base_relative;
  static int lto_clang;
 @@ -608,6 +609,9 @@ static void write_src(void)
-                       (unsigned char)(table[i]->seq >> 0));
-       printf("\n");
+       free(markers);
  
 +      if (uncompressed)
 +              return;
index 27a1347981960e1f0058eac4daaa75ef9f9fbc60..7bbb596a5d860fdc5efe263cffbc6b975b2a6600 100644 (file)
@@ -32,8 +32,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +      mod = __module_address(value);
 +      if (mod)
 +              snprintf(sym + len, sizeof(sym) - len, " [%s@%p+0x%x]",
-+                       mod->name, mod->core_layout.base,
-+                       mod->core_layout.size);
++                       mod->name, mod->mem[MOD_TEXT].base,
++                       mod->mem[MOD_TEXT].size);
  #endif
 +      return string(buf, end, sym, spec);
  }
index 542fba651f29dbd61031e104123d3ca5bdad511e..669aa8143ac3a2d209de4260b535d83c830d6488 100644 (file)
@@ -17,6 +17,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #
 -cflags-y                      += -G 0 -mno-abicalls -fno-pic -pipe
 +cflags-y                      += -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely
- cflags-y                      += -msoft-float
+ cflags-y                      += -msoft-float -Wa,-msoft-float
  LDFLAGS_vmlinux                       += -G 0 -static -n -nostdlib
  KBUILD_AFLAGS_MODULE          += -mlong-calls
index 5de9019677e1ca17ce4e7c16d360da63eea28083..6d13574b667bff05f6eb0c5a38d07b32ea6ddd51 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +++ b/arch/mips/Makefile
 @@ -97,8 +97,18 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin
  cflags-y                      += -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely
- cflags-y                      += -msoft-float
+ cflags-y                      += -msoft-float -Wa,-msoft-float
  LDFLAGS_vmlinux                       += -G 0 -static -n -nostdlib
 +ifdef CONFIG_64BIT
  KBUILD_AFLAGS_MODULE          += -mlong-calls
index 30158cf399b1f2993de0c53ef6432968f47acd34..4a76e216d570573cacb6669923a268fcfb36fd09 100644 (file)
@@ -74,7 +74,7 @@ Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
 +      *
 +      * Note: "OWRTDTB:" won't be overwritten with .dtb, .dtb will follow it.
 +      */
-+      .owrt : {
++      .owrt : {
 +              *(.owrt)
 +      . = ALIGN(PAGE_SIZE);
 +      }
index 42b5a564b15e2d448b0913e69cf1bf9032ddef10..52acb0633bb95e22f0f9c73a2b6d462b0bea49d9 100644 (file)
@@ -43,6 +43,6 @@ Signed-off-by: RafaÅ‚ MiÅ‚ecki <rafal@milecki.pl>
 +          of_device_is_compatible(node, "brcm,env"))
 +              return 0;
 +
-       config.id = -1;
+       config.id = NVMEM_DEVID_NONE;
        config.dev = &mtd->dev;
        config.name = dev_name(&mtd->dev);
index eda3b108da3d9adf499b3b43095a4b61f1ca9273..421daa012580230c9df2dd7c0115f10e35bd1e7e 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +#include <linux/namei.h>
  #include <linux/slab.h>
  #include <linux/mtd/ubi.h>
- #include <linux/workqueue.h>
+ #include <linux/blkdev.h>
 @@ -67,10 +68,10 @@ struct ubiblock_pdu {
  };
  
index 8aa5cba678897ae6133b616d02c4e12c49a3119a..b46044f5d9f110bbfe5313d524e3e5fad358f644 100644 (file)
@@ -21,10 +21,10 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +
  #include "check.h"
  
- static int (*check_part[])(struct parsed_partitions *) = {
+ static int (*const check_part[])(struct parsed_partitions *) = {
 @@ -298,6 +300,43 @@ static ssize_t whole_disk_show(struct de
  }
- static DEVICE_ATTR(whole_disk, 0444, whole_disk_show, NULL);
+ static const DEVICE_ATTR(whole_disk, 0444, whole_disk_show, NULL);
  
 +static struct fwnode_handle *find_partition_fwnode(struct block_device *bdev)
 +{
index e18b0c3a5c788767b63c21cf109340291f886211..d1972d97dc31a511552bed530c6cde438a2eb85c 100644 (file)
@@ -33,7 +33,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +
  source "block/partitions/Kconfig"
  
- config BLOCK_COMPAT
+ config BLK_MQ_PCI
 --- a/block/Makefile
 +++ b/block/Makefile
 @@ -35,6 +35,7 @@ obj-$(CONFIG_BLK_DEV_ZONED)  += blk-zoned
@@ -97,7 +97,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +      if (!bnv->bdev->bd_disk->fops->open)
 +              return -EIO;
 +
-+      ret = bnv->bdev->bd_disk->fops->open(bnv->bdev, FMODE_READ);
++      ret = bnv->bdev->bd_disk->fops->open(bnv->bdev->bd_disk, BLK_OPEN_READ);
 +      if (ret)
 +              return ret;
 +
@@ -119,12 +119,12 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +      }
 +
 +err_release_bdev:
-+      bnv->bdev->bd_disk->fops->release(bnv->bdev->bd_disk, FMODE_READ);
++      bnv->bdev->bd_disk->fops->release(bnv->bdev->bd_disk);
 +
 +      return ret;
 +}
 +
-+static int blk_nvmem_register(struct device *dev, struct class_interface *iface)
++static int blk_nvmem_register(struct device *dev)
 +{
 +      struct device_node *np = dev_of_node(dev);
 +      struct block_device *bdev = dev_to_bdev(dev);
@@ -192,7 +192,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +      return 0;
 +}
 +
-+static void blk_nvmem_unregister(struct device *dev, struct class_interface *iface)
++static void blk_nvmem_unregister(struct device *dev)
 +{
 +      struct block_device *bdev = dev_to_bdev(dev);
 +      struct blk_nvmem *bnv_c, *bnv = NULL;
index fada280437971f340571364ea8b32cc3379bd966..cfc43318caaa9da657feec3a48ec8553108bdf6f 100644 (file)
@@ -13,8 +13,8 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 --- a/drivers/mmc/core/bus.c
 +++ b/drivers/mmc/core/bus.c
 @@ -363,6 +363,8 @@ int mmc_add_card(struct mmc_card *card)
        mmc_add_card_debugfs(card);
- #endif
        card->dev.of_node = mmc_of_find_child_device(card->host, 0);
 +      if (card->dev.of_node && !card->dev.fwnode)
 +              card->dev.fwnode = &card->dev.of_node->fwnode;
index a9e53f115530e5e19a609318d1b6da278e00edf5..e645855475090f309ce1eaf353492b26201fdd5b 100644 (file)
@@ -36,4 +36,4 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +
        string_get_size((u64)size, 512, STRING_UNITS_2,
                        cap_str, sizeof(cap_str));
-       pr_info("%s: %s %s %s %s\n",
+       pr_info("%s: %s %s %s%s\n",
index 1e280773381cc19979dba263215b2c15b582bc56..0bed77b3b59069c6d43205b6439d52ae10068b76 100644 (file)
@@ -8,11 +8,11 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/mtd/spi-nor/macronix.c
 +++ b/drivers/mtd/spi-nor/macronix.c
-@@ -106,6 +106,7 @@ static void macronix_nor_default_init(st
+@@ -115,6 +115,7 @@ static void macronix_nor_default_init(st
  {
-       nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable;
-       nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode;
+       if (!nor->params->set_4byte_addr_mode)
+               nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode_en4b_ex4b;
 +      nor->flags |= SNOR_F_HAS_LOCK;
- }
  
- static const struct spi_nor_fixups macronix_nor_fixups = {
+       return 0;
+ }
index d2a9fb34365d7ffdcaf2e2d6afd54e1d250940f9..371f1a72769412adfd9559eb79292ac640eeccd8 100644 (file)
@@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +      &spi_nor_xtx,
  };
  
- static const struct flash_info *spi_nor_match_id(struct spi_nor *nor,
+ static const struct flash_info spi_nor_generic_flash = {
 --- a/drivers/mtd/spi-nor/core.h
 +++ b/drivers/mtd/spi-nor/core.h
 @@ -633,6 +633,7 @@ extern const struct spi_nor_manufacturer
index 581e06190b5a19ef370855dd37f3483e917604d3..3fdd354e6b265acca5cdbb700c4c4cc15c3bdac0 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
  
  static const struct flash_info gigadevice_nor_parts[] = {
 +      { "gd25q05", INFO(0xc84010, 0, 64 * 1024,  1)
-+              FLAGS(SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB) 
++              FLAGS(SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
 +              NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ |
 +                            SPI_NOR_QUAD_READ) },
        { "gd25q16", INFO(0xc84015, 0, 64 * 1024,  32)
index 81378fba868ff2a79e83cf0bc5a9d9f4d2313beb..8fd136595262da382dc44ed7e7d050d6fdb9bf5a 100644 (file)
@@ -40,15 +40,17 @@ Submitted-by: Daniel Danzberger <daniel@dd-wrt.com>
 
 --- a/drivers/mtd/nand/spi/Makefile
 +++ b/drivers/mtd/nand/spi/Makefile
-@@ -1,3 +1,3 @@
+@@ -1,4 +1,4 @@
  # SPDX-License-Identifier: GPL-2.0
--spinand-objs := core.o ato.o esmt.o gigadevice.o macronix.o micron.o paragon.o toshiba.o winbond.o xtx.o
-+spinand-objs := core.o ato.o esmt.o etron.o gigadevice.o macronix.o micron.o paragon.o toshiba.o winbond.o xtx.o
+-spinand-objs := core.o alliancememory.o ato.o esmt.o gigadevice.o macronix.o
+-spinand-objs += micron.o paragon.o toshiba.o winbond.o xtx.o
++spinand-objs := core.o alliancememory.o ato.o esmt.o etron.o gigadevice.o
++spinand-objs += macronix.o micron.o paragon.o toshiba.o winbond.o xtx.o
  obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
 --- a/drivers/mtd/nand/spi/core.c
 +++ b/drivers/mtd/nand/spi/core.c
-@@ -939,6 +939,7 @@ static const struct nand_ops spinand_ops
- static const struct spinand_manufacturer *spinand_manufacturers[] = {
+@@ -940,6 +940,7 @@ static const struct spinand_manufacturer
+       &alliancememory_spinand_manufacturer,
        &ato_spinand_manufacturer,
        &esmt_c8_spinand_manufacturer,
 +      &etron_spinand_manufacturer,
@@ -158,8 +160,8 @@ Submitted-by: Daniel Danzberger <daniel@dd-wrt.com>
 +};
 --- a/include/linux/mtd/spinand.h
 +++ b/include/linux/mtd/spinand.h
-@@ -262,6 +262,7 @@ struct spinand_manufacturer {
- /* SPI NAND manufacturers */
+@@ -263,6 +263,7 @@ struct spinand_manufacturer {
+ extern const struct spinand_manufacturer alliancememory_spinand_manufacturer;
  extern const struct spinand_manufacturer ato_spinand_manufacturer;
  extern const struct spinand_manufacturer esmt_c8_spinand_manufacturer;
 +extern const struct spinand_manufacturer etron_spinand_manufacturer;
index f95ec46f14eb5b046104981e5e207d618d4a6b9f..b63b333c478c81c491e2a4af7ec1403cc8d33d07 100644 (file)
@@ -40,14 +40,15 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  #ifdef CONFIG_ROOT_NFS
  
  #define NFSROOT_TIMEOUT_MIN   5
-@@ -579,6 +602,10 @@ void __init mount_root(void)
-               return;
-       }
- #endif
+@@ -408,6 +408,11 @@ void __init mount_root(void)
+ void __init mount_root(char *root_device_name)
+ {
 +#ifdef CONFIG_MTD_ROOTFS_ROOT_DEV
 +      if (!mount_ubi_rootfs())
 +              return;
 +#endif
-       if (ROOT_DEV == 0 && root_device_name && root_fs_names) {
-               if (mount_nodev_root() == 0)
-                       return;
++
+       switch (ROOT_DEV) {
+       case Root_NFS:
+               mount_nfs_root();
index 5357c7e15d7b184625106d294df80545180aeb37..16bdfdd4b5ac29eb8615905eb2f04c03584af8f1 100644 (file)
@@ -31,4 +31,4 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +
        return 0;
  
- out_destroy_wq:
+ out_remove_minor:
index 99e0fc72bf718a67cd3ed49852c8e44c8c22d77b..e69eaf6bcc4ad1b87538d1a6a7be8819cae94ec2 100644 (file)
@@ -20,11 +20,11 @@ Signed-off-by: Nick Hainke <vincent@systemli.org>
 
 --- a/drivers/mtd/spi-nor/macronix.c
 +++ b/drivers/mtd/spi-nor/macronix.c
-@@ -107,6 +107,7 @@ static void macronix_nor_default_init(st
+@@ -115,6 +115,7 @@ static void macronix_nor_default_init(st
  {
-       nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable;
-       nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode;
+       if (!nor->params->set_4byte_addr_mode)
+               nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode_en4b_ex4b;
 +      nor->flags &= ~SNOR_F_HAS_16BIT_SR;
        nor->flags |= SNOR_F_HAS_LOCK;
- }
  
+       return 0;
index 2053c0fbe2e0952e034ae4dd5ae6eb033b4b6a2e..7c143584a4fb7aead5fb0f0475e6a7f7a8029097 100644 (file)
@@ -17,9 +17,9 @@ Subject: [PATCH] fs: add cdrom dependency
        tristate "Apple Macintosh file system support"
        depends on BLOCK
 +      select CDROM
+       select BUFFER_HEAD
        select NLS
-       help
-         If you say Y here, you will be able to mount Macintosh-formatted
+       select LEGACY_DIRECT_IO
 --- a/fs/hfsplus/Kconfig
 +++ b/fs/hfsplus/Kconfig
 @@ -2,6 +2,7 @@
@@ -27,9 +27,9 @@ Subject: [PATCH] fs: add cdrom dependency
        tristate "Apple Extended HFS file system support"
        depends on BLOCK
 +      select CDROM
+       select BUFFER_HEAD
        select NLS
        select NLS_UTF8
-       help
 --- a/fs/isofs/Kconfig
 +++ b/fs/isofs/Kconfig
 @@ -1,6 +1,7 @@
@@ -37,9 +37,9 @@ Subject: [PATCH] fs: add cdrom dependency
  config ISO9660_FS
        tristate "ISO 9660 CDROM file system support"
 +      select CDROM
+       select BUFFER_HEAD
        help
          This is the standard file system used on CD-ROMs.  It was previously
-         known as "High Sierra File System" and is called "hsfs" on other
 --- a/fs/udf/Kconfig
 +++ b/fs/udf/Kconfig
 @@ -1,6 +1,7 @@
@@ -47,6 +47,6 @@ Subject: [PATCH] fs: add cdrom dependency
  config UDF_FS
        tristate "UDF file system support"
 +      select CDROM
+       select BUFFER_HEAD
        select CRC_ITU_T
        select NLS
-       help
index 685a5f9da510baef08e5b3c01122cf59db39c054..e6ad1049818c687bce0506c84cadb9d12abdac4e 100644 (file)
@@ -13,13 +13,13 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/init/do_mounts.c
 +++ b/init/do_mounts.c
-@@ -645,7 +645,8 @@ void __init prepare_namespace(void)
+@@ -463,7 +463,8 @@ static dev_t __init parse_root_device(char
+       int error;
+       dev_t dev;
  
-       if (saved_root_name[0]) {
-               root_device_name = saved_root_name;
--              if (!strncmp(root_device_name, "mtd", 3) ||
-+              if (!strncmp(root_device_name, "fit", 3) ||
-+                  !strncmp(root_device_name, "mtd", 3) ||
-                   !strncmp(root_device_name, "ubi", 3)) {
-                       mount_block_root(root_device_name, root_mountflags);
-                       goto out;
+-      if (!strncmp(root_device_name, "mtd", 3) ||
++      if (!strncmp(root_device_name, "fit", 3) ||
++          !strncmp(root_device_name, "mtd", 3) ||
+           !strncmp(root_device_name, "ubi", 3))
+               return Root_Generic;
+       if (strcmp(root_device_name, "/dev/nfs") == 0)
index 27a673399a836f460b6e560b14ebce44ec8d1d4d..3e93c618393711d7a797fb190fd86950a9021d6c 100644 (file)
@@ -66,26 +66,33 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
 +CFLAGS_compr_lzma.o += -Iinclude/linux -Ilib/lzma
 --- a/fs/jffs2/compr.c
 +++ b/fs/jffs2/compr.c
-@@ -378,6 +378,9 @@ int __init jffs2_compressors_init(void)
- #ifdef CONFIG_JFFS2_LZO
-       jffs2_lzo_init();
- #endif
-+#ifdef CONFIG_JFFS2_LZMA
-+      jffs2_lzma_init();
-+#endif
+@@ -381,6 +381,9 @@ int __init jffs2_compressors_init(void)
+       ret = jffs2_lzo_init();
+       if (ret)
+               goto exit_dynrubin;
++      ret = jffs2_lzma_init();
++      if (ret)
++              goto exit_lzo;
  /* Setting default compression mode */
- #ifdef CONFIG_JFFS2_CMODE_NONE
-       jffs2_compression_mode = JFFS2_COMPR_MODE_NONE;
-@@ -401,6 +404,9 @@ int __init jffs2_compressors_init(void)
+@@ -402,6 +405,8 @@ int __init jffs2_compressors_init(void)
+ #endif
+       return 0;
++exit_lzo:
++      jffs2_lzo_exit();
+ exit_dynrubin:
+       jffs2_dynrubin_exit();
+ exit_runinmips:
+@@ -417,6 +422,7 @@ int __init jffs2_compressors_init(void)
  int jffs2_compressors_exit(void)
  {
  /* Unregistering compressors */
-+#ifdef CONFIG_JFFS2_LZMA
 +      jffs2_lzma_exit();
-+#endif
- #ifdef CONFIG_JFFS2_LZO
        jffs2_lzo_exit();
- #endif
+       jffs2_dynrubin_exit();
+       jffs2_rubinmips_exit();
 --- a/fs/jffs2/compr.h
 +++ b/fs/jffs2/compr.h
 @@ -29,9 +29,9 @@
@@ -101,13 +108,16 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
  
  #define JFFS2_RUBINMIPS_DISABLED /* RUBINs will be used only */
  #define JFFS2_DYNRUBIN_DISABLED  /*      for decompression */
-@@ -101,5 +101,9 @@ void jffs2_zlib_exit(void);
- int jffs2_lzo_init(void);
- void jffs2_lzo_exit(void);
+@@ -115,5 +115,12 @@ extern void jffs2_lzo_exit(void);
+ static inline int jffs2_lzo_init(void) { return 0; }
+ static inline void jffs2_lzo_exit(void) {}
  #endif
 +#ifdef CONFIG_JFFS2_LZMA
-+int jffs2_lzma_init(void);
-+void jffs2_lzma_exit(void);
++extern int jffs2_lzma_init(void);
++extern void jffs2_lzma_exit(void);
++#else
++static inline int jffs2_lzma_init(void) { return 0; }
++static inline void jffs2_lzma_exit(void) {}
 +#endif
  
  #endif /* __JFFS2_COMPR_H__ */
index c40c7096352038428a8cf7c654478b64a49fe4f4..f12a09e65fa9529818b899bba42b1c41aa72ef2d 100644 (file)
@@ -21,10 +21,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /* Packet socket options */
  
 @@ -59,6 +61,7 @@ struct sockaddr_ll {
- #define PACKET_ROLLOVER_STATS         21
  #define PACKET_FANOUT_DATA            22
  #define PACKET_IGNORE_OUTGOING                23
-+#define PACKET_RECV_TYPE              24
+ #define PACKET_VNET_HDR_SZ            24
++#define PACKET_RECV_TYPE              25
  
  #define PACKET_FANOUT_HASH            0
  #define PACKET_FANOUT_LB              1
@@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (sock->type == SOCK_PACKET)
                po->prot_hook.func = packet_rcv_spkt;
 @@ -4013,6 +4016,16 @@ packet_setsockopt(struct socket *sock, i
-               WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
+               packet_sock_flag_set(po, PACKET_SOCK_QDISC_BYPASS, val);
                return 0;
        }
 +      case PACKET_RECV_TYPE:
@@ -113,8 +113,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                return -ENOPROTOOPT;
        }
 @@ -4069,6 +4082,13 @@ static int packet_getsockopt(struct sock
-       case PACKET_VNET_HDR:
-               val = po->has_vnet_hdr;
+       case PACKET_VNET_HDR_SZ:
+               val = READ_ONCE(po->vnet_hdr_sz);
                break;
 +      case PACKET_RECV_TYPE:
 +              if (len > sizeof(unsigned int))
@@ -129,10 +129,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 --- a/net/packet/internal.h
 +++ b/net/packet/internal.h
 @@ -136,6 +136,7 @@ struct packet_sock {
-       int                     (*xmit)(struct sk_buff *skb);
+       struct net_device __rcu *cached_dev;
        struct packet_type      prot_hook ____cacheline_aligned_in_smp;
        atomic_t                tp_drops ____cacheline_aligned_in_smp;
 +      unsigned int            pkt_type;
  };
  
static inline struct packet_sock *pkt_sk(struct sock *sk)
#define pkt_sk(ptr) container_of_const(ptr, struct packet_sock, sk)
index 72e8de2f1d1c3062366361efe0d6739253ed42ce..3ab023fdeb4096e02b4891e8548278a949dbb308 100644 (file)
@@ -125,7 +125,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  
 +static const struct rt6_info ip6_policy_failed_entry_template = {
 +      .dst = {
-+              .__refcnt       = ATOMIC_INIT(1),
++              .__rcuref       = RCUREF_INIT(1),
 +              .__use          = 1,
 +              .obsolete       = DST_OBSOLETE_FORCE_CHK,
 +              .error          = -EACCES,
@@ -137,7 +137,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 +
  static const struct rt6_info ip6_blk_hole_entry_template = {
        .dst = {
-               .__refcnt       = ATOMIC_INIT(1),
+               .__rcuref       = RCUREF_INIT(1),
 @@ -1039,6 +1053,7 @@ static const int fib6_prop[RTN_MAX + 1]
        [RTN_BLACKHOLE] = -EINVAL,
        [RTN_UNREACHABLE] = -EHOSTUNREACH,
@@ -213,7 +213,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                                               GFP_KERNEL);
 @@ -6499,11 +6535,21 @@ static int __net_init ip6_route_net_init
                         ip6_template_metrics, true);
-       INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
+       INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->dst.rt_uncached);
  
 +      net->ipv6.ip6_policy_failed_entry =
 +                              kmemdup(&ip6_policy_failed_entry_template,
@@ -223,7 +223,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 +      net->ipv6.ip6_policy_failed_entry->dst.ops = &net->ipv6.ip6_dst_ops;
 +      dst_init_metrics(&net->ipv6.ip6_policy_failed_entry->dst,
 +                       ip6_template_metrics, true);
-+      INIT_LIST_HEAD(&net->ipv6.ip6_policy_failed_entry->rt6i_uncached);
++      INIT_LIST_HEAD(&net->ipv6.ip6_policy_failed_entry->dst.rt_uncached);
 +
        net->ipv6.ip6_blk_hole_entry = kmemdup(&ip6_blk_hole_entry_template,
                                               sizeof(*net->ipv6.ip6_blk_hole_entry),
index 11850c04186c0e5e74411e849d4e018cb9fc2d8c..26836240ee066f06edbdb07fd29e14439650a3bf 100644 (file)
@@ -28,13 +28,13 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #endif
 +      __u8                    gro_skip:1;
  
+ #if IS_ENABLED(CONFIG_IP_VS)
        __u8                    ipvs_property:1;
-       __u8                    inner_protocol_type:1;
 --- a/net/core/gro.c
 +++ b/net/core/gro.c
 @@ -491,6 +491,9 @@ static enum gro_result dev_gro_receive(s
+       enum gro_result ret;
        int same_flow;
-       int grow;
  
 +      if (skb->gro_skip)
 +              goto normal;
@@ -109,9 +109,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
                                      &changeupper_info.info);
  
-@@ -8824,6 +8868,7 @@ int dev_set_mac_address(struct net_devic
-       if (err)
-               return err;
+@@ -8821,6 +8865,7 @@ int dev_set_mac_address(struct net_devic
+                       return err;
+       }
        dev->addr_assign_type = NET_ADDR_SET;
 +      netdev_update_addr_mask(dev);
        call_netdevice_notifiers(NETDEV_CHANGEADDR, dev);
index 03ee537fb8f8adba265aac5e46a2151b1d12497f..9e81cb1f2775e5b7bbc8a30ce17322866706eba6 100644 (file)
@@ -18,8 +18,8 @@ property. This way, the MAC address can be accessed using procfs.
 --- a/net/core/of_net.c
 +++ b/net/core/of_net.c
 @@ -95,6 +95,27 @@ static int of_get_mac_addr_nvmem(struct
-       return 0;
  }
+ EXPORT_SYMBOL(of_get_mac_address_nvmem);
  
 +static int of_add_mac_address(struct device_node *np, u8* addr)
 +{
@@ -62,8 +62,8 @@ property. This way, the MAC address can be accessed using procfs.
 -              return 0;
 +              goto found;
  
--      return of_get_mac_addr_nvmem(np, addr);
-+      ret = of_get_mac_addr_nvmem(np, addr);
+-      return of_get_mac_address_nvmem(np, addr);
++      ret = of_get_mac_address_nvmem(np, addr);
 +      if (ret)
 +              return ret;
 +
index e4937a1df1be8ca5040203355ed84ef8dc430219..61dd11727f40e544b678a928cfef84f5a210d4b1 100644 (file)
@@ -11,9 +11,9 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -1850,6 +1850,9 @@ void phy_detach(struct phy_device *phyde
-       struct module *ndev_owner = NULL;
-       struct mii_bus *bus;
+@@ -1753,6 +1753,9 @@ void phy_detach(struct phy_device *phyde
+       if (phydev->devlink)
+               device_link_del(phydev->devlink);
  
 +      if (phydev->drv && phydev->drv->detach)
 +              phydev->drv->detach(phydev);
index 989aca8f3537bf244566e33d32eb01c0ea332d53..85e42d5a94b1c0694a70cda6417acc9e8633e9f9 100644 (file)
@@ -15,18 +15,18 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 --- a/include/linux/if_bridge.h
 +++ b/include/linux/if_bridge.h
 @@ -59,6 +59,7 @@ struct br_ip_list {
- #define BR_MRP_LOST_IN_CONT   BIT(19)
- #define BR_TX_FWD_OFFLOAD     BIT(20)
  #define BR_PORT_LOCKED                BIT(21)
-+#define BR_BPDU_FILTER                BIT(22)
+ #define BR_PORT_MAB           BIT(22)
+ #define BR_NEIGH_VLAN_SUPPRESS        BIT(23)
++#define BR_BPDU_FILTER                BIT(24)
  
  #define BR_DEFAULT_AGEING_TIME        (300 * HZ)
  
 --- a/net/bridge/br_forward.c
 +++ b/net/bridge/br_forward.c
 @@ -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)
            enum br_pkt_type pkt_type, bool local_rcv, bool local_orig,
+             u16 vid)
  {
 +      const unsigned char *dest = eth_hdr(skb)->h_dest;
        struct net_bridge_port *prev = NULL;
@@ -107,9 +107,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 --- a/include/uapi/linux/if_link.h
 +++ b/include/uapi/linux/if_link.h
 @@ -561,6 +561,7 @@ enum {
-       IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT,
-       IFLA_BRPORT_MCAST_EHT_HOSTS_CNT,
-       IFLA_BRPORT_LOCKED,
+       IFLA_BRPORT_MCAST_MAX_GROUPS,
+       IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
+       IFLA_BRPORT_BACKUP_NHID,
 +      IFLA_BRPORT_BPDU_FILTER,
        __IFLA_BRPORT_MAX
  };
@@ -117,47 +117,47 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 --- a/net/bridge/br_netlink.c
 +++ b/net/bridge/br_netlink.c
 @@ -188,6 +188,7 @@ static inline size_t br_port_info_size(v
-               + nla_total_size(1)     /* IFLA_BRPORT_NEIGH_SUPPRESS */
-               + nla_total_size(1)     /* IFLA_BRPORT_ISOLATED */
                + nla_total_size(1)     /* IFLA_BRPORT_LOCKED */
+               + nla_total_size(1)     /* IFLA_BRPORT_MAB */
+               + nla_total_size(1)     /* IFLA_BRPORT_NEIGH_VLAN_SUPPRESS */
 +              + nla_total_size(1)     /* IFLA_BRPORT_BPDU_FILTER */
                + nla_total_size(sizeof(struct ifla_bridge_id)) /* IFLA_BRPORT_ROOT_ID */
                + nla_total_size(sizeof(struct ifla_bridge_id)) /* IFLA_BRPORT_BRIDGE_ID */
                + nla_total_size(sizeof(u16))   /* IFLA_BRPORT_DESIGNATED_PORT */
 @@ -274,7 +275,8 @@ static int br_port_fill_attrs(struct sk_
-           nla_put_u8(skb, IFLA_BRPORT_MRP_IN_OPEN,
-                      !!(p->flags & BR_MRP_LOST_IN_CONT)) ||
-           nla_put_u8(skb, IFLA_BRPORT_ISOLATED, !!(p->flags & BR_ISOLATED)) ||
--          nla_put_u8(skb, IFLA_BRPORT_LOCKED, !!(p->flags & BR_PORT_LOCKED)))
-+          nla_put_u8(skb, IFLA_BRPORT_LOCKED, !!(p->flags & BR_PORT_LOCKED)) ||
+           nla_put_u8(skb, IFLA_BRPORT_LOCKED, !!(p->flags & BR_PORT_LOCKED)) ||
+           nla_put_u8(skb, IFLA_BRPORT_MAB, !!(p->flags & BR_PORT_MAB)) ||
+           nla_put_u8(skb, IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
+-                     !!(p->flags & BR_NEIGH_VLAN_SUPPRESS)))
++                     !!(p->flags & BR_NEIGH_VLAN_SUPPRESS)) ||
 +          nla_put_u8(skb, IFLA_BRPORT_BPDU_FILTER, !!(p->flags & BR_BPDU_FILTER)))
                return -EMSGSIZE;
  
        timerval = br_timer_value(&p->message_age_timer);
 @@ -878,6 +880,7 @@ static const struct nla_policy br_port_p
-       [IFLA_BRPORT_LOCKED] = { .type = NLA_U8 },
-       [IFLA_BRPORT_BACKUP_PORT] = { .type = NLA_U32 },
-       [IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT] = { .type = NLA_U32 },
+       [IFLA_BRPORT_MCAST_MAX_GROUPS] = { .type = NLA_U32 },
+       [IFLA_BRPORT_NEIGH_VLAN_SUPPRESS] = NLA_POLICY_MAX(NLA_U8, 1),
+       [IFLA_BRPORT_BACKUP_NHID] = { .type = NLA_U32 },
 +      [IFLA_BRPORT_BPDU_FILTER] = { .type = NLA_U8 },
  };
  
  /* Change the state of the port and notify spanning tree */
 @@ -943,6 +946,7 @@ static int br_setport(struct net_bridge_
-       br_set_port_flag(p, tb, IFLA_BRPORT_NEIGH_SUPPRESS, BR_NEIGH_SUPPRESS);
-       br_set_port_flag(p, tb, IFLA_BRPORT_ISOLATED, BR_ISOLATED);
-       br_set_port_flag(p, tb, IFLA_BRPORT_LOCKED, BR_PORT_LOCKED);
+       br_set_port_flag(p, tb, IFLA_BRPORT_MAB, BR_PORT_MAB);
+       br_set_port_flag(p, tb, IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
+                        BR_NEIGH_VLAN_SUPPRESS);
 +      br_set_port_flag(p, tb, IFLA_BRPORT_BPDU_FILTER, BR_BPDU_FILTER);
  
-       changed_mask = old_flags ^ p->flags;
+       if ((p->flags & BR_PORT_MAB) &&
+           (!(p->flags & BR_PORT_LOCKED) || !(p->flags & BR_LEARNING))) {
 --- a/net/core/rtnetlink.c
 +++ b/net/core/rtnetlink.c
 @@ -57,7 +57,7 @@
  #include "dev.h"
  
  #define RTNL_MAX_TYPE         50
--#define RTNL_SLAVE_MAX_TYPE   40
-+#define RTNL_SLAVE_MAX_TYPE   41
+-#define RTNL_SLAVE_MAX_TYPE   44
++#define RTNL_SLAVE_MAX_TYPE   45
  
  struct rtnl_link {
        rtnl_doit_func          doit;
index f5987109f6d5f2f9ff651a3b5b7a55226e70fda8..32d81d56f873a7889d5035705cf685f7aef4783c 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +      int val;
 +      u32 id;
 +
-+      if (phydev->mdio.bus->probe_capabilities >= MDIOBUS_C45) {
++      if (phydev->drv->read_mmd) {
 +              val = phy_read_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_PKGID1);
 +              if (val < 0)
 +                      return 0;
index a1cc109050e1df8ed24a52e1989b978a986063a4..17c7d92ce08eb3ec7a332bbee6e9ed16cd945694 100644 (file)
@@ -16,6 +16,14 @@ 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
+@@ -26,6 +26,7 @@
+ #include <linux/bitfield.h>
+ #include <net/dsa.h>
+ #include <net/dst_metadata.h>
++#include <net/gso.h>
+ #include <net/page_pool/helpers.h>
+
+ #include "mtk_eth_soc.h"
 @@ -1562,12 +1562,28 @@ static void mtk_wake_queue(struct mtk_et
        }
  }
index 5bd2850fec2397d34f64d5188c91d9f993ecbbbb..6fe29bc6c95818d11849f19bb740e2a3b17da565 100644 (file)
@@ -27,13 +27,13 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  F:    include/linux/pcs/pcs-mtk-lynxi.h
 +F:    include/linux/pcs/pcs-mtk-usxgmii.h
  
- MEDIATEK I2C CONTROLLER DRIVER
- M:    Qii Wang <qii.wang@mediatek.com>
+ MEDIATEK ETHERNET PHY DRIVERS
+ M:    Daniel Golle <daniel@makrotopia.org>
 --- a/drivers/net/pcs/Kconfig
 +++ b/drivers/net/pcs/Kconfig
 @@ -18,6 +18,17 @@ config PCS_LYNX
-         This module provides helpers to phylink for managing the Lynx PCS
-         which is part of the Layerscape and QorIQ Ethernet SERDES.
+         This module provides helpers to phylink for managing the LynxI PCS
+         which is part of MediaTek's SoC and Ethernet switch ICs.
  
 +config PCS_MTK_USXGMII
 +      tristate "MediaTek USXGMII PCS"
@@ -51,10 +51,10 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        depends on OF && (ARCH_RZN1 || COMPILE_TEST)
 --- a/drivers/net/pcs/Makefile
 +++ b/drivers/net/pcs/Makefile
-@@ -8,3 +8,4 @@ obj-$(CONFIG_PCS_LYNX)         += pcs-lynx.o
- obj-$(CONFIG_PCS_RZN1_MIIC)   += pcs-rzn1-miic.o
- obj-$(CONFIG_PCS_ALTERA_TSE)  += pcs-altera-tse.o
+@@ -8,3 +8,4 @@ obj-$(CONFIG_PCS_XPCS)         += pcs_xpcs.o
+ obj-$(CONFIG_PCS_LYNX)                += pcs-lynx.o
  obj-$(CONFIG_PCS_MTK_LYNXI)   += pcs-mtk-lynxi.o
+ obj-$(CONFIG_PCS_RZN1_MIIC)   += pcs-rzn1-miic.o
 +obj-$(CONFIG_PCS_MTK_USXGMII) += pcs-mtk-usxgmii.o
 --- /dev/null
 +++ b/drivers/net/pcs/pcs-mtk-usxgmii.c
index 42c8519c9055d1d96db791bcaa604b70baf12ebb..bb9149a66833562d559d3a4daf3aed64356a0004 100644 (file)
@@ -20,10 +20,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  /**
   *    napi_disable - prevent NAPI from scheduling
-@@ -3152,6 +3153,7 @@ struct softnet_data {
+@@ -3129,6 +3130,7 @@ struct softnet_data {
+       /* stats */
        unsigned int            processed;
        unsigned int            time_squeeze;
-       unsigned int            received_rps;
 +      unsigned int            process_queue_empty;
  #ifdef CONFIG_RPS
        struct softnet_data     *rps_ipi_list;
index 2b3e4bbf716259d78283b7c4aebe26fb9024a709..cb5d30db273de9ed58800700ab2442cd7748575b 100644 (file)
@@ -80,7 +80,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  
 -typedef int (*config_clks_t)(struct device *dev, struct opp_table *opp_table,
 +typedef int (*config_clks_t)(struct device *dev,
-+                      struct opp_table *opp_table, struct dev_pm_opp *old_opp, 
++                      struct opp_table *opp_table, struct dev_pm_opp *old_opp,
                        struct dev_pm_opp *opp, void *data, bool scaling_down);
  
  /**
index 9bb94a28b54b6ac07d79dfc65188290709bc5a24..2f0dcd91d9bc425ec322749f1d49ba50cc989cb3 100644 (file)
@@ -10,14 +10,14 @@ string.
 
 --- a/drivers/nvmem/Kconfig
 +++ b/drivers/nvmem/Kconfig
-@@ -1,6 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0-only
+@@ -2,6 +2,7 @@
  menuconfig NVMEM
        bool "NVMEM Support"
-+      select GENERIC_NET_UTILS
        imply NVMEM_LAYOUTS
++      select GENERIC_NET_UTILS
        help
          Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...
 --- a/drivers/nvmem/core.c
 +++ b/drivers/nvmem/core.c
 @@ -7,9 +7,12 @@
index 98ea4c06d9f8ceebffaa2b0d261d2fea5e436a44..eb5aa15d3035fd97a6eab966d01bcfa9bbba6033 100644 (file)
@@ -111,5 +111,5 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +}
 +#endif
  
- #ifdef CONFIG_PM
  extern const struct dev_pm_ops usb_hcd_pci_pm_ops;
+ #endif /* CONFIG_USB_PCI */
index 050c3515f6f4df5f3915d0b6376635398eebc8ed..562f9b866c0a9085f27050b2105a2a76d3679649 100644 (file)
@@ -46,7 +46,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 --- a/drivers/ata/libata-core.c
 +++ b/drivers/ata/libata-core.c
 @@ -663,6 +663,19 @@ u64 ata_tf_read_block(const struct ata_t
-       return block;
+       qc->flags |= ATA_QCFLAG_HAS_CDL | ATA_QCFLAG_RESULT_TF;
  }
  
 +#ifdef CONFIG_ATA_LEDS
@@ -85,10 +85,10 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        ata_sff_port_init(ap);
  
        return ap;
-@@ -5473,6 +5492,12 @@ static void ata_host_release(struct kref
+@@ -5469,6 +5488,12 @@ static void ata_host_release(struct kref
                kfree(ap->pmp_link);
                kfree(ap->slave_link);
+               kfree(ap->ncq_sense_buf);
 +#ifdef CONFIG_ATA_LEDS
 +              if (ap->ledtrig) {
 +                      led_trigger_unregister(ap->ledtrig);
@@ -145,5 +145,5 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +#endif
 +
        /* owned by EH */
+       u8                      *ncq_sense_buf;
        u8                      sector_buf[ATA_SECT_SIZE] ____cacheline_aligned;
- };
index e25389363ffd8d9afe9670bf0e4384e6b2cb0813..1f860e9c7612ea3f7c1bdbaf8bba5372ebe7e4a5 100644 (file)
@@ -24,8 +24,8 @@ Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
  arch/arm/boot/dts/imx7d-pico.dtsi | 8 ++++++++
  1 file changed, 8 insertions(+)
 
---- a/arch/arm/boot/dts/imx7d-pico.dtsi
-+++ b/arch/arm/boot/dts/imx7d-pico.dtsi
+--- a/arch/arm/boot/dts/nxp/imx/imx7d-pico.dtsi
++++ b/arch/arm/boot/dts/nxp/imx/imx7d-pico.dtsi
 @@ -108,6 +108,14 @@
        assigned-clock-rates = <0>, <32768>;
  };
index 4552b4cd66c124f3b76231bcb5a1522af4228553..0d690e42e842eea1cf7dd213e22d3d3f1e2eb322 100644 (file)
@@ -13,9 +13,9 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
 
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -1836,6 +1836,15 @@ config EMBEDDED
-         an embedded system so certain expert options are available
-         for configuration.
+@@ -1827,6 +1827,15 @@ config EMBEDDED
+         If unsure, say N.
  
 +config MANGLE_BOOTARGS
 +      bool "Rename offending bootargs"