dsa: Add MODULE_ALIAS to taggers in preparation to become modules

When the tag drivers become modules, we will need to dynamically load
them based on what the switch drivers need. Add aliases to map between
the TAG protocol and the driver.

In order to do this, we need the tag protocol number as something
which the C pre-processor can stringinfy. Only the compiler knows the
value of an enum, CPP cannot use them. So add #defines.

Signed-off-by: Andrew Lunn <[email protected]>
Reviewed-by: Florian Fainelli <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
Andrew Lunn 2019-04-28 19:37:12 +02:00 • committed by David S. Miller
commit 0b42f03363
10 changed files with 52 additions and 13 deletions

View file

@ -173,6 +173,8 @@ const struct dsa_device_ops brcm_netdev_ops = {
.rcv = brcm_tag_rcv,
.overhead = BRCM_TAG_LEN,
};
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_BRCM);
#endif
#ifdef CONFIG_NET_DSA_TAG_BRCM_PREPEND
@ -198,3 +200,5 @@ const struct dsa_device_ops brcm_prepend_netdev_ops = {
.overhead = BRCM_TAG_LEN,
};
#endif
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_BRCM_PREPEND);

View file

@ -157,3 +157,5 @@ const struct dsa_device_ops dsa_netdev_ops = {
.flow_dissect = dsa_tag_flow_dissect,
.overhead = DSA_HLEN,
};
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_DSA);

View file

@ -176,3 +176,5 @@ const struct dsa_device_ops edsa_netdev_ops = {
.flow_dissect = edsa_tag_flow_dissect,
.overhead = EDSA_HLEN,
};
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_EDSA);

View file

@ -109,3 +109,5 @@ const struct dsa_device_ops gswip_netdev_ops = {
.rcv = gswip_tag_rcv,
.overhead = GSWIP_RX_HEADER_LEN,
};
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_GSWIP);

View file

@ -140,6 +140,8 @@ const struct dsa_device_ops ksz9477_netdev_ops = {
.overhead = KSZ9477_INGRESS_TAG_LEN,
};
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_KSZ9477);
#define KSZ9893_TAIL_TAG_OVERRIDE BIT(5)
#define KSZ9893_TAIL_TAG_LOOKUP BIT(6)
@ -173,3 +175,5 @@ const struct dsa_device_ops ksz9893_netdev_ops = {
.rcv = ksz9477_rcv,
.overhead = KSZ_INGRESS_TAG_LEN,
};
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_KSZ9893);

View file

@ -134,3 +134,5 @@ const struct dsa_device_ops lan9303_netdev_ops = {
.rcv = lan9303_rcv,
.overhead = LAN9303_TAG_LEN,
};
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_LAN9303);

View file

@ -105,3 +105,5 @@ const struct dsa_device_ops mtk_netdev_ops = {
.flow_dissect = mtk_tag_flow_dissect,
.overhead = MTK_HDR_LEN,
};
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_MTK);

View file

@ -106,3 +106,5 @@ const struct dsa_device_ops qca_netdev_ops = {
.flow_dissect = qca_tag_flow_dissect,
.overhead = QCA_HDR_LEN,
};
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_QCA);

View file

@ -83,3 +83,5 @@ const struct dsa_device_ops trailer_netdev_ops = {
.rcv = trailer_rcv,
.overhead = 4,
};
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_TRAILER);