lkml.org 
[lkml]   [2021]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 169/334] net: dsa: build tag_8021q.c as part of DSA core
    Date
    From: Vladimir Oltean <vladimir.oltean@nxp.com>

    [ Upstream commit 8b6e638b4be2ad77f61fb93b4e1776c6ccc2edab ]

    Upcoming patches will add tag_8021q related logic to switch.c and
    port.c, in order to allow it to make use of cross-chip notifiers.
    In addition, a struct dsa_8021q_context *ctx pointer will be added to
    struct dsa_switch.

    It seems fairly low-reward to #ifdef the *ctx from struct dsa_switch and
    to provide shim implementations of the entire tag_8021q.c calling
    surface (not even clear what to do about the tag_8021q cross-chip
    notifiers to avoid compiling them). The runtime overhead for switches
    which don't use tag_8021q is fairly small because all helpers will check
    for ds->tag_8021q_ctx being a NULL pointer and stop there.

    So let's make it part of dsa_core.o.

    Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/dsa/Kconfig | 12 ------------
    net/dsa/Makefile | 3 +--
    net/dsa/tag_8021q.c | 2 --
    3 files changed, 1 insertion(+), 16 deletions(-)

    diff --git a/net/dsa/Kconfig b/net/dsa/Kconfig
    index 00bb89b2d86f..bca1b5d66df2 100644
    --- a/net/dsa/Kconfig
    +++ b/net/dsa/Kconfig
    @@ -18,16 +18,6 @@ if NET_DSA

    # Drivers must select the appropriate tagging format(s)

    -config NET_DSA_TAG_8021Q
    - tristate
    - select VLAN_8021Q
    - help
    - Unlike the other tagging protocols, the 802.1Q config option simply
    - provides helpers for other tagging implementations that might rely on
    - VLAN in one way or another. It is not a complete solution.
    -
    - Drivers which use these helpers should select this as dependency.
    -
    config NET_DSA_TAG_AR9331
    tristate "Tag driver for Atheros AR9331 SoC with built-in switch"
    help
    @@ -126,7 +116,6 @@ config NET_DSA_TAG_OCELOT_8021Q
    tristate "Tag driver for Ocelot family of switches, using VLAN"
    depends on MSCC_OCELOT_SWITCH_LIB || \
    (MSCC_OCELOT_SWITCH_LIB=n && COMPILE_TEST)
    - select NET_DSA_TAG_8021Q
    help
    Say Y or M if you want to enable support for tagging frames with a
    custom VLAN-based header. Frames that require timestamping, such as
    @@ -149,7 +138,6 @@ config NET_DSA_TAG_LAN9303

    config NET_DSA_TAG_SJA1105
    tristate "Tag driver for NXP SJA1105 switches"
    - select NET_DSA_TAG_8021Q
    select PACKING
    help
    Say Y or M if you want to enable support for tagging frames with the
    diff --git a/net/dsa/Makefile b/net/dsa/Makefile
    index 44bc79952b8b..67ea009f242c 100644
    --- a/net/dsa/Makefile
    +++ b/net/dsa/Makefile
    @@ -1,10 +1,9 @@
    # SPDX-License-Identifier: GPL-2.0
    # the core
    obj-$(CONFIG_NET_DSA) += dsa_core.o
    -dsa_core-y += dsa.o dsa2.o master.o port.o slave.o switch.o
    +dsa_core-y += dsa.o dsa2.o master.o port.o slave.o switch.o tag_8021q.o

    # tagging formats
    -obj-$(CONFIG_NET_DSA_TAG_8021Q) += tag_8021q.o
    obj-$(CONFIG_NET_DSA_TAG_AR9331) += tag_ar9331.o
    obj-$(CONFIG_NET_DSA_TAG_BRCM_COMMON) += tag_brcm.o
    obj-$(CONFIG_NET_DSA_TAG_DSA_COMMON) += tag_dsa.o
    diff --git a/net/dsa/tag_8021q.c b/net/dsa/tag_8021q.c
    index 4aa29f90ecea..0d1db3e37668 100644
    --- a/net/dsa/tag_8021q.c
    +++ b/net/dsa/tag_8021q.c
    @@ -493,5 +493,3 @@ void dsa_8021q_rcv(struct sk_buff *skb, int *source_port, int *switch_id,
    skb->priority = (tci & VLAN_PRIO_MASK) >> VLAN_PRIO_SHIFT;
    }
    EXPORT_SYMBOL_GPL(dsa_8021q_rcv);
    -
    -MODULE_LICENSE("GPL v2");
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-09-13 17:07    [W:3.789 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site