dsa: Cleanup unneeded table and make tag structures static
authorAndrew Lunn <andrew@lunn.ch>
Sun, 28 Apr 2019 17:37:21 +0000 (19:37 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 28 Apr 2019 23:41:01 +0000 (19:41 -0400)
Now that tag drivers dynamically register, we don't need the static
table. Remove it. This also means the tag driver structures can be
made static.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 files changed:
include/net/dsa.h
net/dsa/dsa.c
net/dsa/dsa_priv.h
net/dsa/tag_brcm.c
net/dsa/tag_dsa.c
net/dsa/tag_edsa.c
net/dsa/tag_gswip.c
net/dsa/tag_ksz.c
net/dsa/tag_lan9303.c
net/dsa/tag_mtk.c
net/dsa/tag_qca.c
net/dsa/tag_trailer.c

index 08ac05c014e3d44d4c38b8dbe628d5ea900b34fc..b550f7bb53144c61486af6a0d1f1be72649b89ef 100644 (file)
@@ -56,7 +56,6 @@ enum dsa_tag_protocol {
        DSA_TAG_PROTO_MTK               = DSA_TAG_PROTO_MTK_VALUE,
        DSA_TAG_PROTO_QCA               = DSA_TAG_PROTO_QCA_VALUE,
        DSA_TAG_PROTO_TRAILER           = DSA_TAG_PROTO_TRAILER_VALUE,
-       DSA_TAG_LAST,                   /* MUST BE LAST */
 };
 
 struct packet_type;
index 67d21647c5007d309ee658ecce5a6bcabf9c5160..ba04c78633be1350a3579439763eb1e579d89886 100644 (file)
@@ -46,41 +46,6 @@ static const struct dsa_device_ops none_ops = {
 
 DSA_TAG_DRIVER(none_ops);
 
-const struct dsa_device_ops *dsa_device_ops[DSA_TAG_LAST] = {
-#ifdef CONFIG_NET_DSA_TAG_BRCM
-       [DSA_TAG_PROTO_BRCM] = &brcm_netdev_ops,
-#endif
-#ifdef CONFIG_NET_DSA_TAG_BRCM_PREPEND
-       [DSA_TAG_PROTO_BRCM_PREPEND] = &brcm_prepend_netdev_ops,
-#endif
-#ifdef CONFIG_NET_DSA_TAG_DSA
-       [DSA_TAG_PROTO_DSA] = &dsa_netdev_ops,
-#endif
-#ifdef CONFIG_NET_DSA_TAG_EDSA
-       [DSA_TAG_PROTO_EDSA] = &edsa_netdev_ops,
-#endif
-#ifdef CONFIG_NET_DSA_TAG_GSWIP
-       [DSA_TAG_PROTO_GSWIP] = &gswip_netdev_ops,
-#endif
-#ifdef CONFIG_NET_DSA_TAG_KSZ9477
-       [DSA_TAG_PROTO_KSZ9477] = &ksz9477_netdev_ops,
-       [DSA_TAG_PROTO_KSZ9893] = &ksz9893_netdev_ops,
-#endif
-#ifdef CONFIG_NET_DSA_TAG_LAN9303
-       [DSA_TAG_PROTO_LAN9303] = &lan9303_netdev_ops,
-#endif
-#ifdef CONFIG_NET_DSA_TAG_MTK
-       [DSA_TAG_PROTO_MTK] = &mtk_netdev_ops,
-#endif
-#ifdef CONFIG_NET_DSA_TAG_QCA
-       [DSA_TAG_PROTO_QCA] = &qca_netdev_ops,
-#endif
-#ifdef CONFIG_NET_DSA_TAG_TRAILER
-       [DSA_TAG_PROTO_TRAILER] = &trailer_netdev_ops,
-#endif
-       [DSA_TAG_PROTO_NONE] = &none_ops,
-};
-
 static void dsa_tag_driver_register(struct dsa_tag_driver *dsa_tag_driver,
                                    struct module *owner)
 {
index ea482e88f7b84e6c66cf44d5a3a40a8cd3ad7b76..e860512d673ab78f531803061d67fc5623d8c10d 100644 (file)
@@ -202,34 +202,4 @@ dsa_slave_to_master(const struct net_device *dev)
 /* switch.c */
 int dsa_switch_register_notifier(struct dsa_switch *ds);
 void dsa_switch_unregister_notifier(struct dsa_switch *ds);
-
-/* tag_brcm.c */
-extern const struct dsa_device_ops brcm_netdev_ops;
-extern const struct dsa_device_ops brcm_prepend_netdev_ops;
-
-/* tag_dsa.c */
-extern const struct dsa_device_ops dsa_netdev_ops;
-
-/* tag_edsa.c */
-extern const struct dsa_device_ops edsa_netdev_ops;
-
-/* tag_gswip.c */
-extern const struct dsa_device_ops gswip_netdev_ops;
-
-/* tag_ksz.c */
-extern const struct dsa_device_ops ksz9477_netdev_ops;
-extern const struct dsa_device_ops ksz9893_netdev_ops;
-
-/* tag_lan9303.c */
-extern const struct dsa_device_ops lan9303_netdev_ops;
-
-/* tag_mtk.c */
-extern const struct dsa_device_ops mtk_netdev_ops;
-
-/* tag_qca.c */
-extern const struct dsa_device_ops qca_netdev_ops;
-
-/* tag_trailer.c */
-extern const struct dsa_device_ops trailer_netdev_ops;
-
 #endif
index 63c8c6645a05e8ace29e35218c708ff995fb3211..9890097a85d94a9d4b416de8c35971daa196d57c 100644 (file)
@@ -167,7 +167,7 @@ static struct sk_buff *brcm_tag_rcv(struct sk_buff *skb, struct net_device *dev,
        return nskb;
 }
 
-const struct dsa_device_ops brcm_netdev_ops = {
+static const struct dsa_device_ops brcm_netdev_ops = {
        .name   = "brcm",
        .proto  = DSA_TAG_PROTO_BRCM,
        .xmit   = brcm_tag_xmit,
@@ -195,7 +195,7 @@ static struct sk_buff *brcm_tag_rcv_prepend(struct sk_buff *skb,
        return brcm_tag_rcv_ll(skb, dev, pt, ETH_HLEN);
 }
 
-const struct dsa_device_ops brcm_prepend_netdev_ops = {
+static const struct dsa_device_ops brcm_prepend_netdev_ops = {
        .name   = "brcm-prepend",
        .proto  = DSA_TAG_PROTO_BRCM_PREPEND,
        .xmit   = brcm_tag_xmit_prepend,
index 96b5147b6f3ea637cb96efa99727b00c2122a1d1..7ddec9794477c1f0798ea58bf85740843bf3d960 100644 (file)
@@ -150,7 +150,7 @@ static int dsa_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto,
        return 0;
 }
 
-const struct dsa_device_ops dsa_netdev_ops = {
+static const struct dsa_device_ops dsa_netdev_ops = {
        .name   = "dsa",
        .proto  = DSA_TAG_PROTO_DSA,
        .xmit   = dsa_xmit,
index 76bf3db4e9d43ea4fb5232c364cd0341d6a9e104..e8eaa804ccb9ef68c4603fa88c24a12930f7fb3a 100644 (file)
@@ -169,7 +169,7 @@ static int edsa_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto,
        return 0;
 }
 
-const struct dsa_device_ops edsa_netdev_ops = {
+static const struct dsa_device_ops edsa_netdev_ops = {
        .name   = "edsa",
        .proto  = DSA_TAG_PROTO_EDSA,
        .xmit   = edsa_xmit,
index ee5167180e79f6cd64e5a60d330f3bc34462c1cf..b678160bbd66e5992c7b7b28a819c25f6dd3ec50 100644 (file)
@@ -103,7 +103,7 @@ static struct sk_buff *gswip_tag_rcv(struct sk_buff *skb,
        return skb;
 }
 
-const struct dsa_device_ops gswip_netdev_ops = {
+static const struct dsa_device_ops gswip_netdev_ops = {
        .name = "gwsip",
        .proto  = DSA_TAG_PROTO_GSWIP,
        .xmit = gswip_tag_xmit,
index 02689ac6f9da881d5b4366ace13ae1a42c84b898..b4872b87d4a6b4971d9ca815be6de3c93ffaab06 100644 (file)
@@ -133,7 +133,7 @@ static struct sk_buff *ksz9477_rcv(struct sk_buff *skb, struct net_device *dev,
        return ksz_common_rcv(skb, dev, port, len);
 }
 
-const struct dsa_device_ops ksz9477_netdev_ops = {
+static const struct dsa_device_ops ksz9477_netdev_ops = {
        .name   = "ksz9477",
        .proto  = DSA_TAG_PROTO_KSZ9477,
        .xmit   = ksz9477_xmit,
@@ -171,7 +171,7 @@ static struct sk_buff *ksz9893_xmit(struct sk_buff *skb,
        return nskb;
 }
 
-const struct dsa_device_ops ksz9893_netdev_ops = {
+static const struct dsa_device_ops ksz9893_netdev_ops = {
        .name   = "ksz9893",
        .proto  = DSA_TAG_PROTO_KSZ9893,
        .xmit   = ksz9893_xmit,
index 609a2405abd86f30a13e84923d95b147740fafc7..eb0e7a32e53dcdcd3be18512203d33698201617c 100644 (file)
@@ -128,7 +128,7 @@ static struct sk_buff *lan9303_rcv(struct sk_buff *skb, struct net_device *dev,
        return skb;
 }
 
-const struct dsa_device_ops lan9303_netdev_ops = {
+static const struct dsa_device_ops lan9303_netdev_ops = {
        .name = "lan9303",
        .proto  = DSA_TAG_PROTO_LAN9303,
        .xmit = lan9303_xmit,
index a4d2dcdb71025e4918dde56889475bbf1cd7fd66..b5705cba831848189c8981e1027e0ad62eba0efe 100644 (file)
@@ -98,7 +98,7 @@ static int mtk_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto,
        return 0;
 }
 
-const struct dsa_device_ops mtk_netdev_ops = {
+static const struct dsa_device_ops mtk_netdev_ops = {
        .name           = "mtk",
        .proto          = DSA_TAG_PROTO_MTK,
        .xmit           = mtk_tag_xmit,
index 552ddfbbf5ec33de8aaa536b21c52e2b3875a98f..c95885215525193517a6745040e39a046bf6c494 100644 (file)
@@ -99,7 +99,7 @@ static int qca_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto,
        return 0;
 }
 
-const struct dsa_device_ops qca_netdev_ops = {
+static const struct dsa_device_ops qca_netdev_ops = {
        .name   = "qca",
        .proto  = DSA_TAG_PROTO_QCA,
        .xmit   = qca_tag_xmit,
index 807cc2dff052325bb260ba983edcfa8bd841a2b9..4f8ab62f0208475f910771abdeac7af8603b019e 100644 (file)
@@ -77,7 +77,7 @@ static struct sk_buff *trailer_rcv(struct sk_buff *skb, struct net_device *dev,
        return skb;
 }
 
-const struct dsa_device_ops trailer_netdev_ops = {
+static const struct dsa_device_ops trailer_netdev_ops = {
        .name   = "trailer",
        .proto  = DSA_TAG_PROTO_TRAILER,
        .xmit   = trailer_xmit,