summaryrefslogtreecommitdiffstats
path: root/include/net/dsa.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/dsa.h')
-rw-r--r--include/net/dsa.h43
1 files changed, 30 insertions, 13 deletions
diff --git a/include/net/dsa.h b/include/net/dsa.h
index 801346e31e9b..8f3d5e0825a2 100644
--- a/include/net/dsa.h
+++ b/include/net/dsa.h
@@ -30,20 +30,33 @@ struct phy_device;
30struct fixed_phy_status; 30struct fixed_phy_status;
31struct phylink_link_state; 31struct phylink_link_state;
32 32
33#define DSA_TAG_PROTO_NONE_VALUE 0
34#define DSA_TAG_PROTO_BRCM_VALUE 1
35#define DSA_TAG_PROTO_BRCM_PREPEND_VALUE 2
36#define DSA_TAG_PROTO_DSA_VALUE 3
37#define DSA_TAG_PROTO_EDSA_VALUE 4
38#define DSA_TAG_PROTO_GSWIP_VALUE 5
39#define DSA_TAG_PROTO_KSZ9477_VALUE 6
40#define DSA_TAG_PROTO_KSZ9893_VALUE 7
41#define DSA_TAG_PROTO_LAN9303_VALUE 8
42#define DSA_TAG_PROTO_MTK_VALUE 9
43#define DSA_TAG_PROTO_QCA_VALUE 10
44#define DSA_TAG_PROTO_TRAILER_VALUE 11
45
33enum dsa_tag_protocol { 46enum dsa_tag_protocol {
34 DSA_TAG_PROTO_NONE = 0, 47 DSA_TAG_PROTO_NONE = DSA_TAG_PROTO_NONE_VALUE,
35 DSA_TAG_PROTO_BRCM, 48 DSA_TAG_PROTO_BRCM = DSA_TAG_PROTO_BRCM_VALUE,
36 DSA_TAG_PROTO_BRCM_PREPEND, 49 DSA_TAG_PROTO_BRCM_PREPEND = DSA_TAG_PROTO_BRCM_PREPEND_VALUE,
37 DSA_TAG_PROTO_DSA, 50 DSA_TAG_PROTO_DSA = DSA_TAG_PROTO_DSA_VALUE,
38 DSA_TAG_PROTO_EDSA, 51 DSA_TAG_PROTO_EDSA = DSA_TAG_PROTO_EDSA_VALUE,
39 DSA_TAG_PROTO_GSWIP, 52 DSA_TAG_PROTO_GSWIP = DSA_TAG_PROTO_GSWIP_VALUE,
40 DSA_TAG_PROTO_KSZ9477, 53 DSA_TAG_PROTO_KSZ9477 = DSA_TAG_PROTO_KSZ9477_VALUE,
41 DSA_TAG_PROTO_KSZ9893, 54 DSA_TAG_PROTO_KSZ9893 = DSA_TAG_PROTO_KSZ9893_VALUE,
42 DSA_TAG_PROTO_LAN9303, 55 DSA_TAG_PROTO_LAN9303 = DSA_TAG_PROTO_LAN9303_VALUE,
43 DSA_TAG_PROTO_MTK, 56 DSA_TAG_PROTO_MTK = DSA_TAG_PROTO_MTK_VALUE,
44 DSA_TAG_PROTO_QCA, 57 DSA_TAG_PROTO_QCA = DSA_TAG_PROTO_QCA_VALUE,
45 DSA_TAG_PROTO_TRAILER, 58 DSA_TAG_PROTO_TRAILER = DSA_TAG_PROTO_TRAILER_VALUE,
46 DSA_TAG_LAST, /* MUST BE LAST */ 59 DSA_TAG_LAST, /* MUST BE LAST */
47}; 60};
48 61
49struct packet_type; 62struct packet_type;
@@ -59,6 +72,10 @@ struct dsa_device_ops {
59 const char *name; 72 const char *name;
60}; 73};
61 74
75#define DSA_TAG_DRIVER_ALIAS "dsa_tag-"
76#define MODULE_ALIAS_DSA_TAG_DRIVER(__proto) \
77 MODULE_ALIAS(DSA_TAG_DRIVER_ALIAS __stringify(__proto##_VALUE))
78
62struct dsa_switch_tree { 79struct dsa_switch_tree {
63 struct list_head list; 80 struct list_head list;
64 81