Commit f81a43e8 authored by Andrew Lunn's avatar Andrew Lunn Committed by David S. Miller

dsa: Cleanup unneeded table and make tag structures static

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: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 36756175
...@@ -56,7 +56,6 @@ enum dsa_tag_protocol { ...@@ -56,7 +56,6 @@ enum dsa_tag_protocol {
DSA_TAG_PROTO_MTK = DSA_TAG_PROTO_MTK_VALUE, DSA_TAG_PROTO_MTK = DSA_TAG_PROTO_MTK_VALUE,
DSA_TAG_PROTO_QCA = DSA_TAG_PROTO_QCA_VALUE, DSA_TAG_PROTO_QCA = DSA_TAG_PROTO_QCA_VALUE,
DSA_TAG_PROTO_TRAILER = DSA_TAG_PROTO_TRAILER_VALUE, DSA_TAG_PROTO_TRAILER = DSA_TAG_PROTO_TRAILER_VALUE,
DSA_TAG_LAST, /* MUST BE LAST */
}; };
struct packet_type; struct packet_type;
......
...@@ -46,41 +46,6 @@ static const struct dsa_device_ops none_ops = { ...@@ -46,41 +46,6 @@ static const struct dsa_device_ops none_ops = {
DSA_TAG_DRIVER(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, static void dsa_tag_driver_register(struct dsa_tag_driver *dsa_tag_driver,
struct module *owner) struct module *owner)
{ {
......
...@@ -202,34 +202,4 @@ dsa_slave_to_master(const struct net_device *dev) ...@@ -202,34 +202,4 @@ dsa_slave_to_master(const struct net_device *dev)
/* switch.c */ /* switch.c */
int dsa_switch_register_notifier(struct dsa_switch *ds); int dsa_switch_register_notifier(struct dsa_switch *ds);
void dsa_switch_unregister_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 #endif
...@@ -167,7 +167,7 @@ static struct sk_buff *brcm_tag_rcv(struct sk_buff *skb, struct net_device *dev, ...@@ -167,7 +167,7 @@ static struct sk_buff *brcm_tag_rcv(struct sk_buff *skb, struct net_device *dev,
return nskb; return nskb;
} }
const struct dsa_device_ops brcm_netdev_ops = { static const struct dsa_device_ops brcm_netdev_ops = {
.name = "brcm", .name = "brcm",
.proto = DSA_TAG_PROTO_BRCM, .proto = DSA_TAG_PROTO_BRCM,
.xmit = brcm_tag_xmit, .xmit = brcm_tag_xmit,
...@@ -195,7 +195,7 @@ static struct sk_buff *brcm_tag_rcv_prepend(struct sk_buff *skb, ...@@ -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); 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", .name = "brcm-prepend",
.proto = DSA_TAG_PROTO_BRCM_PREPEND, .proto = DSA_TAG_PROTO_BRCM_PREPEND,
.xmit = brcm_tag_xmit_prepend, .xmit = brcm_tag_xmit_prepend,
......
...@@ -150,7 +150,7 @@ static int dsa_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, ...@@ -150,7 +150,7 @@ static int dsa_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto,
return 0; return 0;
} }
const struct dsa_device_ops dsa_netdev_ops = { static const struct dsa_device_ops dsa_netdev_ops = {
.name = "dsa", .name = "dsa",
.proto = DSA_TAG_PROTO_DSA, .proto = DSA_TAG_PROTO_DSA,
.xmit = dsa_xmit, .xmit = dsa_xmit,
......
...@@ -169,7 +169,7 @@ static int edsa_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, ...@@ -169,7 +169,7 @@ static int edsa_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto,
return 0; return 0;
} }
const struct dsa_device_ops edsa_netdev_ops = { static const struct dsa_device_ops edsa_netdev_ops = {
.name = "edsa", .name = "edsa",
.proto = DSA_TAG_PROTO_EDSA, .proto = DSA_TAG_PROTO_EDSA,
.xmit = edsa_xmit, .xmit = edsa_xmit,
......
...@@ -103,7 +103,7 @@ static struct sk_buff *gswip_tag_rcv(struct sk_buff *skb, ...@@ -103,7 +103,7 @@ static struct sk_buff *gswip_tag_rcv(struct sk_buff *skb,
return skb; return skb;
} }
const struct dsa_device_ops gswip_netdev_ops = { static const struct dsa_device_ops gswip_netdev_ops = {
.name = "gwsip", .name = "gwsip",
.proto = DSA_TAG_PROTO_GSWIP, .proto = DSA_TAG_PROTO_GSWIP,
.xmit = gswip_tag_xmit, .xmit = gswip_tag_xmit,
......
...@@ -133,7 +133,7 @@ static struct sk_buff *ksz9477_rcv(struct sk_buff *skb, struct net_device *dev, ...@@ -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); 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", .name = "ksz9477",
.proto = DSA_TAG_PROTO_KSZ9477, .proto = DSA_TAG_PROTO_KSZ9477,
.xmit = ksz9477_xmit, .xmit = ksz9477_xmit,
...@@ -171,7 +171,7 @@ static struct sk_buff *ksz9893_xmit(struct sk_buff *skb, ...@@ -171,7 +171,7 @@ static struct sk_buff *ksz9893_xmit(struct sk_buff *skb,
return nskb; return nskb;
} }
const struct dsa_device_ops ksz9893_netdev_ops = { static const struct dsa_device_ops ksz9893_netdev_ops = {
.name = "ksz9893", .name = "ksz9893",
.proto = DSA_TAG_PROTO_KSZ9893, .proto = DSA_TAG_PROTO_KSZ9893,
.xmit = ksz9893_xmit, .xmit = ksz9893_xmit,
......
...@@ -128,7 +128,7 @@ static struct sk_buff *lan9303_rcv(struct sk_buff *skb, struct net_device *dev, ...@@ -128,7 +128,7 @@ static struct sk_buff *lan9303_rcv(struct sk_buff *skb, struct net_device *dev,
return skb; return skb;
} }
const struct dsa_device_ops lan9303_netdev_ops = { static const struct dsa_device_ops lan9303_netdev_ops = {
.name = "lan9303", .name = "lan9303",
.proto = DSA_TAG_PROTO_LAN9303, .proto = DSA_TAG_PROTO_LAN9303,
.xmit = lan9303_xmit, .xmit = lan9303_xmit,
......
...@@ -98,7 +98,7 @@ static int mtk_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, ...@@ -98,7 +98,7 @@ static int mtk_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto,
return 0; return 0;
} }
const struct dsa_device_ops mtk_netdev_ops = { static const struct dsa_device_ops mtk_netdev_ops = {
.name = "mtk", .name = "mtk",
.proto = DSA_TAG_PROTO_MTK, .proto = DSA_TAG_PROTO_MTK,
.xmit = mtk_tag_xmit, .xmit = mtk_tag_xmit,
......
...@@ -99,7 +99,7 @@ static int qca_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, ...@@ -99,7 +99,7 @@ static int qca_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto,
return 0; return 0;
} }
const struct dsa_device_ops qca_netdev_ops = { static const struct dsa_device_ops qca_netdev_ops = {
.name = "qca", .name = "qca",
.proto = DSA_TAG_PROTO_QCA, .proto = DSA_TAG_PROTO_QCA,
.xmit = qca_tag_xmit, .xmit = qca_tag_xmit,
......
...@@ -77,7 +77,7 @@ static struct sk_buff *trailer_rcv(struct sk_buff *skb, struct net_device *dev, ...@@ -77,7 +77,7 @@ static struct sk_buff *trailer_rcv(struct sk_buff *skb, struct net_device *dev,
return skb; return skb;
} }
const struct dsa_device_ops trailer_netdev_ops = { static const struct dsa_device_ops trailer_netdev_ops = {
.name = "trailer", .name = "trailer",
.proto = DSA_TAG_PROTO_TRAILER, .proto = DSA_TAG_PROTO_TRAILER,
.xmit = trailer_xmit, .xmit = trailer_xmit,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment