diff options
Diffstat (limited to 'include/net/dsa.h')
-rw-r--r-- | include/net/dsa.h | 43 |
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; | |||
30 | struct fixed_phy_status; | 30 | struct fixed_phy_status; |
31 | struct phylink_link_state; | 31 | struct 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 | |||
33 | enum dsa_tag_protocol { | 46 | enum 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 | ||
49 | struct packet_type; | 62 | struct 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 | |||
62 | struct dsa_switch_tree { | 79 | struct dsa_switch_tree { |
63 | struct list_head list; | 80 | struct list_head list; |
64 | 81 | ||