generic: 5.15: refresh backport patch
authorAnsuel Smith <ansuelsmth@gmail.com>
Mon, 21 Mar 2022 14:21:24 +0000 (15:21 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Sun, 27 Mar 2022 03:51:38 +0000 (04:51 +0100)
Use 'make target/linux/refresh' to refresh backport patches.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
68 files changed:
target/linux/generic/backport-5.15/011-kbuild-export-SUBARCH.patch
target/linux/generic/backport-5.15/050-v5.16-05-mips-bpf-Enable-eBPF-JITs.patch
target/linux/generic/backport-5.15/081-net-next-regmap-allow-to-define-reg_update_bits-for-no-bus.patch
target/linux/generic/backport-5.15/300-v5.18-pinctrl-qcom-Return--EINVAL-for-setting-affinity-if-no-IRQ-parent.patch
target/linux/generic/backport-5.15/343-netfilter-nft_flow_offload-handle-netdevice-events-f.patch
target/linux/generic/backport-5.15/700-net-next-net-dsa-introduce-tagger-owned-storage-for-private.patch
target/linux/generic/backport-5.15/701-net-dsa-make-tagging-protocols-connect-to-individual-switches.patch
target/linux/generic/backport-5.15/742-v5.16-net-phy-at803x-add-support-for-qca-8327-internal-phy.patch
target/linux/generic/backport-5.15/743-v5.16-0001-net-dsa-b53-Include-all-ports-in-enabled_ports.patch
target/linux/generic/backport-5.15/743-v5.16-0002-net-dsa-b53-Drop-BCM5301x-workaround-for-a-wrong-CPU.patch
target/linux/generic/backport-5.15/743-v5.16-0003-net-dsa-b53-Improve-flow-control-setup-on-BCM5301x.patch
target/linux/generic/backport-5.15/743-v5.16-0004-net-dsa-b53-Drop-unused-cpu_port-field.patch
target/linux/generic/backport-5.15/745-v5.16-01-net-phy-at803x-add-support-for-qca-8327-A-variant.patch
target/linux/generic/backport-5.15/745-v5.16-02-net-phy-at803x-add-resume-suspend-function-to-qca83x.patch
target/linux/generic/backport-5.15/745-v5.16-03-net-phy-at803x-fix-spacing-and-improve-name-for-83xx.patch
target/linux/generic/backport-5.15/746-v5.16-01-net-phy-at803x-fix-resume-for-QCA8327-phy.patch
target/linux/generic/backport-5.15/746-v5.16-02-net-phy-at803x-add-DAC-amplitude-fix-for-8327-phy.patch
target/linux/generic/backport-5.15/746-v5.16-03-net-phy-at803x-enable-prefer-master-for-83xx-interna.patch
target/linux/generic/backport-5.15/746-v5.16-04-net-phy-at803x-better-describe-debug-regs.patch
target/linux/generic/backport-5.15/747-v5.16-12-net-dsa-qca8k-add-support-for-QCA8328.patch
target/linux/generic/backport-5.15/751-v5.16-net-dsa-qca8k-fix-internal-delay-applied-to-the-wrong-PAD.patch
target/linux/generic/backport-5.15/752-v5.16-net-dsa-qca8k-fix-MTU-calculation.patch
target/linux/generic/backport-5.15/753-net-next-net-dsa-qca8k-remove-redundant-check-in-parse_port_config.patch
target/linux/generic/backport-5.15/754-net-next-net-dsa-qca8k-convert-to-GENMASK_FIELD_PREP_FIELD_GET.patch
target/linux/generic/backport-5.15/755-net-next-net-dsa-qca8k-remove-extra-mutex_init-in-qca8k_setup.patch
target/linux/generic/backport-5.15/756-net-next-net-dsa-qca8k-move-regmap-init-in-probe-and-set-it.patch
target/linux/generic/backport-5.15/757-net-next-net-dsa-qca8k-initial-conversion-to-regmap-heper.patch
target/linux/generic/backport-5.15/758-net-next-net-dsa-qca8k-add-additional-MIB-counter-and-.patch
target/linux/generic/backport-5.15/759-net-next-net-dsa-qca8k-add-support-for-port-fast-aging.patch
target/linux/generic/backport-5.15/760-net-next-net-dsa-qca8k-add-set_ageing_time-support.patch
target/linux/generic/backport-5.15/761-net-next-net-dsa-qca8k-add-support-for-mdb_add-del.patch
target/linux/generic/backport-5.15/762-net-next-net-dsa-qca8k-add-support-for-mirror-mode.patch
target/linux/generic/backport-5.15/763-net-next-net-dsa-qca8k-add-LAG-support.patch
target/linux/generic/backport-5.15/764-net-next-net-dsa-qca8k-fix-warning-in-LAG-feature.patch
target/linux/generic/backport-5.15/765-1-net-next-net-dsa-reorder-PHY-initialization-with-MTU-setup-in.patch
target/linux/generic/backport-5.15/765-2-net-next-net-dsa-merge-rtnl_lock-sections-in-dsa_slave_create.patch
target/linux/generic/backport-5.15/765-3-net-next-net-dsa-stop-updating-master-MTU-from-master.c.patch
target/linux/generic/backport-5.15/765-4-net-next-net-dsa-hold-rtnl_mutex-when-calling-dsa_master_-set.patch
target/linux/generic/backport-5.15/765-5-net-next-net-dsa-first-set-up-shared-ports-then-non-shared-po.patch
target/linux/generic/backport-5.15/765-6-net-next-net-dsa-setup-master-before-ports.patch
target/linux/generic/backport-5.15/766-01-net-dsa-provide-switch-operations-for-tracking-the-m.patch
target/linux/generic/backport-5.15/766-02-net-dsa-replay-master-state-events-in-dsa_tree_-setu.patch
target/linux/generic/backport-5.15/766-03-net-dsa-tag_qca-convert-to-FIELD-macro.patch
target/linux/generic/backport-5.15/766-04-net-dsa-tag_qca-move-define-to-include-linux-dsa.patch
target/linux/generic/backport-5.15/766-05-net-dsa-tag_qca-enable-promisc_on_master-flag.patch
target/linux/generic/backport-5.15/766-06-net-dsa-tag_qca-add-define-for-handling-mgmt-Etherne.patch
target/linux/generic/backport-5.15/766-07-net-dsa-tag_qca-add-define-for-handling-MIB-packet.patch
target/linux/generic/backport-5.15/766-08-net-dsa-tag_qca-add-support-for-handling-mgmt-and-MI.patch
target/linux/generic/backport-5.15/766-09-net-dsa-qca8k-add-tracking-state-of-master-port.patch
target/linux/generic/backport-5.15/766-10-net-dsa-qca8k-add-support-for-mgmt-read-write-in-Eth.patch
target/linux/generic/backport-5.15/766-11-net-dsa-qca8k-add-support-for-mib-autocast-in-Ethern.patch
target/linux/generic/backport-5.15/766-12-net-dsa-qca8k-add-support-for-phy-read-write-with-mg.patch
target/linux/generic/backport-5.15/766-13-net-dsa-qca8k-move-page-cache-to-driver-priv.patch
target/linux/generic/backport-5.15/766-14-net-dsa-qca8k-cache-lo-and-hi-for-mdio-write.patch
target/linux/generic/backport-5.15/766-15-net-dsa-qca8k-add-support-for-larger-read-write-size.patch
target/linux/generic/backport-5.15/766-16-net-dsa-qca8k-introduce-qca8k_bulk_read-write-functi.patch
target/linux/generic/backport-5.15/773-v5.18-1-net-dsa-Move-VLAN-filtering-syncing-out-of-dsa_switc.patch
target/linux/generic/backport-5.15/773-v5.18-2-net-dsa-Avoid-cross-chip-syncing-of-VLAN-filtering.patch
target/linux/generic/backport-5.15/850-v5.17-0003-PCI-aardvark-Add-support-for-DEVCAP2-DEVCTL2-LNKCAP2.patch
target/linux/generic/backport-5.15/850-v5.17-0004-PCI-aardvark-Clear-all-MSIs-at-setup.patch
target/linux/generic/backport-5.15/850-v5.17-0005-PCI-aardvark-Comment-actions-in-driver-remove-method.patch
target/linux/generic/backport-5.15/850-v5.17-0006-PCI-aardvark-Disable-bus-mastering-when-unbinding-dr.patch
target/linux/generic/backport-5.15/850-v5.17-0007-PCI-aardvark-Mask-all-interrupts-when-unbinding-driv.patch
target/linux/generic/backport-5.15/850-v5.17-0008-PCI-aardvark-Fix-memory-leak-in-driver-unbind.patch
target/linux/generic/backport-5.15/850-v5.17-0009-PCI-aardvark-Assert-PERST-when-unbinding-driver.patch
target/linux/generic/backport-5.15/850-v5.17-0010-PCI-aardvark-Disable-link-training-when-unbinding-dr.patch
target/linux/generic/backport-5.15/850-v5.17-0011-PCI-aardvark-Disable-common-PHY-when-unbinding-drive.patch
target/linux/generic/backport-5.15/860-v5.17-MIPS-ath79-drop-_machine_restart-again.patch

index bb99e4ddbfa47189017ca16048fd7aa0fa09fbbc..0aedad4bfd35dcdeb6389843ed5517cd8eda49f1 100644 (file)
@@ -10,12 +10,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/Makefile
 +++ b/Makefile
-@@ -507,7 +507,7 @@ KBUILD_LDFLAGS_MODULE :=
+@@ -523,7 +523,7 @@ KBUILD_LDFLAGS_MODULE :=
  KBUILD_LDFLAGS :=
  CLANG_FLAGS :=
  
 -export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC
 +export ARCH SRCARCH SUBARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC
  export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL
- export PERL PYTHON PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
+ export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
  export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD
index 10685c5f3c21348a56db9695f012e830e77fe248..00b3536b6d1f5146ef4b97c2689b9079e477804c 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Johan Almbladh <johan.almbladh@anyfinetworks.com>
 
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -3294,6 +3294,7 @@ S:       Supported
+@@ -3428,6 +3428,7 @@ S:       Supported
  F:    arch/arm64/net/
  
  BPF JIT for MIPS (32-BIT AND 64-BIT)
@@ -24,7 +24,7 @@ Signed-off-by: Johan Almbladh <johan.almbladh@anyfinetworks.com>
  L:    bpf@vger.kernel.org
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -49,7 +49,6 @@ config MIPS
+@@ -57,7 +57,6 @@ config MIPS
        select HAVE_ARCH_TRACEHOOK
        select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES
        select HAVE_ASM_MODVERSIONS
@@ -32,7 +32,7 @@ Signed-off-by: Johan Almbladh <johan.almbladh@anyfinetworks.com>
        select HAVE_CONTEXT_TRACKING
        select HAVE_TIF_NOHZ
        select HAVE_C_RECORDMCOUNT
-@@ -57,7 +56,10 @@ config MIPS
+@@ -65,7 +64,10 @@ config MIPS
        select HAVE_DEBUG_STACKOVERFLOW
        select HAVE_DMA_CONTIGUOUS
        select HAVE_DYNAMIC_FTRACE
index 6e274acb1f7dd1253ea4718b7a4b35b27622b109..e4c0833ae75f35076ff5ebd85394b7e439f5aaba 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
 
 --- a/drivers/base/regmap/regmap.c
 +++ b/drivers/base/regmap/regmap.c
-@@ -842,6 +842,7 @@ struct regmap *__regmap_init(struct devi
+@@ -877,6 +877,7 @@ struct regmap *__regmap_init(struct devi
        if (!bus) {
                map->reg_read  = config->reg_read;
                map->reg_write = config->reg_write;
@@ -29,7 +29,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
                goto skip_format_initialization;
 --- a/include/linux/regmap.h
 +++ b/include/linux/regmap.h
-@@ -289,6 +289,11 @@ typedef void (*regmap_unlock)(void *);
+@@ -290,6 +290,11 @@ typedef void (*regmap_unlock)(void *);
   *              read operation on a bus such as SPI, I2C, etc. Most of the
   *              devices do not need this.
   * @reg_write:          Same as above for writing.
@@ -41,7 +41,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
   * @fast_io:    Register IO is fast. Use a spinlock instead of a mutex
   *              to perform locking. This field is ignored if custom lock/unlock
   *              functions are used (see fields lock/unlock of struct regmap_config).
-@@ -366,6 +371,8 @@ struct regmap_config {
+@@ -372,6 +377,8 @@ struct regmap_config {
  
        int (*reg_read)(void *context, unsigned int reg, unsigned int *val);
        int (*reg_write)(void *context, unsigned int reg, unsigned int val);
index 796ca74b4d6464395933fa777ba81b742c18200c..18a8752a18f49c1b7f3a63070199a7ac345dc580 100644 (file)
@@ -26,11 +26,9 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  drivers/pinctrl/qcom/pinctrl-msm.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c
-index 8476a8ac4451..a42ff4b22a04 100644
 --- a/drivers/pinctrl/qcom/pinctrl-msm.c
 +++ b/drivers/pinctrl/qcom/pinctrl-msm.c
-@@ -1157,7 +1157,7 @@ static int msm_gpio_irq_set_affinity(struct irq_data *d,
+@@ -1157,7 +1157,7 @@ static int msm_gpio_irq_set_affinity(str
        if (d->parent_data && test_bit(d->hwirq, pctrl->skip_wake_irqs))
                return irq_chip_set_affinity_parent(d, dest, force);
  
@@ -39,7 +37,7 @@ index 8476a8ac4451..a42ff4b22a04 100644
  }
  
  static int msm_gpio_irq_set_vcpu_affinity(struct irq_data *d, void *vcpu_info)
-@@ -1168,7 +1168,7 @@ static int msm_gpio_irq_set_vcpu_affinity(struct irq_data *d, void *vcpu_info)
+@@ -1168,7 +1168,7 @@ static int msm_gpio_irq_set_vcpu_affinit
        if (d->parent_data && test_bit(d->hwirq, pctrl->skip_wake_irqs))
                return irq_chip_set_vcpu_affinity_parent(d, vcpu_info);
  
index d300af3342586b6cec038cdbc524c18bc5f51061..9a6b802fd1f02eeec17c4dd3ebd09620bf5c077f 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
 
 --- a/net/netfilter/nf_flow_table_core.c
 +++ b/net/netfilter/nf_flow_table_core.c
-@@ -576,13 +576,41 @@ void nf_flow_table_free(struct nf_flowta
+@@ -646,13 +646,41 @@ void nf_flow_table_free(struct nf_flowta
  }
  EXPORT_SYMBOL_GPL(nf_flow_table_free);
  
@@ -55,7 +55,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
 --- a/net/netfilter/nft_flow_offload.c
 +++ b/net/netfilter/nft_flow_offload.c
-@@ -237,47 +237,14 @@ static struct nft_expr_type nft_flow_off
+@@ -438,47 +438,14 @@ static struct nft_expr_type nft_flow_off
        .owner          = THIS_MODULE,
  };
  
index 019d0d5ee8c583d3e5a25f57187f31bb71f2da9c..fe47c175a4a55d63602974d21633a5fea225a2c6 100644 (file)
@@ -67,11 +67,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/switch.c   | 14 +++++++++++
  4 files changed, 96 insertions(+), 4 deletions(-)
 
-diff --git a/include/net/dsa.h b/include/net/dsa.h
-index bdf308a5c55ee..8b496c7e62ef8 100644
 --- a/include/net/dsa.h
 +++ b/include/net/dsa.h
-@@ -82,12 +82,15 @@ enum dsa_tag_protocol {
+@@ -80,12 +80,15 @@ enum dsa_tag_protocol {
  };
  
  struct dsa_switch;
@@ -87,7 +85,7 @@ index bdf308a5c55ee..8b496c7e62ef8 100644
        unsigned int needed_headroom;
        unsigned int needed_tailroom;
        const char *name;
-@@ -337,6 +340,8 @@ struct dsa_switch {
+@@ -329,6 +332,8 @@ struct dsa_switch {
         */
        void *priv;
  
@@ -96,7 +94,7 @@ index bdf308a5c55ee..8b496c7e62ef8 100644
        /*
         * Configuration data for this switch.
         */
-@@ -689,6 +694,13 @@ struct dsa_switch_ops {
+@@ -584,6 +589,13 @@ struct dsa_switch_ops {
                                                  enum dsa_tag_protocol mprot);
        int     (*change_tag_protocol)(struct dsa_switch *ds, int port,
                                       enum dsa_tag_protocol proto);
@@ -110,11 +108,9 @@ index bdf308a5c55ee..8b496c7e62ef8 100644
  
        /* Optional switch-wide initialization and destruction methods */
        int     (*setup)(struct dsa_switch *ds);
-diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
-index 8814fa0e44c84..cf65661686209 100644
 --- a/net/dsa/dsa2.c
 +++ b/net/dsa/dsa2.c
-@@ -248,8 +248,12 @@ static struct dsa_switch_tree *dsa_tree_alloc(int index)
+@@ -230,8 +230,12 @@ static struct dsa_switch_tree *dsa_tree_
  
  static void dsa_tree_free(struct dsa_switch_tree *dst)
  {
@@ -128,16 +124,16 @@ index 8814fa0e44c84..cf65661686209 100644
        list_del(&dst->list);
        kfree(dst);
  }
-@@ -822,7 +826,7 @@ static int dsa_switch_setup_tag_protocol(struct dsa_switch *ds)
-       int err;
+@@ -805,7 +809,7 @@ static int dsa_switch_setup_tag_protocol
+       int port, err;
  
        if (tag_ops->proto == dst->default_proto)
 -              return 0;
 +              goto connect;
  
-       dsa_switch_for_each_cpu_port(cpu_dp, ds) {
-               rtnl_lock();
-@@ -836,6 +840,17 @@ static int dsa_switch_setup_tag_protocol(struct dsa_switch *ds)
+       for (port = 0; port < ds->num_ports; port++) {
+               if (!dsa_is_cpu_port(ds, port))
+@@ -821,6 +825,17 @@ static int dsa_switch_setup_tag_protocol
                }
        }
  
@@ -155,7 +151,7 @@ index 8814fa0e44c84..cf65661686209 100644
        return 0;
  }
  
-@@ -1136,6 +1151,46 @@ static void dsa_tree_teardown(struct dsa_switch_tree *dst)
+@@ -1132,6 +1147,46 @@ static void dsa_tree_teardown(struct dsa
        dst->setup = false;
  }
  
@@ -202,7 +198,7 @@ index 8814fa0e44c84..cf65661686209 100644
  /* Since the dsa/tagging sysfs device attribute is per master, the assumption
   * is that all DSA switches within a tree share the same tagger, otherwise
   * they would have formed disjoint trees (different "dsa,member" values).
-@@ -1168,12 +1223,15 @@ int dsa_tree_change_tag_proto(struct dsa_switch_tree *dst,
+@@ -1164,12 +1219,15 @@ int dsa_tree_change_tag_proto(struct dsa
                        goto out_unlock;
        }
  
@@ -220,7 +216,7 @@ index 8814fa0e44c84..cf65661686209 100644
  
        rtnl_unlock();
  
-@@ -1260,6 +1318,7 @@ static int dsa_port_parse_cpu(struct dsa_port *dp, struct net_device *master,
+@@ -1257,6 +1315,7 @@ static int dsa_port_parse_cpu(struct dsa
        struct dsa_switch_tree *dst = ds->dst;
        const struct dsa_device_ops *tag_ops;
        enum dsa_tag_protocol default_proto;
@@ -228,7 +224,7 @@ index 8814fa0e44c84..cf65661686209 100644
  
        /* Find out which protocol the switch would prefer. */
        default_proto = dsa_get_tag_protocol(dp, master);
-@@ -1307,6 +1366,12 @@ static int dsa_port_parse_cpu(struct dsa_port *dp, struct net_device *master,
+@@ -1304,6 +1363,12 @@ static int dsa_port_parse_cpu(struct dsa
                 */
                dsa_tag_driver_put(tag_ops);
        } else {
@@ -241,8 +237,6 @@ index 8814fa0e44c84..cf65661686209 100644
                dst->tag_ops = tag_ops;
        }
  
-diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h
-index 38ce5129a33dc..0db2b26b0c83c 100644
 --- a/net/dsa/dsa_priv.h
 +++ b/net/dsa/dsa_priv.h
 @@ -37,6 +37,7 @@ enum {
@@ -253,11 +247,9 @@ index 38ce5129a33dc..0db2b26b0c83c 100644
        DSA_NOTIFIER_MRP_ADD,
        DSA_NOTIFIER_MRP_DEL,
        DSA_NOTIFIER_MRP_ADD_RING_ROLE,
-diff --git a/net/dsa/switch.c b/net/dsa/switch.c
-index 9c92edd969612..06948f5368296 100644
 --- a/net/dsa/switch.c
 +++ b/net/dsa/switch.c
-@@ -647,6 +647,17 @@ static int dsa_switch_change_tag_proto(struct dsa_switch *ds,
+@@ -616,6 +616,17 @@ static int dsa_switch_change_tag_proto(s
        return 0;
  }
  
@@ -275,7 +267,7 @@ index 9c92edd969612..06948f5368296 100644
  static int dsa_switch_mrp_add(struct dsa_switch *ds,
                              struct dsa_notifier_mrp_info *info)
  {
-@@ -766,6 +777,9 @@ static int dsa_switch_event(struct notifier_block *nb,
+@@ -735,6 +746,9 @@ static int dsa_switch_event(struct notif
        case DSA_NOTIFIER_TAG_PROTO:
                err = dsa_switch_change_tag_proto(ds, info);
                break;
@@ -285,6 +277,3 @@ index 9c92edd969612..06948f5368296 100644
        case DSA_NOTIFIER_MRP_ADD:
                err = dsa_switch_mrp_add(ds, info);
                break;
--- 
-cgit 1.2.3-1.el7
-
index fa3752ac34bce9774b73fba5f2d09b05b724cb8f..f682260699dc0d7176b8de78d3db5a84b7159cea 100644 (file)
@@ -65,11 +65,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/tag_sja1105.c      | 67 ++++++++++++++++------------------------------
  6 files changed, 109 insertions(+), 113 deletions(-)
 
-diff --git a/include/net/dsa.h b/include/net/dsa.h
-index 64d71968aa91a..f16959444ae12 100644
 --- a/include/net/dsa.h
 +++ b/include/net/dsa.h
-@@ -82,15 +82,14 @@ enum dsa_tag_protocol {
+@@ -80,15 +80,14 @@ enum dsa_tag_protocol {
  };
  
  struct dsa_switch;
@@ -87,11 +85,9 @@ index 64d71968aa91a..f16959444ae12 100644
        unsigned int needed_headroom;
        unsigned int needed_tailroom;
        const char *name;
-diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
-index cf65661686209..c18b22c0bf55e 100644
 --- a/net/dsa/dsa2.c
 +++ b/net/dsa/dsa2.c
-@@ -248,12 +248,8 @@ static struct dsa_switch_tree *dsa_tree_alloc(int index)
+@@ -230,12 +230,8 @@ static struct dsa_switch_tree *dsa_tree_
  
  static void dsa_tree_free(struct dsa_switch_tree *dst)
  {
@@ -105,7 +101,7 @@ index cf65661686209..c18b22c0bf55e 100644
        list_del(&dst->list);
        kfree(dst);
  }
-@@ -841,17 +837,29 @@ static int dsa_switch_setup_tag_protocol(struct dsa_switch *ds)
+@@ -826,17 +822,29 @@ static int dsa_switch_setup_tag_protocol
        }
  
  connect:
@@ -136,7 +132,7 @@ index cf65661686209..c18b22c0bf55e 100644
  }
  
  static int dsa_switch_setup(struct dsa_switch *ds)
-@@ -1160,13 +1168,6 @@ static int dsa_tree_bind_tag_proto(struct dsa_switch_tree *dst,
+@@ -1156,13 +1164,6 @@ static int dsa_tree_bind_tag_proto(struc
  
        dst->tag_ops = tag_ops;
  
@@ -150,7 +146,7 @@ index cf65661686209..c18b22c0bf55e 100644
        /* Notify the switches from this tree about the connection
         * to the new tagger
         */
-@@ -1176,16 +1177,14 @@ static int dsa_tree_bind_tag_proto(struct dsa_switch_tree *dst,
+@@ -1172,16 +1173,14 @@ static int dsa_tree_bind_tag_proto(struc
                goto out_disconnect;
  
        /* Notify the old tagger about the disconnection from this tree */
@@ -171,7 +167,7 @@ index cf65661686209..c18b22c0bf55e 100644
        dst->tag_ops = old_tag_ops;
  
        return err;
-@@ -1318,7 +1317,6 @@ static int dsa_port_parse_cpu(struct dsa_port *dp, struct net_device *master,
+@@ -1315,7 +1314,6 @@ static int dsa_port_parse_cpu(struct dsa
        struct dsa_switch_tree *dst = ds->dst;
        const struct dsa_device_ops *tag_ops;
        enum dsa_tag_protocol default_proto;
@@ -179,7 +175,7 @@ index cf65661686209..c18b22c0bf55e 100644
  
        /* Find out which protocol the switch would prefer. */
        default_proto = dsa_get_tag_protocol(dp, master);
-@@ -1366,12 +1364,6 @@ static int dsa_port_parse_cpu(struct dsa_port *dp, struct net_device *master,
+@@ -1363,12 +1361,6 @@ static int dsa_port_parse_cpu(struct dsa
                 */
                dsa_tag_driver_put(tag_ops);
        } else {
@@ -192,8 +188,6 @@ index cf65661686209..c18b22c0bf55e 100644
                dst->tag_ops = tag_ops;
        }
  
-diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h
-index 0db2b26b0c83c..edfaae7b59672 100644
 --- a/net/dsa/dsa_priv.h
 +++ b/net/dsa/dsa_priv.h
 @@ -38,6 +38,7 @@ enum {
@@ -204,11 +198,9 @@ index 0db2b26b0c83c..edfaae7b59672 100644
        DSA_NOTIFIER_MRP_ADD,
        DSA_NOTIFIER_MRP_DEL,
        DSA_NOTIFIER_MRP_ADD_RING_ROLE,
-diff --git a/net/dsa/switch.c b/net/dsa/switch.c
-index 06948f5368296..393f2d8a860a9 100644
 --- a/net/dsa/switch.c
 +++ b/net/dsa/switch.c
-@@ -647,15 +647,58 @@ static int dsa_switch_change_tag_proto(struct dsa_switch *ds,
+@@ -616,15 +616,58 @@ static int dsa_switch_change_tag_proto(s
        return 0;
  }
  
@@ -270,7 +262,7 @@ index 06948f5368296..393f2d8a860a9 100644
  }
  
  static int dsa_switch_mrp_add(struct dsa_switch *ds,
-@@ -780,6 +823,9 @@ static int dsa_switch_event(struct notifier_block *nb,
+@@ -749,6 +792,9 @@ static int dsa_switch_event(struct notif
        case DSA_NOTIFIER_TAG_PROTO_CONNECT:
                err = dsa_switch_connect_tag_proto(ds, info);
                break;
@@ -280,6 +272,3 @@ index 06948f5368296..393f2d8a860a9 100644
        case DSA_NOTIFIER_MRP_ADD:
                err = dsa_switch_mrp_add(ds, info);
                break;
--- 
-cgit 1.2.3-1.el7
-
index 16aa0711ad7610013e40fde9d5fe8d990003b27a..e4bead892c281ad1e53edff5439d0537b41c7c92 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/phy/at803x.c
 +++ b/drivers/net/phy/at803x.c
-@@ -1328,6 +1328,19 @@ static struct phy_driver at803x_driver[]
+@@ -1420,6 +1420,19 @@ static struct phy_driver at803x_driver[]
        .get_sset_count = at803x_get_sset_count,
        .get_strings = at803x_get_strings,
        .get_stats = at803x_get_stats,
@@ -37,7 +37,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  }, };
  
  module_phy_driver(at803x_driver);
-@@ -1338,6 +1351,8 @@ static struct mdio_device_id __maybe_unu
+@@ -1430,6 +1443,8 @@ static struct mdio_device_id __maybe_unu
        { PHY_ID_MATCH_EXACT(ATH8032_PHY_ID) },
        { PHY_ID_MATCH_EXACT(ATH8035_PHY_ID) },
        { PHY_ID_MATCH_EXACT(ATH9331_PHY_ID) },
index d80b5db714bc215488bf6528c4383dfba5b4ef3c..eb84b45b5c45c8afd9014b80099de32fa60ad4a6 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/drivers/net/dsa/b53/b53_common.c
 +++ b/drivers/net/dsa/b53/b53_common.c
-@@ -2288,7 +2288,7 @@ static const struct b53_chip_data b53_sw
+@@ -2302,7 +2302,7 @@ static const struct b53_chip_data b53_sw
                .chip_id = BCM5325_DEVICE_ID,
                .dev_name = "BCM5325",
                .vlans = 16,
@@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .arl_bins = 2,
                .arl_buckets = 1024,
                .imp_port = 5,
-@@ -2299,7 +2299,7 @@ static const struct b53_chip_data b53_sw
+@@ -2313,7 +2313,7 @@ static const struct b53_chip_data b53_sw
                .chip_id = BCM5365_DEVICE_ID,
                .dev_name = "BCM5365",
                .vlans = 256,
@@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .arl_bins = 2,
                .arl_buckets = 1024,
                .imp_port = 5,
-@@ -2310,7 +2310,7 @@ static const struct b53_chip_data b53_sw
+@@ -2324,7 +2324,7 @@ static const struct b53_chip_data b53_sw
                .chip_id = BCM5389_DEVICE_ID,
                .dev_name = "BCM5389",
                .vlans = 4096,
@@ -49,7 +49,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
-@@ -2324,7 +2324,7 @@ static const struct b53_chip_data b53_sw
+@@ -2338,7 +2338,7 @@ static const struct b53_chip_data b53_sw
                .chip_id = BCM5395_DEVICE_ID,
                .dev_name = "BCM5395",
                .vlans = 4096,
@@ -58,7 +58,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
-@@ -2338,7 +2338,7 @@ static const struct b53_chip_data b53_sw
+@@ -2352,7 +2352,7 @@ static const struct b53_chip_data b53_sw
                .chip_id = BCM5397_DEVICE_ID,
                .dev_name = "BCM5397",
                .vlans = 4096,
@@ -67,7 +67,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
-@@ -2352,7 +2352,7 @@ static const struct b53_chip_data b53_sw
+@@ -2366,7 +2366,7 @@ static const struct b53_chip_data b53_sw
                .chip_id = BCM5398_DEVICE_ID,
                .dev_name = "BCM5398",
                .vlans = 4096,
@@ -76,7 +76,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
-@@ -2366,7 +2366,7 @@ static const struct b53_chip_data b53_sw
+@@ -2380,7 +2380,7 @@ static const struct b53_chip_data b53_sw
                .chip_id = BCM53115_DEVICE_ID,
                .dev_name = "BCM53115",
                .vlans = 4096,
@@ -85,7 +85,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .arl_bins = 4,
                .arl_buckets = 1024,
                .vta_regs = B53_VTA_REGS,
-@@ -2380,7 +2380,7 @@ static const struct b53_chip_data b53_sw
+@@ -2394,7 +2394,7 @@ static const struct b53_chip_data b53_sw
                .chip_id = BCM53125_DEVICE_ID,
                .dev_name = "BCM53125",
                .vlans = 4096,
@@ -94,7 +94,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
-@@ -2422,7 +2422,7 @@ static const struct b53_chip_data b53_sw
+@@ -2436,7 +2436,7 @@ static const struct b53_chip_data b53_sw
                .chip_id = BCM53010_DEVICE_ID,
                .dev_name = "BCM53010",
                .vlans = 4096,
@@ -103,7 +103,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
-@@ -2464,7 +2464,7 @@ static const struct b53_chip_data b53_sw
+@@ -2478,7 +2478,7 @@ static const struct b53_chip_data b53_sw
                .chip_id = BCM53018_DEVICE_ID,
                .dev_name = "BCM53018",
                .vlans = 4096,
@@ -112,7 +112,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
-@@ -2478,7 +2478,7 @@ static const struct b53_chip_data b53_sw
+@@ -2492,7 +2492,7 @@ static const struct b53_chip_data b53_sw
                .chip_id = BCM53019_DEVICE_ID,
                .dev_name = "BCM53019",
                .vlans = 4096,
@@ -121,7 +121,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
-@@ -2605,7 +2605,6 @@ static int b53_switch_init(struct b53_de
+@@ -2634,7 +2634,6 @@ static int b53_switch_init(struct b53_de
                        dev->cpu_port = 5;
        }
  
index 4a4f8e940d22ddb82f0e15a47e725fe0a6870373..23805a9027b3bb7a3afc537db36d872606f7b83e 100644 (file)
@@ -27,7 +27,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/drivers/net/dsa/b53/b53_common.c
 +++ b/drivers/net/dsa/b53/b53_common.c
-@@ -1256,12 +1256,6 @@ static void b53_adjust_link(struct dsa_s
+@@ -1291,12 +1291,6 @@ static void b53_adjust_link(struct dsa_s
                                return;
                        }
                }
index 3954ee4aac636a836d0f5d08e9b94e3f3c3a1f91..941fa23eb4c66974b692160372106b816aad8e4b 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/drivers/net/dsa/b53/b53_common.c
 +++ b/drivers/net/dsa/b53/b53_common.c
-@@ -1187,7 +1187,7 @@ static void b53_adjust_link(struct dsa_s
+@@ -1222,7 +1222,7 @@ static void b53_adjust_link(struct dsa_s
                return;
  
        /* Enable flow control on BCM5301x's CPU port */
index 9e687b14880bef4dce0d42e05425f860b282c340..746a1e39782370c4fec76103c9eaf0c75b9f1aea 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/drivers/net/dsa/b53/b53_common.c
 +++ b/drivers/net/dsa/b53/b53_common.c
-@@ -2286,7 +2286,6 @@ static const struct b53_chip_data b53_sw
+@@ -2300,7 +2300,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 2,
                .arl_buckets = 1024,
                .imp_port = 5,
@@ -27,7 +27,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .duplex_reg = B53_DUPLEX_STAT_FE,
        },
        {
-@@ -2297,7 +2296,6 @@ static const struct b53_chip_data b53_sw
+@@ -2311,7 +2310,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 2,
                .arl_buckets = 1024,
                .imp_port = 5,
@@ -35,7 +35,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .duplex_reg = B53_DUPLEX_STAT_FE,
        },
        {
-@@ -2308,7 +2306,6 @@ static const struct b53_chip_data b53_sw
+@@ -2322,7 +2320,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -43,7 +43,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2322,7 +2319,6 @@ static const struct b53_chip_data b53_sw
+@@ -2336,7 +2333,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -51,7 +51,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2336,7 +2332,6 @@ static const struct b53_chip_data b53_sw
+@@ -2350,7 +2346,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -59,7 +59,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS_9798,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2350,7 +2345,6 @@ static const struct b53_chip_data b53_sw
+@@ -2364,7 +2359,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -67,7 +67,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS_9798,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2365,7 +2359,6 @@ static const struct b53_chip_data b53_sw
+@@ -2379,7 +2373,6 @@ static const struct b53_chip_data b53_sw
                .arl_buckets = 1024,
                .vta_regs = B53_VTA_REGS,
                .imp_port = 8,
@@ -75,7 +75,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
                .jumbo_size_reg = B53_JUMBO_MAX_SIZE,
-@@ -2378,7 +2371,6 @@ static const struct b53_chip_data b53_sw
+@@ -2392,7 +2385,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -83,7 +83,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2392,7 +2384,6 @@ static const struct b53_chip_data b53_sw
+@@ -2406,7 +2398,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -91,7 +91,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2406,7 +2397,6 @@ static const struct b53_chip_data b53_sw
+@@ -2420,7 +2411,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -99,7 +99,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS_63XX,
                .duplex_reg = B53_DUPLEX_STAT_63XX,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK_63XX,
-@@ -2420,7 +2410,6 @@ static const struct b53_chip_data b53_sw
+@@ -2434,7 +2424,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2434,7 +2423,6 @@ static const struct b53_chip_data b53_sw
+@@ -2448,7 +2437,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -115,7 +115,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2448,7 +2436,6 @@ static const struct b53_chip_data b53_sw
+@@ -2462,7 +2450,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -123,7 +123,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2462,7 +2449,6 @@ static const struct b53_chip_data b53_sw
+@@ -2476,7 +2463,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -131,7 +131,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2476,7 +2462,6 @@ static const struct b53_chip_data b53_sw
+@@ -2490,7 +2476,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -139,7 +139,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2490,7 +2475,6 @@ static const struct b53_chip_data b53_sw
+@@ -2504,7 +2489,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -147,7 +147,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2504,7 +2488,6 @@ static const struct b53_chip_data b53_sw
+@@ -2518,7 +2502,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -155,7 +155,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2518,7 +2501,6 @@ static const struct b53_chip_data b53_sw
+@@ -2547,7 +2530,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 1024,
                .imp_port = 8,
@@ -163,7 +163,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2532,7 +2514,6 @@ static const struct b53_chip_data b53_sw
+@@ -2561,7 +2543,6 @@ static const struct b53_chip_data b53_sw
                .arl_bins = 4,
                .arl_buckets = 256,
                .imp_port = 8,
@@ -171,7 +171,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                .vta_regs = B53_VTA_REGS,
                .duplex_reg = B53_DUPLEX_STAT_GE,
                .jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2558,7 +2539,6 @@ static int b53_switch_init(struct b53_de
+@@ -2587,7 +2568,6 @@ static int b53_switch_init(struct b53_de
                        dev->vta_regs[2] = chip->vta_regs[2];
                        dev->jumbo_pm_reg = chip->jumbo_pm_reg;
                        dev->imp_port = chip->imp_port;
@@ -179,7 +179,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                        dev->num_vlans = chip->vlans;
                        dev->num_arl_bins = chip->arl_bins;
                        dev->num_arl_buckets = chip->arl_buckets;
-@@ -2590,13 +2570,6 @@ static int b53_switch_init(struct b53_de
+@@ -2619,13 +2599,6 @@ static int b53_switch_init(struct b53_de
                        break;
  #endif
                }
@@ -195,7 +195,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        dev->num_ports = fls(dev->enabled_ports);
 --- a/drivers/net/dsa/b53/b53_priv.h
 +++ b/drivers/net/dsa/b53/b53_priv.h
-@@ -123,7 +123,6 @@ struct b53_device {
+@@ -124,7 +124,6 @@ struct b53_device {
        /* used ports mask */
        u16 enabled_ports;
        unsigned int imp_port;
index c82bf913a09ce0c45ea1f7f25c18a4ac97369257..07428364aaabe970aff7a2268d1e45f667cf8e7b 100644 (file)
@@ -16,9 +16,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/phy/at803x.c
 +++ b/drivers/net/phy/at803x.c
-@@ -148,7 +148,8 @@
- #define AT803X_PAGE_FIBER             0
- #define AT803X_PAGE_COPPER            1
+@@ -150,7 +150,8 @@
+ #define ATH8035_PHY_ID                                0x004dd072
+ #define AT8030_PHY_ID_MASK                    0xffffffef
  
 -#define QCA8327_PHY_ID                                0x004dd034
 +#define QCA8327_A_PHY_ID                      0x004dd033
@@ -26,7 +26,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  #define QCA8337_PHY_ID                                0x004dd036
  #define QCA8K_PHY_ID_MASK                     0xffffffff
  
-@@ -1329,10 +1330,23 @@ static struct phy_driver at803x_driver[]
+@@ -1421,10 +1422,23 @@ static struct phy_driver at803x_driver[]
        .get_strings = at803x_get_strings,
        .get_stats = at803x_get_stats,
  }, {
@@ -53,7 +53,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        /* PHY_GBIT_FEATURES */
        .probe = at803x_probe,
        .flags = PHY_IS_INTERNAL,
-@@ -1352,7 +1366,8 @@ static struct mdio_device_id __maybe_unu
+@@ -1444,7 +1458,8 @@ static struct mdio_device_id __maybe_unu
        { PHY_ID_MATCH_EXACT(ATH8035_PHY_ID) },
        { PHY_ID_MATCH_EXACT(ATH9331_PHY_ID) },
        { PHY_ID_MATCH_EXACT(QCA8337_PHY_ID) },
index be24fd5cf7bb041babdae93e16f5a609c48ebc24..a572a318c8a202e7ca322ecb9000a3ad82bc275a 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/phy/at803x.c
 +++ b/drivers/net/phy/at803x.c
-@@ -1329,6 +1329,8 @@ static struct phy_driver at803x_driver[]
+@@ -1421,6 +1421,8 @@ static struct phy_driver at803x_driver[]
        .get_sset_count = at803x_get_sset_count,
        .get_strings = at803x_get_strings,
        .get_stats = at803x_get_stats,
@@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  }, {
        /* QCA8327-A from switch QCA8327-AL1A */
        .phy_id = QCA8327_A_PHY_ID,
-@@ -1342,6 +1344,8 @@ static struct phy_driver at803x_driver[]
+@@ -1434,6 +1436,8 @@ static struct phy_driver at803x_driver[]
        .get_sset_count = at803x_get_sset_count,
        .get_strings = at803x_get_strings,
        .get_stats = at803x_get_stats,
@@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  }, {
        /* QCA8327-B from switch QCA8327-BL1A */
        .phy_id = QCA8327_B_PHY_ID,
-@@ -1355,6 +1359,8 @@ static struct phy_driver at803x_driver[]
+@@ -1447,6 +1451,8 @@ static struct phy_driver at803x_driver[]
        .get_sset_count = at803x_get_sset_count,
        .get_strings = at803x_get_strings,
        .get_stats = at803x_get_stats,
index 23f574c76fe55f19b40f757567f23276bc206a73..45c1ff27dcce8260104d35a002f3495f454c791c 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/phy/at803x.c
 +++ b/drivers/net/phy/at803x.c
-@@ -1318,47 +1318,47 @@ static struct phy_driver at803x_driver[]
+@@ -1410,47 +1410,47 @@ static struct phy_driver at803x_driver[]
        .config_aneg            = at803x_config_aneg,
  }, {
        /* QCA8337 */
index 5dfe27dd24dbd82726bfed5328269e36f05be63e..7f9182ab190e2aaa7f818e9fc03cf6499b293bd4 100644 (file)
@@ -37,7 +37,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
  #define AT803X_DEBUG_REG_1F                   0x1F
  #define AT803X_DEBUG_PLL_ON                   BIT(2)
-@@ -1220,6 +1225,58 @@ static int qca83xx_config_init(struct ph
+@@ -1312,6 +1317,58 @@ static int qca83xx_config_init(struct ph
        return 0;
  }
  
@@ -96,7 +96,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static struct phy_driver at803x_driver[] = {
  {
        /* Qualcomm Atheros AR8035 */
-@@ -1329,8 +1386,8 @@ static struct phy_driver at803x_driver[]
+@@ -1421,8 +1478,8 @@ static struct phy_driver at803x_driver[]
        .get_sset_count         = at803x_get_sset_count,
        .get_strings            = at803x_get_strings,
        .get_stats              = at803x_get_stats,
@@ -107,7 +107,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  }, {
        /* QCA8327-A from switch QCA8327-AL1A */
        .phy_id                 = QCA8327_A_PHY_ID,
-@@ -1344,8 +1401,8 @@ static struct phy_driver at803x_driver[]
+@@ -1436,8 +1493,8 @@ static struct phy_driver at803x_driver[]
        .get_sset_count         = at803x_get_sset_count,
        .get_strings            = at803x_get_strings,
        .get_stats              = at803x_get_stats,
@@ -118,7 +118,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  }, {
        /* QCA8327-B from switch QCA8327-BL1A */
        .phy_id                 = QCA8327_B_PHY_ID,
-@@ -1359,8 +1416,8 @@ static struct phy_driver at803x_driver[]
+@@ -1451,8 +1508,8 @@ static struct phy_driver at803x_driver[]
        .get_sset_count         = at803x_get_sset_count,
        .get_strings            = at803x_get_strings,
        .get_stats              = at803x_get_stats,
index aeb43e2f67dbf39dfb2118a341ac162a208a6933..cfdfe2c47fe875ee39674f4e5c218c41090ccebd 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 --- a/drivers/net/phy/at803x.c
 +++ b/drivers/net/phy/at803x.c
 @@ -87,6 +87,8 @@
- #define AT803X_PSSR_MR_AN_COMPLETE    0x0200
+ #define AT803X_PSSR_MR_AN_COMPLETE            0x0200
  
  #define AT803X_DEBUG_REG_0                    0x00
 +#define QCA8327_DEBUG_MANU_CTRL_EN            BIT(2)
@@ -27,7 +27,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  #define AT803X_DEBUG_RX_CLK_DLY_EN            BIT(15)
  
  #define AT803X_DEBUG_REG_5                    0x05
-@@ -1222,9 +1224,37 @@ static int qca83xx_config_init(struct ph
+@@ -1314,9 +1316,37 @@ static int qca83xx_config_init(struct ph
                break;
        }
  
@@ -65,7 +65,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static int qca83xx_resume(struct phy_device *phydev)
  {
        int ret, val;
-@@ -1379,6 +1409,7 @@ static struct phy_driver at803x_driver[]
+@@ -1471,6 +1501,7 @@ static struct phy_driver at803x_driver[]
        .phy_id_mask            = QCA8K_PHY_ID_MASK,
        .name                   = "Qualcomm Atheros 8337 internal PHY",
        /* PHY_GBIT_FEATURES */
@@ -73,7 +73,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        .probe                  = at803x_probe,
        .flags                  = PHY_IS_INTERNAL,
        .config_init            = qca83xx_config_init,
-@@ -1394,6 +1425,7 @@ static struct phy_driver at803x_driver[]
+@@ -1486,6 +1517,7 @@ static struct phy_driver at803x_driver[]
        .phy_id_mask            = QCA8K_PHY_ID_MASK,
        .name                   = "Qualcomm Atheros 8327-A internal PHY",
        /* PHY_GBIT_FEATURES */
@@ -81,7 +81,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        .probe                  = at803x_probe,
        .flags                  = PHY_IS_INTERNAL,
        .config_init            = qca83xx_config_init,
-@@ -1409,6 +1441,7 @@ static struct phy_driver at803x_driver[]
+@@ -1501,6 +1533,7 @@ static struct phy_driver at803x_driver[]
        .phy_id_mask            = QCA8K_PHY_ID_MASK,
        .name                   = "Qualcomm Atheros 8327-B internal PHY",
        /* PHY_GBIT_FEATURES */
index 2352fa0e44e1efe48f881be2a8f47b7960cfee1e..71c1e60facb1548c3e01516991d5f25656672ab8 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/phy/at803x.c
 +++ b/drivers/net/phy/at803x.c
-@@ -1233,6 +1233,9 @@ static int qca83xx_config_init(struct ph
+@@ -1325,6 +1325,9 @@ static int qca83xx_config_init(struct ph
                at803x_debug_reg_mask(phydev, AT803X_DEBUG_REG_0,
                                      QCA8327_DEBUG_MANU_CTRL_EN, 0);
  
index 9c28a893f16c1d524b019fc4a704e6a029144115..64163bfb41340a2cf67505935d9af63922144150 100644 (file)
@@ -16,8 +16,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 --- a/drivers/net/phy/at803x.c
 +++ b/drivers/net/phy/at803x.c
 @@ -86,12 +86,12 @@
- #define AT803X_PSSR                   0x11    /*PHY-Specific Status Register*/
- #define AT803X_PSSR_MR_AN_COMPLETE    0x0200
+ #define AT803X_PSSR                           0x11    /*PHY-Specific Status Register*/
+ #define AT803X_PSSR_MR_AN_COMPLETE            0x0200
  
 -#define AT803X_DEBUG_REG_0                    0x00
 +#define AT803X_DEBUG_ANALOG_TEST_CTRL         0x00
@@ -39,7 +39,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  #define   AT803X_DEBUG_GATE_CLK_IN1000                BIT(6)
  
  #define AT803X_DEBUG_REG_1F                   0x1F
-@@ -274,25 +274,25 @@ static int at803x_read_page(struct phy_d
+@@ -284,25 +284,25 @@ static int at803x_read_page(struct phy_d
  
  static int at803x_enable_rx_delay(struct phy_device *phydev)
  {
@@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                                     AT803X_DEBUG_TX_CLK_DLY_EN, 0);
  }
  
-@@ -1208,9 +1208,9 @@ static int qca83xx_config_init(struct ph
+@@ -1300,9 +1300,9 @@ static int qca83xx_config_init(struct ph
        switch (switch_revision) {
        case 1:
                /* For 100M waveform */
@@ -81,7 +81,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                break;
  
        case 2:
-@@ -1218,8 +1218,8 @@ static int qca83xx_config_init(struct ph
+@@ -1310,8 +1310,8 @@ static int qca83xx_config_init(struct ph
                fallthrough;
        case 4:
                phy_write_mmd(phydev, MDIO_MMD_PCS, MDIO_AZ_DEBUG, 0x803f);
@@ -92,7 +92,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                at803x_debug_reg_write(phydev, AT803X_DEBUG_REG_3C, 0x6000);
                break;
        }
-@@ -1230,7 +1230,7 @@ static int qca83xx_config_init(struct ph
+@@ -1322,7 +1322,7 @@ static int qca83xx_config_init(struct ph
         */
        if (phydev->drv->phy_id == QCA8327_A_PHY_ID ||
            phydev->drv->phy_id == QCA8327_B_PHY_ID)
@@ -101,7 +101,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                                      QCA8327_DEBUG_MANU_CTRL_EN, 0);
  
        /* Following original QCA sourcecode set port to prefer master */
-@@ -1248,12 +1248,12 @@ static void qca83xx_link_change_notify(s
+@@ -1340,12 +1340,12 @@ static void qca83xx_link_change_notify(s
        /* Set DAC Amplitude adjustment to +6% for 100m on link running */
        if (phydev->state == PHY_RUNNING) {
                if (phydev->speed == SPEED_100)
@@ -116,7 +116,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                                      QCA8327_DEBUG_MANU_CTRL_EN, 0);
        }
  }
-@@ -1300,7 +1300,7 @@ static int qca83xx_suspend(struct phy_de
+@@ -1392,7 +1392,7 @@ static int qca83xx_suspend(struct phy_de
                phy_modify(phydev, MII_BMCR, mask, 0);
        }
  
index 6e118f5a146e978d9dce36c11482cba8507c8df5..70f227fb69a1f0c0e6050527a85e887e9633a713 100644 (file)
@@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                if (ret)
                        return ret;
        }
-@@ -2098,7 +2105,12 @@ static int qca8k_resume(struct device *d
+@@ -2105,7 +2112,12 @@ static int qca8k_resume(struct device *d
  static SIMPLE_DEV_PM_OPS(qca8k_pm_ops,
                         qca8k_suspend, qca8k_resume);
  
@@ -56,7 +56,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        .id = QCA8K_ID_QCA8327,
  };
  
-@@ -2107,7 +2119,8 @@ static const struct qca8k_match_data qca
+@@ -2114,7 +2126,8 @@ static const struct qca8k_match_data qca
  };
  
  static const struct of_device_id qca8k_of_match[] = {
index 430329e23b6e765a17f19513ccb318f0a27e89a8..df9518d86cd369de2db35f17a6e48a731758646a 100644 (file)
@@ -18,11 +18,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.c | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index a429c9750add1b..d7bcecbc1c5300 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -1433,6 +1433,12 @@ qca8k_phylink_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
+@@ -1433,6 +1433,12 @@ qca8k_phylink_mac_config(struct dsa_swit
  
                qca8k_write(priv, QCA8K_REG_SGMII_CTRL, val);
  
@@ -35,7 +33,7 @@ index a429c9750add1b..d7bcecbc1c5300 100644
                /* For qca8327/qca8328/qca8334/qca8338 sgmii is unique and
                 * falling edge is set writing in the PORT0 PAD reg
                 */
-@@ -1455,12 +1461,6 @@ qca8k_phylink_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
+@@ -1455,12 +1461,6 @@ qca8k_phylink_mac_config(struct dsa_swit
                                        QCA8K_PORT0_PAD_SGMII_TXCLK_FALLING_EDGE,
                                        val);
  
index 721a59108b98ca774531f6f4e3071c0d4b8ae719..7348d93ec44b57885bcc6831b9fc12d3ebea24a5 100644 (file)
@@ -28,8 +28,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.c | 6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index d7bcecbc1c5300..147ca39531a3bb 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
 @@ -1256,8 +1256,12 @@ qca8k_setup(struct dsa_switch *ds)
index d86f6156a5839685f691c6a6eb0c37a8ff9ef589..f477b1b92985d9d853ea395b065ea69b279e8bbe 100644 (file)
@@ -16,11 +16,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index a429c9750add1..bfffc1fb7016d 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -983,7 +983,7 @@ qca8k_parse_port_config(struct qca8k_priv *priv)
+@@ -983,7 +983,7 @@ qca8k_parse_port_config(struct qca8k_pri
        u32 delay;
  
        /* We have 2 CPU port. Check them */
@@ -29,6 +27,3 @@ index a429c9750add1..bfffc1fb7016d 100644
                /* Skip every other port */
                if (port != 0 && port != 6)
                        continue;
--- 
-cgit 1.2.3-1.el7
-
index a37ab8b84857a960d8f0dba1f9d5c9c22830aa75..408a59df85d49c477c4b9f8388cfff71a0bcb0b9 100644 (file)
@@ -14,8 +14,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.h | 153 ++++++++++++++++++++++++++----------------------
  2 files changed, 130 insertions(+), 121 deletions(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index bfffc1fb7016d..0eceb9cba2dc8 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
 @@ -9,6 +9,7 @@
@@ -26,7 +24,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
  #include <net/dsa.h>
  #include <linux/of_net.h>
  #include <linux/of_mdio.h>
-@@ -319,18 +320,18 @@ qca8k_fdb_read(struct qca8k_priv *priv, struct qca8k_fdb *fdb)
+@@ -319,18 +320,18 @@ qca8k_fdb_read(struct qca8k_priv *priv,
        }
  
        /* vid - 83:72 */
@@ -54,7 +52,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
  
        return 0;
  }
-@@ -343,18 +344,18 @@ qca8k_fdb_write(struct qca8k_priv *priv, u16 vid, u8 port_mask, const u8 *mac,
+@@ -343,18 +344,18 @@ qca8k_fdb_write(struct qca8k_priv *priv,
        int i;
  
        /* vid - 83:72 */
@@ -82,7 +80,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
  
        /* load the array into the ARL table */
        for (i = 0; i < 3; i++)
-@@ -372,7 +373,7 @@ qca8k_fdb_access(struct qca8k_priv *priv, enum qca8k_fdb_cmd cmd, int port)
+@@ -372,7 +373,7 @@ qca8k_fdb_access(struct qca8k_priv *priv
        reg |= cmd;
        if (port >= 0) {
                reg |= QCA8K_ATU_FUNC_PORT_EN;
@@ -91,7 +89,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
        }
  
        /* Write the function register triggering the table access */
-@@ -454,7 +455,7 @@ qca8k_vlan_access(struct qca8k_priv *priv, enum qca8k_vlan_cmd cmd, u16 vid)
+@@ -454,7 +455,7 @@ qca8k_vlan_access(struct qca8k_priv *pri
        /* Set the command and VLAN index */
        reg = QCA8K_VTU_FUNC1_BUSY;
        reg |= cmd;
@@ -100,7 +98,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
  
        /* Write the function register triggering the table access */
        ret = qca8k_write(priv, QCA8K_REG_VTU_FUNC1, reg);
-@@ -500,13 +501,11 @@ qca8k_vlan_add(struct qca8k_priv *priv, u8 port, u16 vid, bool untagged)
+@@ -500,13 +501,11 @@ qca8k_vlan_add(struct qca8k_priv *priv,
        if (ret < 0)
                goto out;
        reg |= QCA8K_VTU_FUNC0_VALID | QCA8K_VTU_FUNC0_IVL_EN;
@@ -117,7 +115,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
  
        ret = qca8k_write(priv, QCA8K_REG_VTU_FUNC0, reg);
        if (ret)
-@@ -534,15 +533,13 @@ qca8k_vlan_del(struct qca8k_priv *priv, u8 port, u16 vid)
+@@ -534,15 +533,13 @@ qca8k_vlan_del(struct qca8k_priv *priv,
        ret = qca8k_read(priv, QCA8K_REG_VTU_FUNC0, &reg);
        if (ret < 0)
                goto out;
@@ -136,7 +134,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
  
                if ((reg & mask) != mask) {
                        del = false;
-@@ -1014,7 +1011,7 @@ qca8k_parse_port_config(struct qca8k_priv *priv)
+@@ -1014,7 +1011,7 @@ qca8k_parse_port_config(struct qca8k_pri
                                 mode == PHY_INTERFACE_MODE_RGMII_TXID)
                                delay = 1;
  
@@ -145,7 +143,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
                                dev_err(priv->dev, "rgmii tx delay is limited to a max value of 3ns, setting to the max value");
                                delay = 3;
                        }
-@@ -1030,7 +1027,7 @@ qca8k_parse_port_config(struct qca8k_priv *priv)
+@@ -1030,7 +1027,7 @@ qca8k_parse_port_config(struct qca8k_pri
                                 mode == PHY_INTERFACE_MODE_RGMII_RXID)
                                delay = 2;
  
@@ -209,7 +207,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
                                  QCA8K_PORT_HOL_CTRL1_EG_PRI_BUF_EN |
                                  QCA8K_PORT_HOL_CTRL1_EG_PORT_BUF_EN |
                                  QCA8K_PORT_HOL_CTRL1_WRED_EN,
-@@ -1265,8 +1260,8 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -1269,8 +1264,8 @@ qca8k_setup(struct dsa_switch *ds)
                mask = QCA8K_GLOBAL_FC_GOL_XON_THRES(288) |
                       QCA8K_GLOBAL_FC_GOL_XOFF_THRES(496);
                qca8k_rmw(priv, QCA8K_REG_GLOBAL_FC_THRESH,
@@ -220,7 +218,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
                          mask);
        }
  
-@@ -1912,11 +1907,11 @@ qca8k_port_vlan_filtering(struct dsa_switch *ds, int port, bool vlan_filtering,
+@@ -1916,11 +1911,11 @@ qca8k_port_vlan_filtering(struct dsa_swi
  
        if (vlan_filtering) {
                ret = qca8k_rmw(priv, QCA8K_PORT_LOOKUP_CTRL(port),
@@ -234,7 +232,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
                                QCA8K_PORT_LOOKUP_VLAN_MODE_NONE);
        }
  
-@@ -1940,10 +1935,9 @@ qca8k_port_vlan_add(struct dsa_switch *ds, int port,
+@@ -1944,10 +1939,9 @@ qca8k_port_vlan_add(struct dsa_switch *d
        }
  
        if (pvid) {
@@ -247,7 +245,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
                if (ret)
                        return ret;
  
-@@ -2037,7 +2031,7 @@ static int qca8k_read_switch_id(struct qca8k_priv *priv)
+@@ -2041,7 +2035,7 @@ static int qca8k_read_switch_id(struct q
        if (ret < 0)
                return -ENODEV;
  
@@ -256,7 +254,7 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
        if (id != data->id) {
                dev_err(priv->dev, "Switch id detected %x but expected %x", id, data->id);
                return -ENODEV;
-@@ -2046,7 +2040,7 @@ static int qca8k_read_switch_id(struct qca8k_priv *priv)
+@@ -2050,7 +2044,7 @@ static int qca8k_read_switch_id(struct q
        priv->switch_id = id;
  
        /* Save revision to communicate to the internal PHY driver */
@@ -265,8 +263,6 @@ index bfffc1fb7016d..0eceb9cba2dc8 100644
  
        return 0;
  }
-diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
-index 128b8cf85e080..085885275398b 100644
 --- a/drivers/net/dsa/qca8k.h
 +++ b/drivers/net/dsa/qca8k.h
 @@ -30,9 +30,9 @@
@@ -509,6 +505,3 @@ index 128b8cf85e080..085885275398b 100644
  #define QCA8K_EGRESS_VLAN(x)                          (0x0c70 + (4 * (x / 2)))
  
  /* L3 registers */
--- 
-cgit 1.2.3-1.el7
-
index e5f3edfa51d6cee25e1b10a2921720f5b109364f..8c39b8ea295a43d2a1fc3966bcabff3a95a2f955 100644 (file)
@@ -12,8 +12,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.c | 2 --
  1 file changed, 2 deletions(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index 0eceb9cba2dc8..ae02043a52079 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
 @@ -1086,8 +1086,6 @@ qca8k_setup(struct dsa_switch *ds)
@@ -25,6 +23,3 @@ index 0eceb9cba2dc8..ae02043a52079 100644
        /* Start by setting up the register mapping */
        priv->regmap = devm_regmap_init(ds->dev, NULL, priv,
                                        &qca8k_regmap_config);
--- 
-cgit 1.2.3-1.el7
-
index f67abf901b5a6e45d6b277014d7ea942461c5c5b..f873b70d0f917b819d30c2a2ba519ba6d8730cbd 100644 (file)
@@ -14,8 +14,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.c | 14 ++++++++------
  1 file changed, 8 insertions(+), 6 deletions(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index ae02043a52079..f63a432916360 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
 @@ -1086,12 +1086,6 @@ qca8k_setup(struct dsa_switch *ds)
@@ -31,7 +29,7 @@ index ae02043a52079..f63a432916360 100644
        ret = qca8k_setup_mdio_bus(priv);
        if (ret)
                return ret;
-@@ -2073,6 +2067,14 @@ qca8k_sw_probe(struct mdio_device *mdiodev)
+@@ -2077,6 +2071,14 @@ qca8k_sw_probe(struct mdio_device *mdiod
                gpiod_set_value_cansleep(priv->reset_gpio, 0);
        }
  
@@ -46,6 +44,3 @@ index ae02043a52079..f63a432916360 100644
        /* Check the detected switch id */
        ret = qca8k_read_switch_id(priv);
        if (ret)
--- 
-cgit 1.2.3-1.el7
-
index e0a9c809d84813b2ef5986aca0062987d231db48..4ca9c8ba41d6846502d78ab46b2777f57c31ed37 100644 (file)
@@ -23,8 +23,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.c | 107 +++++++++++++++++++++---------------------------
  1 file changed, 47 insertions(+), 60 deletions(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index f63a432916360..d64a9af186beb 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
 @@ -10,6 +10,7 @@
@@ -35,7 +33,7 @@ index f63a432916360..d64a9af186beb 100644
  #include <net/dsa.h>
  #include <linux/of_net.h>
  #include <linux/of_mdio.h>
-@@ -152,6 +153,25 @@ qca8k_set_page(struct mii_bus *bus, u16 page)
+@@ -152,6 +153,25 @@ qca8k_set_page(struct mii_bus *bus, u16
  static int
  qca8k_read(struct qca8k_priv *priv, u32 reg, u32 *val)
  {
@@ -118,7 +116,7 @@ index f63a432916360..d64a9af186beb 100644
  static const struct regmap_range qca8k_readable_ranges[] = {
        regmap_reg_range(0x0000, 0x00e4), /* Global control */
        regmap_reg_range(0x0100, 0x0168), /* EEE control */
-@@ -282,26 +276,19 @@ static struct regmap_config qca8k_regmap_config = {
+@@ -282,26 +276,19 @@ static struct regmap_config qca8k_regmap
        .max_register = 0x16ac, /* end MIB - Port6 range */
        .reg_read = qca8k_regmap_read,
        .reg_write = qca8k_regmap_write,
@@ -168,7 +166,7 @@ index f63a432916360..d64a9af186beb 100644
        if (ret)
                goto exit;
  
-@@ -597,9 +584,9 @@ qca8k_port_set_status(struct qca8k_priv *priv, int port, int enable)
+@@ -597,9 +584,9 @@ qca8k_port_set_status(struct qca8k_priv
                mask |= QCA8K_PORT_STATUS_LINK_AUTO;
  
        if (enable)
@@ -180,7 +178,7 @@ index f63a432916360..d64a9af186beb 100644
  }
  
  static u32
-@@ -861,8 +848,8 @@ qca8k_setup_mdio_bus(struct qca8k_priv *priv)
+@@ -861,8 +848,8 @@ qca8k_setup_mdio_bus(struct qca8k_priv *
                 * a dt-overlay and driver reload changed the configuration
                 */
  
@@ -223,7 +221,7 @@ index f63a432916360..d64a9af186beb 100644
                        if (ret)
                                return ret;
  
-@@ -1741,9 +1728,9 @@ qca8k_port_bridge_join(struct dsa_switch *ds, int port, struct net_device *br)
+@@ -1745,9 +1732,9 @@ qca8k_port_bridge_join(struct dsa_switch
                /* Add this port to the portvlan mask of the other ports
                 * in the bridge
                 */
@@ -236,7 +234,7 @@ index f63a432916360..d64a9af186beb 100644
                if (ret)
                        return ret;
                if (i != port)
-@@ -1773,9 +1760,9 @@ qca8k_port_bridge_leave(struct dsa_switch *ds, int port, struct net_device *br)
+@@ -1777,9 +1764,9 @@ qca8k_port_bridge_leave(struct dsa_switc
                /* Remove this port to the portvlan mask of the other ports
                 * in the bridge
                 */
@@ -249,6 +247,3 @@ index f63a432916360..d64a9af186beb 100644
        }
  
        /* Set the cpu port to be the only one in the portvlan mask of
--- 
-cgit 1.2.3-1.el7
-
index e889a7f5b28e3042fa5e8cdff2509d7fa3b9cb65..1465d1f35d7dc348a1feb812a0abb983bd837584 100644 (file)
@@ -17,11 +17,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.h |  4 ++++
  2 files changed, 24 insertions(+), 3 deletions(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index d64a9af186beb..bedaaa6b9a1df 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -70,6 +70,8 @@ static const struct qca8k_mib_desc ar8327_mib[] = {
+@@ -70,6 +70,8 @@ static const struct qca8k_mib_desc ar832
        MIB_DESC(1, 0x9c, "TxExcDefer"),
        MIB_DESC(1, 0xa0, "TxDefer"),
        MIB_DESC(1, 0xa4, "TxLateCol"),
@@ -30,7 +28,7 @@ index d64a9af186beb..bedaaa6b9a1df 100644
  };
  
  /* The 32bit switch registers are accessed indirectly. To achieve this we need
-@@ -1601,12 +1603,16 @@ qca8k_phylink_mac_link_up(struct dsa_switch *ds, int port, unsigned int mode,
+@@ -1605,12 +1607,16 @@ qca8k_phylink_mac_link_up(struct dsa_swi
  static void
  qca8k_get_strings(struct dsa_switch *ds, int port, u32 stringset, uint8_t *data)
  {
@@ -48,7 +46,7 @@ index d64a9af186beb..bedaaa6b9a1df 100644
                strncpy(data + i * ETH_GSTRING_LEN, ar8327_mib[i].name,
                        ETH_GSTRING_LEN);
  }
-@@ -1616,12 +1622,15 @@ qca8k_get_ethtool_stats(struct dsa_switch *ds, int port,
+@@ -1620,12 +1626,15 @@ qca8k_get_ethtool_stats(struct dsa_switc
                        uint64_t *data)
  {
        struct qca8k_priv *priv = (struct qca8k_priv *)ds->priv;
@@ -65,7 +63,7 @@ index d64a9af186beb..bedaaa6b9a1df 100644
                mib = &ar8327_mib[i];
                reg = QCA8K_PORT_MIB_COUNTER(port) + mib->offset;
  
-@@ -1644,10 +1653,15 @@ qca8k_get_ethtool_stats(struct dsa_switch *ds, int port,
+@@ -1648,10 +1657,15 @@ qca8k_get_ethtool_stats(struct dsa_switc
  static int
  qca8k_get_sset_count(struct dsa_switch *ds, int port, int sset)
  {
@@ -82,7 +80,7 @@ index d64a9af186beb..bedaaa6b9a1df 100644
  }
  
  static int
-@@ -2150,14 +2164,17 @@ static SIMPLE_DEV_PM_OPS(qca8k_pm_ops,
+@@ -2154,14 +2168,17 @@ static SIMPLE_DEV_PM_OPS(qca8k_pm_ops,
  static const struct qca8k_match_data qca8327 = {
        .id = QCA8K_ID_QCA8327,
        .reduced_package = true,
@@ -100,8 +98,6 @@ index d64a9af186beb..bedaaa6b9a1df 100644
  };
  
  static const struct of_device_id qca8k_of_match[] = {
-diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
-index 085885275398b..91c94dfc9789d 100644
 --- a/drivers/net/dsa/qca8k.h
 +++ b/drivers/net/dsa/qca8k.h
 @@ -21,6 +21,9 @@
@@ -122,6 +118,3 @@ index 085885275398b..91c94dfc9789d 100644
  };
  
  enum {
--- 
-cgit 1.2.3-1.el7
-
index 877223b5d21feb98d490683d9ab20597697a1a1a..973446ec57694fae997ae4d2fd9fee103eeec719 100644 (file)
@@ -14,11 +14,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.h |  1 +
  2 files changed, 12 insertions(+)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index bedaaa6b9a1df..d988df913ae02 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -1786,6 +1786,16 @@ qca8k_port_bridge_leave(struct dsa_switch *ds, int port, struct net_device *br)
+@@ -1790,6 +1790,16 @@ qca8k_port_bridge_leave(struct dsa_switc
                  QCA8K_PORT_LOOKUP_MEMBER, BIT(cpu_port));
  }
  
@@ -35,7 +33,7 @@ index bedaaa6b9a1df..d988df913ae02 100644
  static int
  qca8k_port_enable(struct dsa_switch *ds, int port,
                  struct phy_device *phy)
-@@ -1994,6 +2004,7 @@ static const struct dsa_switch_ops qca8k_switch_ops = {
+@@ -1998,6 +2008,7 @@ static const struct dsa_switch_ops qca8k
        .port_stp_state_set     = qca8k_port_stp_state_set,
        .port_bridge_join       = qca8k_port_bridge_join,
        .port_bridge_leave      = qca8k_port_bridge_leave,
@@ -43,8 +41,6 @@ index bedaaa6b9a1df..d988df913ae02 100644
        .port_fdb_add           = qca8k_port_fdb_add,
        .port_fdb_del           = qca8k_port_fdb_del,
        .port_fdb_dump          = qca8k_port_fdb_dump,
-diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
-index 91c94dfc9789d..a533b8cf143be 100644
 --- a/drivers/net/dsa/qca8k.h
 +++ b/drivers/net/dsa/qca8k.h
 @@ -262,6 +262,7 @@ enum qca8k_fdb_cmd {
@@ -55,6 +51,3 @@ index 91c94dfc9789d..a533b8cf143be 100644
        QCA8K_FDB_NEXT = 6,
        QCA8K_FDB_SEARCH = 7,
  };
--- 
-cgit 1.2.3-1.el7
-
index b851c9598bace36f92ae81ed9eeb3d9550bd1e82..29530065a1c878cc6ee59a9b5f9461519fd34b73 100644 (file)
@@ -16,11 +16,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.h |  3 +++
  2 files changed, 28 insertions(+)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index d988df913ae02..45e769b9166b8 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -1257,6 +1257,10 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -1261,6 +1261,10 @@ qca8k_setup(struct dsa_switch *ds)
        /* We don't have interrupts for link changes, so we need to poll */
        ds->pcs_poll = true;
  
@@ -31,11 +29,10 @@ index d988df913ae02..45e769b9166b8 100644
        return 0;
  }
  
-@@ -1796,6 +1800,26 @@ qca8k_port_fast_age(struct dsa_switch *ds, int port)
-       mutex_unlock(&priv->reg_mutex);
+@@ -1801,6 +1805,26 @@ qca8k_port_fast_age(struct dsa_switch *d
  }
  
-+static int
+ static int
 +qca8k_set_ageing_time(struct dsa_switch *ds, unsigned int msecs)
 +{
 +      struct qca8k_priv *priv = ds->priv;
@@ -55,10 +52,11 @@ index d988df913ae02..45e769b9166b8 100644
 +                                QCA8K_ATU_AGE_TIME(val));
 +}
 +
- static int
++static int
  qca8k_port_enable(struct dsa_switch *ds, int port,
                  struct phy_device *phy)
-@@ -1995,6 +2019,7 @@ static const struct dsa_switch_ops qca8k_switch_ops = {
+ {
+@@ -1999,6 +2023,7 @@ static const struct dsa_switch_ops qca8k
        .get_strings            = qca8k_get_strings,
        .get_ethtool_stats      = qca8k_get_ethtool_stats,
        .get_sset_count         = qca8k_get_sset_count,
@@ -66,8 +64,6 @@ index d988df913ae02..45e769b9166b8 100644
        .get_mac_eee            = qca8k_get_mac_eee,
        .set_mac_eee            = qca8k_set_mac_eee,
        .port_enable            = qca8k_port_enable,
-diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
-index a533b8cf143be..40ec8012622f7 100644
 --- a/drivers/net/dsa/qca8k.h
 +++ b/drivers/net/dsa/qca8k.h
 @@ -175,6 +175,9 @@
@@ -80,6 +76,3 @@ index a533b8cf143be..40ec8012622f7 100644
  #define QCA8K_REG_GLOBAL_FW_CTRL0                     0x620
  #define   QCA8K_GLOBAL_FW_CTRL0_CPU_PORT_EN           BIT(10)
  #define QCA8K_REG_GLOBAL_FW_CTRL1                     0x624
--- 
-cgit 1.2.3-1.el7
-
index a71d7480da2a358738359030042772ba8d29008e..fa022d7ae6a5d4c7eb973449561bbf7e916447a7 100644 (file)
@@ -18,15 +18,12 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.c | 99 +++++++++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 99 insertions(+)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index 45e769b9166b8..67742fbd80409 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -435,6 +435,81 @@ qca8k_fdb_flush(struct qca8k_priv *priv)
-       mutex_unlock(&priv->reg_mutex);
+@@ -436,6 +436,81 @@ qca8k_fdb_flush(struct qca8k_priv *priv)
  }
  
-+static int
+ static int
 +qca8k_fdb_search_and_insert(struct qca8k_priv *priv, u8 port_mask,
 +                          const u8 *mac, u16 vid)
 +{
@@ -101,14 +98,14 @@ index 45e769b9166b8..67742fbd80409 100644
 +      return ret;
 +}
 +
- static int
++static int
  qca8k_vlan_access(struct qca8k_priv *priv, enum qca8k_vlan_cmd cmd, u16 vid)
  {
-@@ -1925,6 +2000,28 @@ qca8k_port_fdb_dump(struct dsa_switch *ds, int port,
-       return 0;
+       u32 reg;
+@@ -1930,6 +2005,28 @@ qca8k_port_fdb_dump(struct dsa_switch *d
  }
  
-+static int
+ static int
 +qca8k_port_mdb_add(struct dsa_switch *ds, int port,
 +                 const struct switchdev_obj_port_mdb *mdb)
 +{
@@ -130,10 +127,11 @@ index 45e769b9166b8..67742fbd80409 100644
 +      return qca8k_fdb_search_and_del(priv, BIT(port), addr, vid);
 +}
 +
- static int
++static int
  qca8k_port_vlan_filtering(struct dsa_switch *ds, int port, bool vlan_filtering,
                          struct netlink_ext_ack *extack)
-@@ -2033,6 +2130,8 @@ static const struct dsa_switch_ops qca8k_switch_ops = {
+ {
+@@ -2037,6 +2134,8 @@ static const struct dsa_switch_ops qca8k
        .port_fdb_add           = qca8k_port_fdb_add,
        .port_fdb_del           = qca8k_port_fdb_del,
        .port_fdb_dump          = qca8k_port_fdb_dump,
@@ -142,6 +140,3 @@ index 45e769b9166b8..67742fbd80409 100644
        .port_vlan_filtering    = qca8k_port_vlan_filtering,
        .port_vlan_add          = qca8k_port_vlan_add,
        .port_vlan_del          = qca8k_port_vlan_del,
--- 
-cgit 1.2.3-1.el7
-
index 4ebdfda6513e61c07691d710bbcfc04582d7e4a9..69e9b381c263837d08d9c541a397e5b89b67b48f 100644 (file)
@@ -15,15 +15,12 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.h |  4 +++
  2 files changed, 99 insertions(+)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index 67742fbd80409..bd9d756f40011 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -2022,6 +2022,99 @@ qca8k_port_mdb_del(struct dsa_switch *ds, int port,
-       return qca8k_fdb_search_and_del(priv, BIT(port), addr, vid);
+@@ -2027,6 +2027,99 @@ qca8k_port_mdb_del(struct dsa_switch *ds
  }
  
-+static int
+ static int
 +qca8k_port_mirror_add(struct dsa_switch *ds, int port,
 +                    struct dsa_mall_mirror_tc_entry *mirror,
 +                    bool ingress)
@@ -116,10 +113,11 @@ index 67742fbd80409..bd9d756f40011 100644
 +      dev_err(priv->dev, "Failed to del mirror port from %d", port);
 +}
 +
- static int
++static int
  qca8k_port_vlan_filtering(struct dsa_switch *ds, int port, bool vlan_filtering,
                          struct netlink_ext_ack *extack)
-@@ -2132,6 +2225,8 @@ static const struct dsa_switch_ops qca8k_switch_ops = {
+ {
+@@ -2136,6 +2229,8 @@ static const struct dsa_switch_ops qca8k
        .port_fdb_dump          = qca8k_port_fdb_dump,
        .port_mdb_add           = qca8k_port_mdb_add,
        .port_mdb_del           = qca8k_port_mdb_del,
@@ -128,8 +126,6 @@ index 67742fbd80409..bd9d756f40011 100644
        .port_vlan_filtering    = qca8k_port_vlan_filtering,
        .port_vlan_add          = qca8k_port_vlan_add,
        .port_vlan_del          = qca8k_port_vlan_del,
-diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
-index 40ec8012622f7..7c87a968c0104 100644
 --- a/drivers/net/dsa/qca8k.h
 +++ b/drivers/net/dsa/qca8k.h
 @@ -180,6 +180,7 @@
@@ -157,6 +153,3 @@ index 40ec8012622f7..7c87a968c0104 100644
        bool legacy_phy_port_mapping;
        struct qca8k_ports_config ports_config;
        struct regmap *regmap;
--- 
-cgit 1.2.3-1.el7
-
index 9967211828883d941c27449d7d269d6eb222d235..bfc77db18478c85000d2baac49c6ca0e4098bfde 100644 (file)
@@ -23,11 +23,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.h |  33 +++++++++
  2 files changed, 210 insertions(+)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index bd9d756f40011..6516df08a5d5f 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -1336,6 +1336,9 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -1340,6 +1340,9 @@ qca8k_setup(struct dsa_switch *ds)
        ds->ageing_time_min = 7000;
        ds->ageing_time_max = 458745000;
  
@@ -37,7 +35,7 @@ index bd9d756f40011..6516df08a5d5f 100644
        return 0;
  }
  
-@@ -2203,6 +2206,178 @@ qca8k_get_tag_protocol(struct dsa_switch *ds, int port,
+@@ -2207,6 +2210,178 @@ qca8k_get_tag_protocol(struct dsa_switch
        return DSA_TAG_PROTO_QCA;
  }
  
@@ -216,7 +214,7 @@ index bd9d756f40011..6516df08a5d5f 100644
  static const struct dsa_switch_ops qca8k_switch_ops = {
        .get_tag_protocol       = qca8k_get_tag_protocol,
        .setup                  = qca8k_setup,
-@@ -2236,6 +2411,8 @@ static const struct dsa_switch_ops qca8k_switch_ops = {
+@@ -2240,6 +2415,8 @@ static const struct dsa_switch_ops qca8k
        .phylink_mac_link_down  = qca8k_phylink_mac_link_down,
        .phylink_mac_link_up    = qca8k_phylink_mac_link_up,
        .get_phy_flags          = qca8k_get_phy_flags,
@@ -225,8 +223,6 @@ index bd9d756f40011..6516df08a5d5f 100644
  };
  
  static int qca8k_read_switch_id(struct qca8k_priv *priv)
-diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
-index 7c87a968c0104..ab4a417b25a9c 100644
 --- a/drivers/net/dsa/qca8k.h
 +++ b/drivers/net/dsa/qca8k.h
 @@ -15,6 +15,8 @@
@@ -290,6 +286,3 @@ index 7c87a968c0104..ab4a417b25a9c 100644
        bool legacy_phy_port_mapping;
        struct qca8k_ports_config ports_config;
        struct regmap *regmap;
--- 
-cgit 1.2.3-1.el7
-
index 2bde4400930982b5f9c1e0c4b2efe2763f67b0eb..8c0a990b0dab3441273aa60d528883c29771f40c 100644 (file)
@@ -17,11 +17,9 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  drivers/net/dsa/qca8k.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index 6516df08a5d5f..d04b25eca2503 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -2228,7 +2228,7 @@ qca8k_lag_can_offload(struct dsa_switch *ds,
+@@ -2232,7 +2232,7 @@ qca8k_lag_can_offload(struct dsa_switch
        if (info->tx_type != NETDEV_LAG_TX_TYPE_HASH)
                return false;
  
@@ -30,7 +28,7 @@ index 6516df08a5d5f..d04b25eca2503 100644
            info->hash_type != NETDEV_LAG_HASH_L23)
                return false;
  
-@@ -2242,8 +2242,8 @@ qca8k_lag_setup_hash(struct dsa_switch *ds,
+@@ -2246,8 +2246,8 @@ qca8k_lag_setup_hash(struct dsa_switch *
  {
        struct qca8k_priv *priv = ds->priv;
        bool unique_lag = true;
@@ -40,6 +38,3 @@ index 6516df08a5d5f..d04b25eca2503 100644
  
        id = dsa_lag_id(ds->dst, lag);
  
--- 
-cgit 1.2.3-1.el7
-
index 25c6ac2e8f692b1f86bc46f6346e766fc6926b6a..1786bf03452e56580435a5a15de5c82bac578800 100644 (file)
@@ -20,11 +20,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/slave.c | 14 +++++++-------
  1 file changed, 7 insertions(+), 7 deletions(-)
 
-diff --git a/net/dsa/slave.c b/net/dsa/slave.c
-index 88f7b8686dac..88bcdba92fa7 100644
 --- a/net/dsa/slave.c
 +++ b/net/dsa/slave.c
-@@ -2011,13 +2011,6 @@ int dsa_slave_create(struct dsa_port *port)
+@@ -1986,13 +1986,6 @@ int dsa_slave_create(struct dsa_port *po
        port->slave = slave_dev;
        dsa_slave_setup_tagger(slave_dev);
  
@@ -38,20 +36,17 @@ index 88f7b8686dac..88bcdba92fa7 100644
        netif_carrier_off(slave_dev);
  
        ret = dsa_slave_phy_setup(slave_dev);
-@@ -2028,6 +2021,13 @@ int dsa_slave_create(struct dsa_port *port)
-               goto out_gcells;
+@@ -2004,6 +1997,13 @@ int dsa_slave_create(struct dsa_port *po
        }
  
-+      rtnl_lock();
+       rtnl_lock();
 +      ret = dsa_slave_change_mtu(slave_dev, ETH_DATA_LEN);
 +      rtnl_unlock();
 +      if (ret && ret != -EOPNOTSUPP)
 +              dev_warn(ds->dev, "nonfatal error %d setting MTU to %d on port %d\n",
 +                       ret, ETH_DATA_LEN, port->index);
 +
-       rtnl_lock();
++      rtnl_lock();
  
        ret = register_netdevice(slave_dev);
--- 
-2.34.1
-
+       if (ret) {
index c383bd93fbcb0ebc23c64f6a60408ca3c9993277..c2493a08fd91d1ef9497af45c0cb4465edea4d13 100644 (file)
@@ -14,11 +14,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/slave.c | 4 +---
  1 file changed, 1 insertion(+), 3 deletions(-)
 
-diff --git a/net/dsa/slave.c b/net/dsa/slave.c
-index 88bcdba92fa7..22241afcac81 100644
 --- a/net/dsa/slave.c
 +++ b/net/dsa/slave.c
-@@ -2022,14 +2022,12 @@ int dsa_slave_create(struct dsa_port *port)
+@@ -1997,14 +1997,12 @@ int dsa_slave_create(struct dsa_port *po
        }
  
        rtnl_lock();
@@ -34,6 +32,3 @@ index 88bcdba92fa7..22241afcac81 100644
        ret = register_netdevice(slave_dev);
        if (ret) {
                netdev_err(master, "error %d registering interface %s\n",
--- 
-2.34.1
-
index c81bedaaf88d80e749d06a00e3e12ce6e5b67225..d1126de5dd077086c7a84f9aa2e869994e5e3be7 100644 (file)
@@ -35,11 +35,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/master.c | 25 +------------------------
  1 file changed, 1 insertion(+), 24 deletions(-)
 
-diff --git a/net/dsa/master.c b/net/dsa/master.c
-index e8e19857621b..f4efb244f91d 100644
 --- a/net/dsa/master.c
 +++ b/net/dsa/master.c
-@@ -330,28 +330,13 @@ static const struct attribute_group dsa_group = {
+@@ -330,28 +330,13 @@ static const struct attribute_group dsa_
        .attrs  = dsa_slave_attrs,
  };
  
@@ -69,7 +67,7 @@ index e8e19857621b..f4efb244f91d 100644
  
        /* The DSA master must use SET_NETDEV_DEV for this to work. */
        consumer_link = device_link_add(ds->dev, dev->dev.parent,
-@@ -361,13 +346,6 @@ int dsa_master_setup(struct net_device *dev, struct dsa_port *cpu_dp)
+@@ -361,13 +346,6 @@ int dsa_master_setup(struct net_device *
                           "Failed to create a device link to DSA switch %s\n",
                           dev_name(ds->dev));
  
@@ -83,7 +81,7 @@ index e8e19857621b..f4efb244f91d 100644
        /* If we use a tagging format that doesn't have an ethertype
         * field, make sure that all packets from this point on get
         * sent to the tag format's receive function.
-@@ -405,7 +383,6 @@ void dsa_master_teardown(struct net_device *dev)
+@@ -405,7 +383,6 @@ void dsa_master_teardown(struct net_devi
        sysfs_remove_group(&dev->dev.kobj, &dsa_group);
        dsa_netdev_ops_set(dev, NULL);
        dsa_master_ethtool_teardown(dev);
@@ -91,6 +89,3 @@ index e8e19857621b..f4efb244f91d 100644
        dsa_master_set_promiscuity(dev, -1);
  
        dev->dsa_ptr = NULL;
--- 
-2.34.1
-
index cbbe52b0cc97b2ebb84bb419919d407b58c54861..67d434006b77210b6ef2371bbb772b64cb78ff6a 100644 (file)
@@ -28,11 +28,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/master.c | 4 ++--
  2 files changed, 10 insertions(+), 2 deletions(-)
 
-diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
-index a0d84f9f864f..52fb1958b535 100644
 --- a/net/dsa/dsa2.c
 +++ b/net/dsa/dsa2.c
-@@ -1038,6 +1038,8 @@ static int dsa_tree_setup_master(struct dsa_switch_tree *dst)
+@@ -1034,6 +1034,8 @@ static int dsa_tree_setup_master(struct
        struct dsa_port *dp;
        int err;
  
@@ -41,7 +39,7 @@ index a0d84f9f864f..52fb1958b535 100644
        list_for_each_entry(dp, &dst->ports, list) {
                if (dsa_port_is_cpu(dp)) {
                        err = dsa_master_setup(dp->master, dp);
-@@ -1046,6 +1048,8 @@ static int dsa_tree_setup_master(struct dsa_switch_tree *dst)
+@@ -1042,6 +1044,8 @@ static int dsa_tree_setup_master(struct
                }
        }
  
@@ -50,7 +48,7 @@ index a0d84f9f864f..52fb1958b535 100644
        return 0;
  }
  
-@@ -1053,9 +1057,13 @@ static void dsa_tree_teardown_master(struct dsa_switch_tree *dst)
+@@ -1049,9 +1053,13 @@ static void dsa_tree_teardown_master(str
  {
        struct dsa_port *dp;
  
@@ -64,11 +62,9 @@ index a0d84f9f864f..52fb1958b535 100644
  }
  
  static int dsa_tree_setup_lags(struct dsa_switch_tree *dst)
-diff --git a/net/dsa/master.c b/net/dsa/master.c
-index f4efb244f91d..2199104ca7df 100644
 --- a/net/dsa/master.c
 +++ b/net/dsa/master.c
-@@ -267,9 +267,9 @@ static void dsa_master_set_promiscuity(struct net_device *dev, int inc)
+@@ -267,9 +267,9 @@ static void dsa_master_set_promiscuity(s
        if (!ops->promisc_on_master)
                return;
  
@@ -80,6 +76,3 @@ index f4efb244f91d..2199104ca7df 100644
  }
  
  static ssize_t tagging_show(struct device *d, struct device_attribute *attr,
--- 
-2.34.1
-
index fbd63a574300a5375440f1335ea4362ed3a2e784..e6472c61da67b951fe6861a7fadcc5bff97d630a 100644 (file)
@@ -25,11 +25,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/dsa2.c | 50 +++++++++++++++++++++++++++++++++++++-------------
  1 file changed, 37 insertions(+), 13 deletions(-)
 
-diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
-index 52fb1958b535..ea0f02a24b8b 100644
 --- a/net/dsa/dsa2.c
 +++ b/net/dsa/dsa2.c
-@@ -1003,23 +1003,28 @@ static void dsa_tree_teardown_switches(struct dsa_switch_tree *dst)
+@@ -999,23 +999,28 @@ static void dsa_tree_teardown_switches(s
                dsa_switch_teardown(dp->ds);
  }
  
@@ -68,7 +66,7 @@ index 52fb1958b535..ea0f02a24b8b 100644
                }
        }
  
-@@ -1028,7 +1033,21 @@ static int dsa_tree_setup_switches(struct dsa_switch_tree *dst)
+@@ -1024,7 +1029,21 @@ static int dsa_tree_setup_switches(struc
  teardown:
        dsa_tree_teardown_ports(dst);
  
@@ -91,7 +89,7 @@ index 52fb1958b535..ea0f02a24b8b 100644
  
        return err;
  }
-@@ -1115,10 +1134,14 @@ static int dsa_tree_setup(struct dsa_switch_tree *dst)
+@@ -1111,10 +1130,14 @@ static int dsa_tree_setup(struct dsa_swi
        if (err)
                goto teardown_cpu_ports;
  
@@ -107,7 +105,7 @@ index 52fb1958b535..ea0f02a24b8b 100644
        err = dsa_tree_setup_lags(dst);
        if (err)
                goto teardown_master;
-@@ -1131,8 +1154,9 @@ static int dsa_tree_setup(struct dsa_switch_tree *dst)
+@@ -1127,8 +1150,9 @@ static int dsa_tree_setup(struct dsa_swi
  
  teardown_master:
        dsa_tree_teardown_master(dst);
@@ -118,6 +116,3 @@ index 52fb1958b535..ea0f02a24b8b 100644
        dsa_tree_teardown_switches(dst);
  teardown_cpu_ports:
        dsa_tree_teardown_cpu_ports(dst);
--- 
-2.34.1
-
index 3f5b71945b69fe7ffafe1328edde8d0c88976dea..93cad0c98aa080fc893e50f0479f7a2a67a8b015 100644 (file)
@@ -41,11 +41,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/dsa2.c | 23 +++++++++++++----------
  1 file changed, 13 insertions(+), 10 deletions(-)
 
-diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
-index ea0f02a24b8b..3d21521453fe 100644
 --- a/net/dsa/dsa2.c
 +++ b/net/dsa/dsa2.c
-@@ -561,6 +561,7 @@ static void dsa_port_teardown(struct dsa_port *dp)
+@@ -545,6 +545,7 @@ static void dsa_port_teardown(struct dsa
        struct devlink_port *dlp = &dp->devlink_port;
        struct dsa_switch *ds = dp->ds;
        struct dsa_mac_addr *a, *tmp;
@@ -53,7 +51,7 @@ index ea0f02a24b8b..3d21521453fe 100644
  
        if (!dp->setup)
                return;
-@@ -582,9 +583,11 @@ static void dsa_port_teardown(struct dsa_port *dp)
+@@ -566,9 +567,11 @@ static void dsa_port_teardown(struct dsa
                dsa_port_link_unregister_of(dp);
                break;
        case DSA_PORT_TYPE_USER:
@@ -67,7 +65,7 @@ index ea0f02a24b8b..3d21521453fe 100644
                }
                break;
        }
-@@ -1134,17 +1137,17 @@ static int dsa_tree_setup(struct dsa_switch_tree *dst)
+@@ -1130,17 +1133,17 @@ static int dsa_tree_setup(struct dsa_swi
        if (err)
                goto teardown_cpu_ports;
  
@@ -89,7 +87,7 @@ index ea0f02a24b8b..3d21521453fe 100644
  
        dst->setup = true;
  
-@@ -1152,10 +1155,10 @@ static int dsa_tree_setup(struct dsa_switch_tree *dst)
+@@ -1148,10 +1151,10 @@ static int dsa_tree_setup(struct dsa_swi
  
        return 0;
  
@@ -102,7 +100,7 @@ index ea0f02a24b8b..3d21521453fe 100644
  teardown_switches:
        dsa_tree_teardown_switches(dst);
  teardown_cpu_ports:
-@@ -1173,10 +1176,10 @@ static void dsa_tree_teardown(struct dsa_switch_tree *dst)
+@@ -1169,10 +1172,10 @@ static void dsa_tree_teardown(struct dsa
  
        dsa_tree_teardown_lags(dst);
  
@@ -115,6 +113,3 @@ index ea0f02a24b8b..3d21521453fe 100644
        dsa_tree_teardown_switches(dst);
  
        dsa_tree_teardown_cpu_ports(dst);
--- 
-2.34.1
-
index 2cfb488aee02b20860ca77cf7c5969a840ad7238..d73b7455866cbbe8507fff1ae7453512c961b3d1 100644 (file)
@@ -42,11 +42,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/switch.c   | 15 +++++++++++++++
  5 files changed, 123 insertions(+)
 
-diff --git a/include/net/dsa.h b/include/net/dsa.h
-index 57b3e4e7413b..43c4153ef53a 100644
 --- a/include/net/dsa.h
 +++ b/include/net/dsa.h
-@@ -278,6 +278,10 @@ struct dsa_port {
+@@ -291,6 +291,10 @@ struct dsa_port {
        struct list_head        mdbs;
  
        bool setup;
@@ -57,7 +55,7 @@ index 57b3e4e7413b..43c4153ef53a 100644
  };
  
  /* TODO: ideally DSA ports would have a single dp->link_dp member,
-@@ -478,6 +482,12 @@ static inline bool dsa_port_is_unused(struct dsa_port *dp)
+@@ -456,6 +460,12 @@ static inline bool dsa_port_is_unused(st
        return dp->type == DSA_PORT_TYPE_UNUSED;
  }
  
@@ -70,7 +68,7 @@ index 57b3e4e7413b..43c4153ef53a 100644
  static inline bool dsa_is_unused_port(struct dsa_switch *ds, int p)
  {
        return dsa_to_port(ds, p)->type == DSA_PORT_TYPE_UNUSED;
-@@ -1036,6 +1046,13 @@ struct dsa_switch_ops {
+@@ -916,6 +926,13 @@ struct dsa_switch_ops {
        int     (*tag_8021q_vlan_add)(struct dsa_switch *ds, int port, u16 vid,
                                      u16 flags);
        int     (*tag_8021q_vlan_del)(struct dsa_switch *ds, int port, u16 vid);
@@ -84,11 +82,9 @@ index 57b3e4e7413b..43c4153ef53a 100644
  };
  
  #define DSA_DEVLINK_PARAM_DRIVER(_id, _name, _type, _cmodes)          \
-diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
-index 3d21521453fe..ff998c0ede02 100644
 --- a/net/dsa/dsa2.c
 +++ b/net/dsa/dsa2.c
-@@ -1279,6 +1279,52 @@ int dsa_tree_change_tag_proto(struct dsa_switch_tree *dst,
+@@ -1275,6 +1275,52 @@ out_unlock:
        return err;
  }
  
@@ -141,19 +137,17 @@ index 3d21521453fe..ff998c0ede02 100644
  static struct dsa_port *dsa_port_touch(struct dsa_switch *ds, int index)
  {
        struct dsa_switch_tree *dst = ds->dst;
-diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h
-index 760306f0012f..2bbfa9efe9f8 100644
 --- a/net/dsa/dsa_priv.h
 +++ b/net/dsa/dsa_priv.h
-@@ -40,6 +40,7 @@ enum {
-       DSA_NOTIFIER_TAG_PROTO_DISCONNECT,
+@@ -45,6 +45,7 @@ enum {
+       DSA_NOTIFIER_MRP_DEL_RING_ROLE,
        DSA_NOTIFIER_TAG_8021Q_VLAN_ADD,
        DSA_NOTIFIER_TAG_8021Q_VLAN_DEL,
 +      DSA_NOTIFIER_MASTER_STATE_CHANGE,
  };
  
  /* DSA_NOTIFIER_AGEING_TIME */
-@@ -109,6 +110,12 @@ struct dsa_notifier_tag_8021q_vlan_info {
+@@ -127,6 +128,12 @@ struct dsa_notifier_tag_8021q_vlan_info
        u16 vid;
  };
  
@@ -166,7 +160,7 @@ index 760306f0012f..2bbfa9efe9f8 100644
  struct dsa_switchdev_event_work {
        struct dsa_switch *ds;
        int port;
-@@ -482,6 +489,12 @@ int dsa_tree_change_tag_proto(struct dsa_switch_tree *dst,
+@@ -548,6 +555,12 @@ int dsa_tree_change_tag_proto(struct dsa
                              struct net_device *master,
                              const struct dsa_device_ops *tag_ops,
                              const struct dsa_device_ops *old_tag_ops);
@@ -179,11 +173,9 @@ index 760306f0012f..2bbfa9efe9f8 100644
  int dsa_bridge_num_get(const struct net_device *bridge_dev, int max);
  void dsa_bridge_num_put(const struct net_device *bridge_dev, int bridge_num);
  
-diff --git a/net/dsa/slave.c b/net/dsa/slave.c
-index 22241afcac81..2b5b0f294233 100644
 --- a/net/dsa/slave.c
 +++ b/net/dsa/slave.c
-@@ -2346,6 +2346,36 @@ static int dsa_slave_netdevice_event(struct notifier_block *nb,
+@@ -2320,6 +2320,36 @@ static int dsa_slave_netdevice_event(str
                err = dsa_port_lag_change(dp, info->lower_state_info);
                return notifier_from_errno(err);
        }
@@ -220,20 +212,18 @@ index 22241afcac81..2b5b0f294233 100644
        case NETDEV_GOING_DOWN: {
                struct dsa_port *dp, *cpu_dp;
                struct dsa_switch_tree *dst;
-@@ -2357,6 +2387,8 @@ static int dsa_slave_netdevice_event(struct notifier_block *nb,
+@@ -2331,6 +2361,8 @@ static int dsa_slave_netdevice_event(str
                cpu_dp = dev->dsa_ptr;
                dst = cpu_dp->ds->dst;
  
 +              dsa_tree_master_admin_state_change(dst, dev, false);
 +
                list_for_each_entry(dp, &dst->ports, list) {
-                       if (!dsa_port_is_user(dp))
+                       if (!dsa_is_user_port(dp->ds, dp->index))
                                continue;
-diff --git a/net/dsa/switch.c b/net/dsa/switch.c
-index 517cc83d13cc..4866b58649e4 100644
 --- a/net/dsa/switch.c
 +++ b/net/dsa/switch.c
-@@ -697,6 +697,18 @@ dsa_switch_disconnect_tag_proto(struct dsa_switch *ds,
+@@ -722,6 +722,18 @@ dsa_switch_mrp_del_ring_role(struct dsa_
        return 0;
  }
  
@@ -252,7 +242,7 @@ index 517cc83d13cc..4866b58649e4 100644
  static int dsa_switch_event(struct notifier_block *nb,
                            unsigned long event, void *info)
  {
-@@ -770,6 +782,9 @@ static int dsa_switch_event(struct notifier_block *nb,
+@@ -813,6 +825,9 @@ static int dsa_switch_event(struct notif
        case DSA_NOTIFIER_TAG_8021Q_VLAN_DEL:
                err = dsa_switch_tag_8021q_vlan_del(ds, info);
                break;
@@ -262,6 +252,3 @@ index 517cc83d13cc..4866b58649e4 100644
        default:
                err = -EOPNOTSUPP;
                break;
--- 
-2.34.1
-
index d9356c3b7d6e6fa27b6a634e4df63882b8927c9e..6478d580c01701053fef96788e658d4ee726cba8 100644 (file)
@@ -34,8 +34,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/dsa2.c | 28 ++++++++++++++++++++++++----
  1 file changed, 24 insertions(+), 4 deletions(-)
 
-diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
-index ff998c0ede02..909b045c9b11 100644
 --- a/net/dsa/dsa2.c
 +++ b/net/dsa/dsa2.c
 @@ -15,6 +15,7 @@
@@ -46,7 +44,7 @@ index ff998c0ede02..909b045c9b11 100644
  
  #include "dsa_priv.h"
  
-@@ -1064,9 +1065,18 @@ static int dsa_tree_setup_master(struct dsa_switch_tree *dst)
+@@ -1060,9 +1061,18 @@ static int dsa_tree_setup_master(struct
  
        list_for_each_entry(dp, &dst->ports, list) {
                if (dsa_port_is_cpu(dp)) {
@@ -66,7 +64,7 @@ index ff998c0ede02..909b045c9b11 100644
                }
        }
  
-@@ -1081,9 +1091,19 @@ static void dsa_tree_teardown_master(struct dsa_switch_tree *dst)
+@@ -1077,9 +1087,19 @@ static void dsa_tree_teardown_master(str
  
        rtnl_lock();
  
@@ -89,6 +87,3 @@ index ff998c0ede02..909b045c9b11 100644
  
        rtnl_unlock();
  }
--- 
-2.34.1
-
index 84fd918cb300669e2fe59000e658726afb68565c..82c94b385b5f53e79e16a800ec1215f358890d74 100644 (file)
@@ -13,8 +13,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/tag_qca.c | 34 +++++++++++++++-------------------
  1 file changed, 15 insertions(+), 19 deletions(-)
 
-diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c
-index 1ea9401b8ace..55fa6b96b4eb 100644
 --- a/net/dsa/tag_qca.c
 +++ b/net/dsa/tag_qca.c
 @@ -4,29 +4,24 @@
@@ -39,15 +37,14 @@ index 1ea9401b8ace..55fa6b96b4eb 100644
 +#define QCA_HDR_RECV_TYPE             GENMASK(10, 6)
  #define QCA_HDR_RECV_FRAME_IS_TAGGED  BIT(3)
 -#define QCA_HDR_RECV_SOURCE_PORT_MASK GENMASK(2, 0)
--
++#define QCA_HDR_RECV_SOURCE_PORT      GENMASK(2, 0)
 -#define QCA_HDR_XMIT_VERSION_MASK     GENMASK(15, 14)
 -#define QCA_HDR_XMIT_VERSION_S                14
 -#define QCA_HDR_XMIT_PRIORITY_MASK    GENMASK(13, 11)
 -#define QCA_HDR_XMIT_PRIORITY_S               11
 -#define QCA_HDR_XMIT_CONTROL_MASK     GENMASK(10, 8)
 -#define QCA_HDR_XMIT_CONTROL_S                8
-+#define QCA_HDR_RECV_SOURCE_PORT      GENMASK(2, 0)
-+
 +#define QCA_HDR_XMIT_VERSION          GENMASK(15, 14)
 +#define QCA_HDR_XMIT_PRIORITY         GENMASK(13, 11)
 +#define QCA_HDR_XMIT_CONTROL          GENMASK(10, 8)
@@ -57,7 +54,7 @@ index 1ea9401b8ace..55fa6b96b4eb 100644
  
  static struct sk_buff *qca_tag_xmit(struct sk_buff *skb, struct net_device *dev)
  {
-@@ -40,8 +35,9 @@ static struct sk_buff *qca_tag_xmit(struct sk_buff *skb, struct net_device *dev)
+@@ -40,8 +35,9 @@ static struct sk_buff *qca_tag_xmit(stru
        phdr = dsa_etype_header_pos_tx(skb);
  
        /* Set the version field, and set destination port information */
@@ -69,7 +66,7 @@ index 1ea9401b8ace..55fa6b96b4eb 100644
  
        *phdr = htons(hdr);
  
-@@ -62,7 +58,7 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev)
+@@ -62,7 +58,7 @@ static struct sk_buff *qca_tag_rcv(struc
        hdr = ntohs(*phdr);
  
        /* Make sure the version is correct */
@@ -78,7 +75,7 @@ index 1ea9401b8ace..55fa6b96b4eb 100644
        if (unlikely(ver != QCA_HDR_VERSION))
                return NULL;
  
-@@ -71,7 +67,7 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev)
+@@ -71,7 +67,7 @@ static struct sk_buff *qca_tag_rcv(struc
        dsa_strip_etype_header(skb, QCA_HDR_LEN);
  
        /* Get source port information */
@@ -87,6 +84,3 @@ index 1ea9401b8ace..55fa6b96b4eb 100644
  
        skb->dev = dsa_master_find_slave(dev, 0, port);
        if (!skb->dev)
--- 
-2.34.1
-
index 21221dbbef4a29d911ecf6fa5d83217f9b368f0c..c1e74ceeeb5bf9f5fe1ef6447ff74a9edd02bca8 100644 (file)
@@ -17,9 +17,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  2 files changed, 22 insertions(+), 15 deletions(-)
  create mode 100644 include/linux/dsa/tag_qca.h
 
-diff --git a/include/linux/dsa/tag_qca.h b/include/linux/dsa/tag_qca.h
-new file mode 100644
-index 000000000000..c02d2d39ff4a
 --- /dev/null
 +++ b/include/linux/dsa/tag_qca.h
 @@ -0,0 +1,21 @@
@@ -44,8 +41,6 @@ index 000000000000..c02d2d39ff4a
 +#define QCA_HDR_XMIT_DP_BIT           GENMASK(6, 0)
 +
 +#endif /* __TAG_QCA_H */
-diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c
-index 55fa6b96b4eb..34e565e00ece 100644
 --- a/net/dsa/tag_qca.c
 +++ b/net/dsa/tag_qca.c
 @@ -5,24 +5,10 @@
@@ -74,6 +69,3 @@ index 55fa6b96b4eb..34e565e00ece 100644
  static struct sk_buff *qca_tag_xmit(struct sk_buff *skb, struct net_device *dev)
  {
        struct dsa_port *dp = dsa_slave_to_port(dev);
--- 
-2.34.1
-
index d0dd4513f3fb5bda0d4d2a03bce5853fc5a28d3c..9394a0dabbe6a9082a48a314993733d4a745709c 100644 (file)
@@ -15,11 +15,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/tag_qca.c | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c
-index 34e565e00ece..f8df49d5956f 100644
 --- a/net/dsa/tag_qca.c
 +++ b/net/dsa/tag_qca.c
-@@ -68,6 +68,7 @@ static const struct dsa_device_ops qca_netdev_ops = {
+@@ -68,6 +68,7 @@ static const struct dsa_device_ops qca_n
        .xmit   = qca_tag_xmit,
        .rcv    = qca_tag_rcv,
        .needed_headroom = QCA_HDR_LEN,
@@ -27,6 +25,3 @@ index 34e565e00ece..f8df49d5956f 100644
  };
  
  MODULE_LICENSE("GPL");
--- 
-2.34.1
-
index 6981e7b187fa08adb218b3794669803fee6925ce..459454e03ba50a7554d2b2361a0a4d86e8bf47bd 100644 (file)
@@ -19,8 +19,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/tag_qca.c           | 15 ++++++++++---
  2 files changed, 56 insertions(+), 3 deletions(-)
 
-diff --git a/include/linux/dsa/tag_qca.h b/include/linux/dsa/tag_qca.h
-index c02d2d39ff4a..f366422ab7a0 100644
 --- a/include/linux/dsa/tag_qca.h
 +++ b/include/linux/dsa/tag_qca.h
 @@ -12,10 +12,54 @@
@@ -78,11 +76,9 @@ index c02d2d39ff4a..f366422ab7a0 100644
 +} __packed;
 +
  #endif /* __TAG_QCA_H */
-diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c
-index f8df49d5956f..f17ed5be20c2 100644
 --- a/net/dsa/tag_qca.c
 +++ b/net/dsa/tag_qca.c
-@@ -32,10 +32,12 @@ static struct sk_buff *qca_tag_xmit(struct sk_buff *skb, struct net_device *dev)
+@@ -32,10 +32,12 @@ static struct sk_buff *qca_tag_xmit(stru
  
  static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev)
  {
@@ -98,7 +94,7 @@ index f8df49d5956f..f17ed5be20c2 100644
  
        if (unlikely(!pskb_may_pull(skb, QCA_HDR_LEN)))
                return NULL;
-@@ -48,6 +50,13 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev)
+@@ -48,6 +50,13 @@ static struct sk_buff *qca_tag_rcv(struc
        if (unlikely(ver != QCA_HDR_VERSION))
                return NULL;
  
@@ -112,6 +108,3 @@ index f8df49d5956f..f17ed5be20c2 100644
        /* Remove QCA tag and recalculate checksum */
        skb_pull_rcsum(skb, QCA_HDR_LEN);
        dsa_strip_etype_header(skb, QCA_HDR_LEN);
--- 
-2.34.1
-
index 497518097e27354e41e2329b1d2d81fccf4fb6bd..7e5dc6573068360aa7922725a86f2f4b644a5183 100644 (file)
@@ -13,8 +13,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/tag_qca.c           |  4 ++++
  2 files changed, 14 insertions(+)
 
-diff --git a/include/linux/dsa/tag_qca.h b/include/linux/dsa/tag_qca.h
-index f366422ab7a0..1fff57f2937b 100644
 --- a/include/linux/dsa/tag_qca.h
 +++ b/include/linux/dsa/tag_qca.h
 @@ -62,4 +62,14 @@ struct qca_mgmt_ethhdr {
@@ -32,11 +30,9 @@ index f366422ab7a0..1fff57f2937b 100644
 +} __packed;
 +
  #endif /* __TAG_QCA_H */
-diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c
-index f17ed5be20c2..be792cf687d9 100644
 --- a/net/dsa/tag_qca.c
 +++ b/net/dsa/tag_qca.c
-@@ -57,6 +57,10 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev)
+@@ -57,6 +57,10 @@ static struct sk_buff *qca_tag_rcv(struc
        if (pk_type == QCA_HDR_RECV_TYPE_RW_REG_ACK)
                return NULL;
  
@@ -47,6 +43,3 @@ index f17ed5be20c2..be792cf687d9 100644
        /* Remove QCA tag and recalculate checksum */
        skb_pull_rcsum(skb, QCA_HDR_LEN);
        dsa_strip_etype_header(skb, QCA_HDR_LEN);
--- 
-2.34.1
-
index 4375cd08b8a1dcf6d56be8d4117b334c7b5bdcb8..ad25da30e6d88452072b5ffa0e29da68e1847247 100644 (file)
@@ -17,8 +17,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/tag_qca.c           | 39 ++++++++++++++++++++++++++++++++++---
  2 files changed, 43 insertions(+), 3 deletions(-)
 
-diff --git a/include/linux/dsa/tag_qca.h b/include/linux/dsa/tag_qca.h
-index 1fff57f2937b..4359fb0221cf 100644
 --- a/include/linux/dsa/tag_qca.h
 +++ b/include/linux/dsa/tag_qca.h
 @@ -72,4 +72,11 @@ struct mib_ethhdr {
@@ -33,8 +31,6 @@ index 1fff57f2937b..4359fb0221cf 100644
 +};
 +
  #endif /* __TAG_QCA_H */
-diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c
-index be792cf687d9..57d2e00f1e5d 100644
 --- a/net/dsa/tag_qca.c
 +++ b/net/dsa/tag_qca.c
 @@ -5,6 +5,7 @@
@@ -45,7 +41,7 @@ index be792cf687d9..57d2e00f1e5d 100644
  #include <linux/dsa/tag_qca.h>
  
  #include "dsa_priv.h"
-@@ -32,6 +33,9 @@ static struct sk_buff *qca_tag_xmit(struct sk_buff *skb, struct net_device *dev)
+@@ -32,6 +33,9 @@ static struct sk_buff *qca_tag_xmit(stru
  
  static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev)
  {
@@ -55,7 +51,7 @@ index be792cf687d9..57d2e00f1e5d 100644
        u8 ver, pk_type;
        __be16 *phdr;
        int port;
-@@ -39,6 +43,8 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev)
+@@ -39,6 +43,8 @@ static struct sk_buff *qca_tag_rcv(struc
  
        BUILD_BUG_ON(sizeof(struct qca_mgmt_ethhdr) != QCA_HDR_MGMT_HEADER_LEN + QCA_HDR_LEN);
  
@@ -64,7 +60,7 @@ index be792cf687d9..57d2e00f1e5d 100644
        if (unlikely(!pskb_may_pull(skb, QCA_HDR_LEN)))
                return NULL;
  
-@@ -53,13 +59,19 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev)
+@@ -53,13 +59,19 @@ static struct sk_buff *qca_tag_rcv(struc
        /* Get pk type */
        pk_type = FIELD_GET(QCA_HDR_RECV_TYPE, hdr);
  
@@ -87,7 +83,7 @@ index be792cf687d9..57d2e00f1e5d 100644
  
        /* Remove QCA tag and recalculate checksum */
        skb_pull_rcsum(skb, QCA_HDR_LEN);
-@@ -75,9 +87,30 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev)
+@@ -75,9 +87,30 @@ static struct sk_buff *qca_tag_rcv(struc
        return skb;
  }
  
@@ -118,6 +114,3 @@ index be792cf687d9..57d2e00f1e5d 100644
        .xmit   = qca_tag_xmit,
        .rcv    = qca_tag_rcv,
        .needed_headroom = QCA_HDR_LEN,
--- 
-2.34.1
-
index d2799f9e7a84787bbf49ddef385406bd522ac468..ff8fdca5128d20d587d689eed786f27de8e21039 100644 (file)
@@ -24,11 +24,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.h |  1 +
  2 files changed, 16 insertions(+)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index 039694518788..ec062b9a918d 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -2383,6 +2383,20 @@ qca8k_port_lag_leave(struct dsa_switch *ds, int port,
+@@ -2382,6 +2382,20 @@ qca8k_port_lag_leave(struct dsa_switch *
        return qca8k_lag_refresh_portmap(ds, port, lag, true);
  }
  
@@ -49,7 +47,7 @@ index 039694518788..ec062b9a918d 100644
  static const struct dsa_switch_ops qca8k_switch_ops = {
        .get_tag_protocol       = qca8k_get_tag_protocol,
        .setup                  = qca8k_setup,
-@@ -2418,6 +2432,7 @@ static const struct dsa_switch_ops qca8k_switch_ops = {
+@@ -2417,6 +2431,7 @@ static const struct dsa_switch_ops qca8k
        .get_phy_flags          = qca8k_get_phy_flags,
        .port_lag_join          = qca8k_port_lag_join,
        .port_lag_leave         = qca8k_port_lag_leave,
@@ -57,8 +55,6 @@ index 039694518788..ec062b9a918d 100644
  };
  
  static int qca8k_read_switch_id(struct qca8k_priv *priv)
-diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
-index ab4a417b25a9..b81aad98a116 100644
 --- a/drivers/net/dsa/qca8k.h
 +++ b/drivers/net/dsa/qca8k.h
 @@ -353,6 +353,7 @@ struct qca8k_priv {
@@ -69,6 +65,3 @@ index ab4a417b25a9..b81aad98a116 100644
  };
  
  struct qca8k_mib_desc {
--- 
-2.34.1
-
index dedffbc0740c4ab93ba97ed99b0d37e1644161ca..43656ad79d8adc4178c8b3adbbbc5826c7566d3e 100644 (file)
@@ -41,8 +41,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.h |  13 +++
  2 files changed, 238 insertions(+)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index ec062b9a918d..e3a215f04559 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
 @@ -20,6 +20,7 @@
@@ -53,7 +51,7 @@ index ec062b9a918d..e3a215f04559 100644
  
  #include "qca8k.h"
  
-@@ -170,6 +171,194 @@ qca8k_rmw(struct qca8k_priv *priv, u32 reg, u32 mask, u32 write_val)
+@@ -170,6 +171,194 @@ qca8k_rmw(struct qca8k_priv *priv, u32 r
        return regmap_update_bits(priv->regmap, reg, mask, write_val);
  }
  
@@ -248,7 +246,7 @@ index ec062b9a918d..e3a215f04559 100644
  static int
  qca8k_regmap_read(void *ctx, uint32_t reg, uint32_t *val)
  {
-@@ -178,6 +367,9 @@ qca8k_regmap_read(void *ctx, uint32_t reg, uint32_t *val)
+@@ -178,6 +367,9 @@ qca8k_regmap_read(void *ctx, uint32_t re
        u16 r1, r2, page;
        int ret;
  
@@ -258,7 +256,7 @@ index ec062b9a918d..e3a215f04559 100644
        qca8k_split_addr(reg, &r1, &r2, &page);
  
        mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
-@@ -201,6 +393,9 @@ qca8k_regmap_write(void *ctx, uint32_t reg, uint32_t val)
+@@ -201,6 +393,9 @@ qca8k_regmap_write(void *ctx, uint32_t r
        u16 r1, r2, page;
        int ret;
  
@@ -268,7 +266,7 @@ index ec062b9a918d..e3a215f04559 100644
        qca8k_split_addr(reg, &r1, &r2, &page);
  
        mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
-@@ -225,6 +420,9 @@ qca8k_regmap_update_bits(void *ctx, uint32_t reg, uint32_t mask, uint32_t write_
+@@ -225,6 +420,9 @@ qca8k_regmap_update_bits(void *ctx, uint
        u32 val;
        int ret;
  
@@ -278,7 +276,7 @@ index ec062b9a918d..e3a215f04559 100644
        qca8k_split_addr(reg, &r1, &r2, &page);
  
        mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
-@@ -2394,7 +2592,30 @@ qca8k_master_change(struct dsa_switch *ds, const struct net_device *master,
+@@ -2393,7 +2591,30 @@ qca8k_master_change(struct dsa_switch *d
        if (dp->index != 0)
                return;
  
@@ -309,7 +307,7 @@ index ec062b9a918d..e3a215f04559 100644
  }
  
  static const struct dsa_switch_ops qca8k_switch_ops = {
-@@ -2433,6 +2654,7 @@ static const struct dsa_switch_ops qca8k_switch_ops = {
+@@ -2432,6 +2653,7 @@ static const struct dsa_switch_ops qca8k
        .port_lag_join          = qca8k_port_lag_join,
        .port_lag_leave         = qca8k_port_lag_leave,
        .master_state_change    = qca8k_master_change,
@@ -317,7 +315,7 @@ index ec062b9a918d..e3a215f04559 100644
  };
  
  static int qca8k_read_switch_id(struct qca8k_priv *priv)
-@@ -2512,6 +2734,9 @@ qca8k_sw_probe(struct mdio_device *mdiodev)
+@@ -2511,6 +2733,9 @@ qca8k_sw_probe(struct mdio_device *mdiod
        if (!priv->ds)
                return -ENOMEM;
  
@@ -327,8 +325,6 @@ index ec062b9a918d..e3a215f04559 100644
        priv->ds->dev = &mdiodev->dev;
        priv->ds->num_ports = QCA8K_NUM_PORTS;
        priv->ds->priv = priv;
-diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
-index b81aad98a116..75c28689a652 100644
 --- a/drivers/net/dsa/qca8k.h
 +++ b/drivers/net/dsa/qca8k.h
 @@ -11,6 +11,10 @@
@@ -365,6 +361,3 @@ index b81aad98a116..75c28689a652 100644
  };
  
  struct qca8k_mib_desc {
--- 
-2.34.1
-
index 69882e9c2122d793e8b005e21c35d13457180668..c4bc2b3646d5edf0daecb92e6500b19be5035273 100644 (file)
@@ -24,8 +24,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.h |  17 ++++++-
  2 files changed, 121 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index e3a215f04559..199cf4f761c0 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
 @@ -830,7 +830,10 @@ qca8k_mib_init(struct qca8k_priv *priv)
@@ -40,7 +38,7 @@ index e3a215f04559..199cf4f761c0 100644
        if (ret)
                goto exit;
  
-@@ -1901,6 +1904,97 @@ qca8k_get_strings(struct dsa_switch *ds, int port, u32 stringset, uint8_t *data)
+@@ -1901,6 +1904,97 @@ qca8k_get_strings(struct dsa_switch *ds,
                        ETH_GSTRING_LEN);
  }
  
@@ -138,7 +136,7 @@ index e3a215f04559..199cf4f761c0 100644
  static void
  qca8k_get_ethtool_stats(struct dsa_switch *ds, int port,
                        uint64_t *data)
-@@ -1912,6 +2006,10 @@ qca8k_get_ethtool_stats(struct dsa_switch *ds, int port,
+@@ -1912,6 +2006,10 @@ qca8k_get_ethtool_stats(struct dsa_switc
        u32 hi = 0;
        int ret;
  
@@ -149,7 +147,7 @@ index e3a215f04559..199cf4f761c0 100644
        match_data = of_device_get_match_data(priv->dev);
  
        for (i = 0; i < match_data->mib_count; i++) {
-@@ -2593,9 +2691,11 @@ qca8k_master_change(struct dsa_switch *ds, const struct net_device *master,
+@@ -2592,9 +2690,11 @@ qca8k_master_change(struct dsa_switch *d
                return;
  
        mutex_lock(&priv->mgmt_eth_data.mutex);
@@ -161,7 +159,7 @@ index e3a215f04559..199cf4f761c0 100644
        mutex_unlock(&priv->mgmt_eth_data.mutex);
  }
  
-@@ -2609,6 +2709,7 @@ static int qca8k_connect_tag_protocol(struct dsa_switch *ds,
+@@ -2608,6 +2708,7 @@ static int qca8k_connect_tag_protocol(st
                tagger_data = ds->tagger_data;
  
                tagger_data->rw_reg_ack_handler = qca8k_rw_reg_ack_handler;
@@ -169,7 +167,7 @@ index e3a215f04559..199cf4f761c0 100644
  
                break;
        default:
-@@ -2737,6 +2838,9 @@ qca8k_sw_probe(struct mdio_device *mdiodev)
+@@ -2736,6 +2837,9 @@ qca8k_sw_probe(struct mdio_device *mdiod
        mutex_init(&priv->mgmt_eth_data.mutex);
        init_completion(&priv->mgmt_eth_data.rw_done);
  
@@ -179,8 +177,6 @@ index e3a215f04559..199cf4f761c0 100644
        priv->ds->dev = &mdiodev->dev;
        priv->ds->num_ports = QCA8K_NUM_PORTS;
        priv->ds->priv = priv;
-diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
-index 75c28689a652..2d7d084db089 100644
 --- a/drivers/net/dsa/qca8k.h
 +++ b/drivers/net/dsa/qca8k.h
 @@ -67,7 +67,7 @@
@@ -228,6 +224,3 @@ index 75c28689a652..2d7d084db089 100644
  };
  
  struct qca8k_mib_desc {
--- 
-2.34.1
-
index 5c65626e540579ed99e5751791b69e85eec0ffc4..f5899eb5901a194c046accca0a0b045da81d413a 100644 (file)
@@ -15,11 +15,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.h |   1 +
  2 files changed, 217 insertions(+)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index 199cf4f761c0..0ce5b7ca0b7f 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -867,6 +867,199 @@ qca8k_port_set_status(struct qca8k_priv *priv, int port, int enable)
+@@ -867,6 +867,199 @@ qca8k_port_set_status(struct qca8k_priv
                regmap_clear_bits(priv->regmap, QCA8K_REG_PORT_STATUS(port), mask);
  }
  
@@ -219,7 +217,7 @@ index 199cf4f761c0..0ce5b7ca0b7f 100644
  static u32
  qca8k_port_to_phy(int port)
  {
-@@ -989,6 +1182,12 @@ qca8k_internal_mdio_write(struct mii_bus *slave_bus, int phy, int regnum, u16 da
+@@ -989,6 +1182,12 @@ qca8k_internal_mdio_write(struct mii_bus
  {
        struct qca8k_priv *priv = slave_bus->priv;
        struct mii_bus *bus = priv->bus;
@@ -232,7 +230,7 @@ index 199cf4f761c0..0ce5b7ca0b7f 100644
  
        return qca8k_mdio_write(bus, phy, regnum, data);
  }
-@@ -998,6 +1197,12 @@ qca8k_internal_mdio_read(struct mii_bus *slave_bus, int phy, int regnum)
+@@ -998,6 +1197,12 @@ qca8k_internal_mdio_read(struct mii_bus
  {
        struct qca8k_priv *priv = slave_bus->priv;
        struct mii_bus *bus = priv->bus;
@@ -253,7 +251,7 @@ index 199cf4f761c0..0ce5b7ca0b7f 100644
  
        /* Check if the legacy mapping should be used and the
         * port is not correctly mapped to the right PHY in the
-@@ -1014,6 +1220,11 @@ qca8k_phy_write(struct dsa_switch *ds, int port, int regnum, u16 data)
+@@ -1014,6 +1220,11 @@ qca8k_phy_write(struct dsa_switch *ds, i
        if (priv->legacy_phy_port_mapping)
                port = qca8k_port_to_phy(port) % PHY_MAX_ADDR;
  
@@ -265,7 +263,7 @@ index 199cf4f761c0..0ce5b7ca0b7f 100644
        return qca8k_mdio_write(priv->bus, port, regnum, data);
  }
  
-@@ -1030,6 +1241,11 @@ qca8k_phy_read(struct dsa_switch *ds, int port, int regnum)
+@@ -1030,6 +1241,11 @@ qca8k_phy_read(struct dsa_switch *ds, in
        if (priv->legacy_phy_port_mapping)
                port = qca8k_port_to_phy(port) % PHY_MAX_ADDR;
  
@@ -277,8 +275,6 @@ index 199cf4f761c0..0ce5b7ca0b7f 100644
        ret = qca8k_mdio_read(priv->bus, port, regnum);
  
        if (ret < 0)
-diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
-index 2d7d084db089..c6f6abd2108e 100644
 --- a/drivers/net/dsa/qca8k.h
 +++ b/drivers/net/dsa/qca8k.h
 @@ -14,6 +14,7 @@
@@ -289,6 +285,3 @@ index 2d7d084db089..c6f6abd2108e 100644
  #define QCA8K_ETHERNET_TIMEOUT                                100
  
  #define QCA8K_NUM_PORTS                                       7
--- 
-2.34.1
-
index d69b959e567ecfd3be1d79a1958242d8bca5ec8b..dc8160966ca86c11b9b9869c3600476fe9c6dea2 100644 (file)
@@ -14,11 +14,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.h |  9 +++++++++
  2 files changed, 29 insertions(+), 22 deletions(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index 0ce5b7ca0b7f..86d3742b1038 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -75,12 +75,6 @@ static const struct qca8k_mib_desc ar8327_mib[] = {
+@@ -75,12 +75,6 @@ static const struct qca8k_mib_desc ar832
        MIB_DESC(1, 0xac, "TXUnicast"),
  };
  
@@ -31,7 +29,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
  static void
  qca8k_split_addr(u32 regaddr, u16 *r1, u16 *r2, u16 *page)
  {
-@@ -134,11 +128,13 @@ qca8k_mii_write32(struct mii_bus *bus, int phy_id, u32 regnum, u32 val)
+@@ -134,11 +128,13 @@ qca8k_mii_write32(struct mii_bus *bus, i
  }
  
  static int
@@ -47,7 +45,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
                return 0;
  
        ret = bus->write(bus, 0x18, 0, page);
-@@ -148,7 +144,7 @@ qca8k_set_page(struct mii_bus *bus, u16 page)
+@@ -148,7 +144,7 @@ qca8k_set_page(struct mii_bus *bus, u16
                return ret;
        }
  
@@ -56,7 +54,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
        usleep_range(1000, 2000);
        return 0;
  }
-@@ -374,7 +370,7 @@ qca8k_regmap_read(void *ctx, uint32_t reg, uint32_t *val)
+@@ -374,7 +370,7 @@ qca8k_regmap_read(void *ctx, uint32_t re
  
        mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
  
@@ -65,7 +63,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
        if (ret < 0)
                goto exit;
  
-@@ -400,7 +396,7 @@ qca8k_regmap_write(void *ctx, uint32_t reg, uint32_t val)
+@@ -400,7 +396,7 @@ qca8k_regmap_write(void *ctx, uint32_t r
  
        mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
  
@@ -74,7 +72,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
        if (ret < 0)
                goto exit;
  
-@@ -427,7 +423,7 @@ qca8k_regmap_update_bits(void *ctx, uint32_t reg, uint32_t mask, uint32_t write_
+@@ -427,7 +423,7 @@ qca8k_regmap_update_bits(void *ctx, uint
  
        mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
  
@@ -83,7 +81,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
        if (ret < 0)
                goto exit;
  
-@@ -1098,8 +1094,9 @@ qca8k_mdio_busy_wait(struct mii_bus *bus, u32 reg, u32 mask)
+@@ -1098,8 +1094,9 @@ qca8k_mdio_busy_wait(struct mii_bus *bus
  }
  
  static int
@@ -94,7 +92,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
        u16 r1, r2, page;
        u32 val;
        int ret;
-@@ -1116,7 +1113,7 @@ qca8k_mdio_write(struct mii_bus *bus, int phy, int regnum, u16 data)
+@@ -1116,7 +1113,7 @@ qca8k_mdio_write(struct mii_bus *bus, in
  
        mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
  
@@ -103,7 +101,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
        if (ret)
                goto exit;
  
-@@ -1135,8 +1132,9 @@ qca8k_mdio_write(struct mii_bus *bus, int phy, int regnum, u16 data)
+@@ -1135,8 +1132,9 @@ exit:
  }
  
  static int
@@ -114,7 +112,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
        u16 r1, r2, page;
        u32 val;
        int ret;
-@@ -1152,7 +1150,7 @@ qca8k_mdio_read(struct mii_bus *bus, int phy, int regnum)
+@@ -1152,7 +1150,7 @@ qca8k_mdio_read(struct mii_bus *bus, int
  
        mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
  
@@ -131,7 +129,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
        int ret;
  
        /* Use mdio Ethernet when available, fallback to legacy one on error */
-@@ -1189,14 +1186,13 @@ qca8k_internal_mdio_write(struct mii_bus *slave_bus, int phy, int regnum, u16 da
+@@ -1189,14 +1186,13 @@ qca8k_internal_mdio_write(struct mii_bus
        if (!ret)
                return 0;
  
@@ -147,7 +145,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
        int ret;
  
        /* Use mdio Ethernet when available, fallback to legacy one on error */
-@@ -1204,7 +1200,7 @@ qca8k_internal_mdio_read(struct mii_bus *slave_bus, int phy, int regnum)
+@@ -1204,7 +1200,7 @@ qca8k_internal_mdio_read(struct mii_bus
        if (ret >= 0)
                return ret;
  
@@ -156,7 +154,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
  }
  
  static int
-@@ -1225,7 +1221,7 @@ qca8k_phy_write(struct dsa_switch *ds, int port, int regnum, u16 data)
+@@ -1225,7 +1221,7 @@ qca8k_phy_write(struct dsa_switch *ds, i
        if (!ret)
                return ret;
  
@@ -165,7 +163,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
  }
  
  static int
-@@ -1246,7 +1242,7 @@ qca8k_phy_read(struct dsa_switch *ds, int port, int regnum)
+@@ -1246,7 +1242,7 @@ qca8k_phy_read(struct dsa_switch *ds, in
        if (ret >= 0)
                return ret;
  
@@ -174,7 +172,7 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
  
        if (ret < 0)
                return 0xffff;
-@@ -3042,6 +3038,8 @@ qca8k_sw_probe(struct mdio_device *mdiodev)
+@@ -3041,6 +3037,8 @@ qca8k_sw_probe(struct mdio_device *mdiod
                return PTR_ERR(priv->regmap);
        }
  
@@ -183,8 +181,6 @@ index 0ce5b7ca0b7f..86d3742b1038 100644
        /* Check the detected switch id */
        ret = qca8k_read_switch_id(priv);
        if (ret)
-diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
-index c6f6abd2108e..57368acae41b 100644
 --- a/drivers/net/dsa/qca8k.h
 +++ b/drivers/net/dsa/qca8k.h
 @@ -363,6 +363,14 @@ struct qca8k_ports_config {
@@ -210,6 +206,3 @@ index c6f6abd2108e..57368acae41b 100644
  };
  
  struct qca8k_mib_desc {
--- 
-2.34.1
-
index 72de25c9d8ef1bea7a057e7d13586128df601606..2d483730c9a010ded079d85461ab5c3ccb670939 100644 (file)
@@ -15,15 +15,12 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.h |  5 ++++
  2 files changed, 54 insertions(+), 12 deletions(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index 86d3742b1038..0cce3a6030af 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -88,6 +88,44 @@ qca8k_split_addr(u32 regaddr, u16 *r1, u16 *r2, u16 *page)
-       *page = regaddr & 0x3ff;
+@@ -89,6 +89,44 @@ qca8k_split_addr(u32 regaddr, u16 *r1, u
  }
  
-+static int
+ static int
 +qca8k_set_lo(struct qca8k_priv *priv, int phy_id, u32 regnum, u16 lo)
 +{
 +      u16 *cached_lo = &priv->mdio_cache.lo;
@@ -61,10 +58,11 @@ index 86d3742b1038..0cce3a6030af 100644
 +      return 0;
 +}
 +
- static int
++static int
  qca8k_mii_read32(struct mii_bus *bus, int phy_id, u32 regnum, u32 *val)
  {
-@@ -111,7 +149,7 @@ qca8k_mii_read32(struct mii_bus *bus, int phy_id, u32 regnum, u32 *val)
+       int ret;
+@@ -111,7 +149,7 @@ qca8k_mii_read32(struct mii_bus *bus, in
  }
  
  static void
@@ -73,7 +71,7 @@ index 86d3742b1038..0cce3a6030af 100644
  {
        u16 lo, hi;
        int ret;
-@@ -119,12 +157,9 @@ qca8k_mii_write32(struct mii_bus *bus, int phy_id, u32 regnum, u32 val)
+@@ -119,12 +157,9 @@ qca8k_mii_write32(struct mii_bus *bus, i
        lo = val & 0xffff;
        hi = (u16)(val >> 16);
  
@@ -88,7 +86,7 @@ index 86d3742b1038..0cce3a6030af 100644
  }
  
  static int
-@@ -400,7 +435,7 @@ qca8k_regmap_write(void *ctx, uint32_t reg, uint32_t val)
+@@ -400,7 +435,7 @@ qca8k_regmap_write(void *ctx, uint32_t r
        if (ret < 0)
                goto exit;
  
@@ -97,7 +95,7 @@ index 86d3742b1038..0cce3a6030af 100644
  
  exit:
        mutex_unlock(&bus->mdio_lock);
-@@ -433,7 +468,7 @@ qca8k_regmap_update_bits(void *ctx, uint32_t reg, uint32_t mask, uint32_t write_
+@@ -433,7 +468,7 @@ qca8k_regmap_update_bits(void *ctx, uint
  
        val &= ~mask;
        val |= write_val;
@@ -106,7 +104,7 @@ index 86d3742b1038..0cce3a6030af 100644
  
  exit:
        mutex_unlock(&bus->mdio_lock);
-@@ -1117,14 +1152,14 @@ qca8k_mdio_write(struct qca8k_priv *priv, int phy, int regnum, u16 data)
+@@ -1117,14 +1152,14 @@ qca8k_mdio_write(struct qca8k_priv *priv
        if (ret)
                goto exit;
  
@@ -123,7 +121,7 @@ index 86d3742b1038..0cce3a6030af 100644
  
        mutex_unlock(&bus->mdio_lock);
  
-@@ -1154,7 +1189,7 @@ qca8k_mdio_read(struct qca8k_priv *priv, int phy, int regnum)
+@@ -1154,7 +1189,7 @@ qca8k_mdio_read(struct qca8k_priv *priv,
        if (ret)
                goto exit;
  
@@ -132,7 +130,7 @@ index 86d3742b1038..0cce3a6030af 100644
  
        ret = qca8k_mdio_busy_wait(bus, QCA8K_MDIO_MASTER_CTRL,
                                   QCA8K_MDIO_MASTER_BUSY);
-@@ -1165,7 +1200,7 @@ qca8k_mdio_read(struct qca8k_priv *priv, int phy, int regnum)
+@@ -1165,7 +1200,7 @@ qca8k_mdio_read(struct qca8k_priv *priv,
  
  exit:
        /* even if the busy_wait timeouts try to clear the MASTER_EN */
@@ -141,7 +139,7 @@ index 86d3742b1038..0cce3a6030af 100644
  
        mutex_unlock(&bus->mdio_lock);
  
-@@ -3039,6 +3074,8 @@ qca8k_sw_probe(struct mdio_device *mdiodev)
+@@ -3038,6 +3073,8 @@ qca8k_sw_probe(struct mdio_device *mdiod
        }
  
        priv->mdio_cache.page = 0xffff;
@@ -150,8 +148,6 @@ index 86d3742b1038..0cce3a6030af 100644
  
        /* Check the detected switch id */
        ret = qca8k_read_switch_id(priv);
-diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
-index 57368acae41b..c3d3c2269b1d 100644
 --- a/drivers/net/dsa/qca8k.h
 +++ b/drivers/net/dsa/qca8k.h
 @@ -369,6 +369,11 @@ struct qca8k_mdio_cache {
@@ -166,6 +162,3 @@ index 57368acae41b..c3d3c2269b1d 100644
  };
  
  struct qca8k_priv {
--- 
-2.34.1
-
index 4b735224b619156c030266a42202c1651a26f9fe..5acd13dbad8e84c84b7c3ab56804ddf98b5b7240 100644 (file)
@@ -28,11 +28,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.c | 61 +++++++++++++++++++++++++++--------------
  1 file changed, 41 insertions(+), 20 deletions(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index 0cce3a6030af..a1b76dcd2eb6 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -222,7 +222,9 @@ static void qca8k_rw_reg_ack_handler(struct dsa_switch *ds, struct sk_buff *skb)
+@@ -222,7 +222,9 @@ static void qca8k_rw_reg_ack_handler(str
        if (cmd == MDIO_READ) {
                mgmt_eth_data->data[0] = mgmt_ethhdr->mdio_data;
  
@@ -43,7 +41,7 @@ index 0cce3a6030af..a1b76dcd2eb6 100644
                if (len > QCA_HDR_MGMT_DATA1_LEN)
                        memcpy(mgmt_eth_data->data + 1, skb->data,
                               QCA_HDR_MGMT_DATA2_LEN);
-@@ -232,16 +234,30 @@ static void qca8k_rw_reg_ack_handler(struct dsa_switch *ds, struct sk_buff *skb)
+@@ -232,16 +234,30 @@ static void qca8k_rw_reg_ack_handler(str
  }
  
  static struct sk_buff *qca8k_alloc_mdio_header(enum mdio_cmd cmd, u32 reg, u32 *val,
@@ -75,7 +73,7 @@ index 0cce3a6030af..a1b76dcd2eb6 100644
        skb_reset_mac_header(skb);
        skb_set_network_header(skb, skb->len);
  
-@@ -254,7 +270,7 @@ static struct sk_buff *qca8k_alloc_mdio_header(enum mdio_cmd cmd, u32 reg, u32 *
+@@ -254,7 +270,7 @@ static struct sk_buff *qca8k_alloc_mdio_
        hdr |= FIELD_PREP(QCA_HDR_XMIT_CONTROL, QCA_HDR_XMIT_TYPE_RW_REG);
  
        mgmt_ethhdr->command = FIELD_PREP(QCA_HDR_MGMT_ADDR, reg);
@@ -84,7 +82,7 @@ index 0cce3a6030af..a1b76dcd2eb6 100644
        mgmt_ethhdr->command |= FIELD_PREP(QCA_HDR_MGMT_CMD, cmd);
        mgmt_ethhdr->command |= FIELD_PREP(QCA_HDR_MGMT_CHECK_CODE,
                                           QCA_HDR_MGMT_CHECK_CODE_VAL);
-@@ -264,7 +280,9 @@ static struct sk_buff *qca8k_alloc_mdio_header(enum mdio_cmd cmd, u32 reg, u32 *
+@@ -264,7 +280,9 @@ static struct sk_buff *qca8k_alloc_mdio_
  
        mgmt_ethhdr->hdr = htons(hdr);
  
@@ -95,7 +93,7 @@ index 0cce3a6030af..a1b76dcd2eb6 100644
  
        return skb;
  }
-@@ -277,7 +295,7 @@ static void qca8k_mdio_header_fill_seq_num(struct sk_buff *skb, u32 seq_num)
+@@ -277,7 +295,7 @@ static void qca8k_mdio_header_fill_seq_n
        mgmt_ethhdr->seq = FIELD_PREP(QCA_HDR_MGMT_SEQ_NUM, seq_num);
  }
  
@@ -104,7 +102,7 @@ index 0cce3a6030af..a1b76dcd2eb6 100644
  {
        struct qca8k_mgmt_eth_data *mgmt_eth_data = &priv->mgmt_eth_data;
        struct sk_buff *skb;
-@@ -285,7 +303,7 @@ static int qca8k_read_eth(struct qca8k_priv *priv, u32 reg, u32 *val)
+@@ -285,7 +303,7 @@ static int qca8k_read_eth(struct qca8k_p
        int ret;
  
        skb = qca8k_alloc_mdio_header(MDIO_READ, reg, NULL,
@@ -113,7 +111,7 @@ index 0cce3a6030af..a1b76dcd2eb6 100644
        if (!skb)
                return -ENOMEM;
  
-@@ -313,6 +331,9 @@ static int qca8k_read_eth(struct qca8k_priv *priv, u32 reg, u32 *val)
+@@ -313,6 +331,9 @@ static int qca8k_read_eth(struct qca8k_p
                                          msecs_to_jiffies(QCA8K_ETHERNET_TIMEOUT));
  
        *val = mgmt_eth_data->data[0];
@@ -123,7 +121,7 @@ index 0cce3a6030af..a1b76dcd2eb6 100644
        ack = mgmt_eth_data->ack;
  
        mutex_unlock(&mgmt_eth_data->mutex);
-@@ -326,15 +347,15 @@ static int qca8k_read_eth(struct qca8k_priv *priv, u32 reg, u32 *val)
+@@ -326,15 +347,15 @@ static int qca8k_read_eth(struct qca8k_p
        return 0;
  }
  
@@ -142,7 +140,7 @@ index 0cce3a6030af..a1b76dcd2eb6 100644
        if (!skb)
                return -ENOMEM;
  
-@@ -380,14 +401,14 @@ qca8k_regmap_update_bits_eth(struct qca8k_priv *priv, u32 reg, u32 mask, u32 wri
+@@ -380,14 +401,14 @@ qca8k_regmap_update_bits_eth(struct qca8
        u32 val = 0;
        int ret;
  
@@ -159,7 +157,7 @@ index 0cce3a6030af..a1b76dcd2eb6 100644
  }
  
  static int
-@@ -398,7 +419,7 @@ qca8k_regmap_read(void *ctx, uint32_t reg, uint32_t *val)
+@@ -398,7 +419,7 @@ qca8k_regmap_read(void *ctx, uint32_t re
        u16 r1, r2, page;
        int ret;
  
@@ -168,7 +166,7 @@ index 0cce3a6030af..a1b76dcd2eb6 100644
                return 0;
  
        qca8k_split_addr(reg, &r1, &r2, &page);
-@@ -424,7 +445,7 @@ qca8k_regmap_write(void *ctx, uint32_t reg, uint32_t val)
+@@ -424,7 +445,7 @@ qca8k_regmap_write(void *ctx, uint32_t r
        u16 r1, r2, page;
        int ret;
  
@@ -177,7 +175,7 @@ index 0cce3a6030af..a1b76dcd2eb6 100644
                return 0;
  
        qca8k_split_addr(reg, &r1, &r2, &page);
-@@ -959,21 +980,21 @@ qca8k_phy_eth_command(struct qca8k_priv *priv, bool read, int phy,
+@@ -959,21 +980,21 @@ qca8k_phy_eth_command(struct qca8k_priv
        }
  
        /* Prealloc all the needed skb before the lock */
@@ -206,6 +204,3 @@ index 0cce3a6030af..a1b76dcd2eb6 100644
                ret = -ENOMEM;
                goto err_read_skb;
        }
--- 
-2.34.1
-
index ebd08845bcfc53accf0ae3ac22007ac0ce4ae124..f26c6b91ac599827a6a4cd9a03a775799a3da8cc 100644 (file)
@@ -15,15 +15,12 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  drivers/net/dsa/qca8k.c | 55 ++++++++++++++++++++++++++++++++---------
  1 file changed, 43 insertions(+), 12 deletions(-)
 
-diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
-index a1b76dcd2eb6..52ec2800dd89 100644
 --- a/drivers/net/dsa/qca8k.c
 +++ b/drivers/net/dsa/qca8k.c
-@@ -411,6 +411,43 @@ qca8k_regmap_update_bits_eth(struct qca8k_priv *priv, u32 reg, u32 mask, u32 wri
-       return qca8k_write_eth(priv, reg, &val, sizeof(val));
+@@ -412,6 +412,43 @@ qca8k_regmap_update_bits_eth(struct qca8
  }
  
-+static int
+ static int
 +qca8k_bulk_read(struct qca8k_priv *priv, u32 reg, u32 *val, int len)
 +{
 +      int i, count = len / sizeof(u32), ret;
@@ -60,10 +57,11 @@ index a1b76dcd2eb6..52ec2800dd89 100644
 +      return 0;
 +}
 +
- static int
++static int
  qca8k_regmap_read(void *ctx, uint32_t reg, uint32_t *val)
  {
-@@ -546,17 +583,13 @@ qca8k_busy_wait(struct qca8k_priv *priv, u32 reg, u32 mask)
+       struct qca8k_priv *priv = (struct qca8k_priv *)ctx;
+@@ -546,17 +583,13 @@ qca8k_busy_wait(struct qca8k_priv *priv,
  static int
  qca8k_fdb_read(struct qca8k_priv *priv, struct qca8k_fdb *fdb)
  {
@@ -86,7 +84,7 @@ index a1b76dcd2eb6..52ec2800dd89 100644
  
        /* vid - 83:72 */
        fdb->vid = FIELD_GET(QCA8K_ATU_VID_MASK, reg[2]);
-@@ -580,7 +613,6 @@ qca8k_fdb_write(struct qca8k_priv *priv, u16 vid, u8 port_mask, const u8 *mac,
+@@ -580,7 +613,6 @@ qca8k_fdb_write(struct qca8k_priv *priv,
                u8 aging)
  {
        u32 reg[3] = { 0 };
@@ -94,7 +92,7 @@ index a1b76dcd2eb6..52ec2800dd89 100644
  
        /* vid - 83:72 */
        reg[2] = FIELD_PREP(QCA8K_ATU_VID_MASK, vid);
-@@ -597,8 +629,7 @@ qca8k_fdb_write(struct qca8k_priv *priv, u16 vid, u8 port_mask, const u8 *mac,
+@@ -597,8 +629,7 @@ qca8k_fdb_write(struct qca8k_priv *priv,
        reg[0] |= FIELD_PREP(QCA8K_ATU_ADDR5_MASK, mac[5]);
  
        /* load the array into the ARL table */
@@ -104,6 +102,3 @@ index a1b76dcd2eb6..52ec2800dd89 100644
  }
  
  static int
--- 
-2.34.1
-
index c36b9e6a904d2a64aec8248dcf654cc143af4a9a..44093eab95b36dcaaa6ca8dde75b25cc0d48c329 100644 (file)
@@ -15,11 +15,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/switch.c | 38 +++++++++++++++++++++++++-------------
  1 file changed, 25 insertions(+), 13 deletions(-)
 
-diff --git a/net/dsa/switch.c b/net/dsa/switch.c
-index e3c7d2627a619..9f9b70d6070a3 100644
 --- a/net/dsa/switch.c
 +++ b/net/dsa/switch.c
-@@ -113,25 +113,14 @@ static int dsa_switch_bridge_join(struct dsa_switch *ds,
+@@ -113,25 +113,14 @@ static int dsa_switch_bridge_join(struct
        return dsa_tag_8021q_bridge_join(ds, info);
  }
  
@@ -47,7 +45,7 @@ index e3c7d2627a619..9f9b70d6070a3 100644
        if (ds->needs_standalone_vlan_filtering && !br_vlan_enabled(info->br)) {
                change_vlan_filtering = true;
                vlan_filtering = true;
-@@ -172,6 +161,29 @@ static int dsa_switch_bridge_leave(struct dsa_switch *ds,
+@@ -172,6 +161,29 @@ static int dsa_switch_bridge_leave(struc
                        return err;
        }
  
@@ -77,5 +75,3 @@ index e3c7d2627a619..9f9b70d6070a3 100644
        return dsa_tag_8021q_bridge_leave(ds, info);
  }
  
--- 
-cgit 
index 079ac7eb63b7b5545032fa793f2beec4cdcb7e14..cdddbcf14ee9cb4611c0d75e673837fa3c9997c8 100644 (file)
@@ -33,13 +33,11 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  net/dsa/switch.c | 8 +++++---
  1 file changed, 5 insertions(+), 3 deletions(-)
 
-diff --git a/net/dsa/switch.c b/net/dsa/switch.c
-index 9f9b70d6070a3..517cc83d13cc8 100644
 --- a/net/dsa/switch.c
 +++ b/net/dsa/switch.c
-@@ -180,9 +180,11 @@ static int dsa_switch_bridge_leave(struct dsa_switch *ds,
+@@ -180,9 +180,11 @@ static int dsa_switch_bridge_leave(struc
                                                info->sw_index, info->port,
-                                               info->bridge);
+                                               info->br);
  
 -      err = dsa_switch_sync_vlan_filtering(ds, info);
 -      if (err)
@@ -52,5 +50,3 @@ index 9f9b70d6070a3..517cc83d13cc8 100644
  
        return dsa_tag_8021q_bridge_leave(ds, info);
  }
--- 
-cgit 
index ce387190099f3dd5fa0c03dad67a9a4588aa522b..b84eb442ad11326f7e8f12952ee2fbdd0751d4d2 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -881,8 +881,13 @@ advk_pci_bridge_emul_pcie_conf_read(stru
+@@ -874,8 +874,13 @@ advk_pci_bridge_emul_pcie_conf_read(stru
  
        case PCI_EXP_DEVCAP:
        case PCI_EXP_DEVCTL:
@@ -35,7 +35,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
        default:
                return PCI_BRIDGE_EMUL_NOT_HANDLED;
        }
-@@ -896,10 +901,6 @@ advk_pci_bridge_emul_pcie_conf_write(str
+@@ -889,10 +894,6 @@ advk_pci_bridge_emul_pcie_conf_write(str
        struct advk_pcie *pcie = bridge->data;
  
        switch (reg) {
@@ -46,7 +46,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
        case PCI_EXP_LNKCTL:
                advk_writel(pcie, new, PCIE_CORE_PCIEXP_CAP + reg);
                if (new & PCI_EXP_LNKCTL_RL)
-@@ -921,6 +922,12 @@ advk_pci_bridge_emul_pcie_conf_write(str
+@@ -914,6 +915,12 @@ advk_pci_bridge_emul_pcie_conf_write(str
                advk_writel(pcie, new, PCIE_ISR0_REG);
                break;
  
index 66c7e60202a9fb7bbfc73ffa759a867ec57a60ea..a22aacf1701b7c1acb3427d2e052aabe06cc6e00 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -114,6 +114,7 @@
+@@ -115,6 +115,7 @@
  #define PCIE_MSI_ADDR_HIGH_REG                        (CONTROL_BASE_ADDR + 0x54)
  #define PCIE_MSI_STATUS_REG                   (CONTROL_BASE_ADDR + 0x58)
  #define PCIE_MSI_MASK_REG                     (CONTROL_BASE_ADDR + 0x5C)
@@ -31,7 +31,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
  #define PCIE_MSI_PAYLOAD_REG                  (CONTROL_BASE_ADDR + 0x9C)
  #define     PCIE_MSI_DATA_MASK                        GENMASK(15, 0)
  
-@@ -577,6 +578,7 @@ static void advk_pcie_setup_hw(struct ad
+@@ -570,6 +571,7 @@ static void advk_pcie_setup_hw(struct ad
        advk_writel(pcie, reg, PCIE_CORE_CTRL2_REG);
  
        /* Clear all interrupts */
@@ -39,7 +39,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
        advk_writel(pcie, PCIE_ISR0_ALL_MASK, PCIE_ISR0_REG);
        advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_REG);
        advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG);
-@@ -589,7 +591,7 @@ static void advk_pcie_setup_hw(struct ad
+@@ -582,7 +584,7 @@ static void advk_pcie_setup_hw(struct ad
        advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_MASK_REG);
  
        /* Unmask all MSIs */
@@ -48,7 +48,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
  
        /* Enable summary interrupt for GIC SPI source */
        reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK);
-@@ -1399,7 +1401,7 @@ static void advk_pcie_handle_msi(struct
+@@ -1392,7 +1394,7 @@ static void advk_pcie_handle_msi(struct
  
        msi_mask = advk_readl(pcie, PCIE_MSI_MASK_REG);
        msi_val = advk_readl(pcie, PCIE_MSI_STATUS_REG);
index 8870e47b4035f204076d3c0e7d5e34470b54c3c3..16e09bc1f95833da0e2c295927a64c809c2ff6d6 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1698,11 +1698,13 @@ static int advk_pcie_remove(struct platf
+@@ -1688,11 +1688,13 @@ static int advk_pcie_remove(struct platf
        struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
        int i;
  
index f1c3f3bb13fdeb56fb4e51bf696d9a921b4f6ddd..6c48b3bc2b6206c1a5a815141e86ca2d7a557d8f 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1696,6 +1696,7 @@ static int advk_pcie_remove(struct platf
+@@ -1686,6 +1686,7 @@ static int advk_pcie_remove(struct platf
  {
        struct advk_pcie *pcie = platform_get_drvdata(pdev);
        struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
@@ -27,7 +27,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
        int i;
  
        /* Remove PCI bus with all devices */
-@@ -1704,6 +1705,11 @@ static int advk_pcie_remove(struct platf
+@@ -1694,6 +1695,11 @@ static int advk_pcie_remove(struct platf
        pci_remove_root_bus(bridge->bus);
        pci_unlock_rescan_remove();
  
index 7add045cab5dc2fa7c3a494b260276b0e2bb3fcd..3cc5ba667ca788c11e6f48f124f576c1b3f4372e 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1710,6 +1710,27 @@ static int advk_pcie_remove(struct platf
+@@ -1700,6 +1700,27 @@ static int advk_pcie_remove(struct platf
        val &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
        advk_writel(pcie, val, PCIE_CORE_CMD_STATUS_REG);
  
index f86d2bd61f5b86027c79ca2a7b108671e16c3827..fdd049b9786e8f4733dd9b581e40cabffbd2cc54 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1735,6 +1735,9 @@ static int advk_pcie_remove(struct platf
+@@ -1725,6 +1725,9 @@ static int advk_pcie_remove(struct platf
        advk_pcie_remove_msi_irq_domain(pcie);
        advk_pcie_remove_irq_domain(pcie);
  
index 1e9e74136cb8486ae6cd89f7f2e9851df1c093f3..2e95d26ce917f4d53941cec8512bb9741d6f517b 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1738,6 +1738,10 @@ static int advk_pcie_remove(struct platf
+@@ -1728,6 +1728,10 @@ static int advk_pcie_remove(struct platf
        /* Free config space for emulated root bridge */
        pci_bridge_emul_cleanup(&pcie->bridge);
  
index 3b531deae0f5e94845430a620027923cc6dec8b8..826f10a35fef17f1b977a13abc7d0a968da78753 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1742,6 +1742,11 @@ static int advk_pcie_remove(struct platf
+@@ -1732,6 +1732,11 @@ static int advk_pcie_remove(struct platf
        if (pcie->reset_gpio)
                gpiod_set_value_cansleep(pcie->reset_gpio, 1);
  
index 6caa6eb362889d7dcbbe35064dd340158ab09d53..c01377a8878a9d910335c0442f9ee117054c5e0d 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1751,6 +1751,9 @@ static int advk_pcie_remove(struct platf
+@@ -1741,6 +1741,9 @@ static int advk_pcie_remove(struct platf
        for (i = 0; i < OB_WIN_COUNT; i++)
                advk_pcie_disable_ob_win(pcie, i);
  
index 971562a8f7cba4bd29bf63fb3a3ca547079f8661..e9d692b651a3af60fa157a82d594eb0b9789f04e 100644 (file)
@@ -39,7 +39,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  static void ath79_halt(void)
  {
        while (1)
-@@ -233,7 +224,6 @@ void __init plat_mem_setup(void)
+@@ -234,7 +225,6 @@ void __init plat_mem_setup(void)
  
        detect_memory_region(0, ATH79_MEM_SIZE_MIN, ATH79_MEM_SIZE_MAX);