mirror of https://gitee.com/openkylin/linux.git
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: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3675617531
commit
f81a43e8da
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue