Commit | Line | Data |
---|---|---|
6c84a589 FF |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef DSA_LOOP_H | |
3 | #define DSA_LOOP_H | |
4 | ||
b6459415 | 5 | #include <linux/if_vlan.h> |
6c84a589 FF |
6 | #include <linux/types.h> |
7 | #include <linux/ethtool.h> | |
8 | #include <net/dsa.h> | |
9 | ||
10 | struct dsa_loop_vlan { | |
11 | u16 members; | |
12 | u16 untagged; | |
13 | }; | |
14 | ||
15 | struct dsa_loop_mib_entry { | |
16 | char name[ETH_GSTRING_LEN]; | |
17 | unsigned long val; | |
18 | }; | |
19 | ||
20 | enum dsa_loop_mib_counters { | |
21 | DSA_LOOP_PHY_READ_OK, | |
22 | DSA_LOOP_PHY_READ_ERR, | |
23 | DSA_LOOP_PHY_WRITE_OK, | |
24 | DSA_LOOP_PHY_WRITE_ERR, | |
25 | __DSA_LOOP_CNT_MAX, | |
26 | }; | |
27 | ||
28 | struct dsa_loop_port { | |
29 | struct dsa_loop_mib_entry mib[__DSA_LOOP_CNT_MAX]; | |
30 | u16 pvid; | |
c99194ed | 31 | int mtu; |
6c84a589 FF |
32 | }; |
33 | ||
34 | struct dsa_loop_priv { | |
35 | struct mii_bus *bus; | |
36 | unsigned int port_base; | |
37 | struct dsa_loop_vlan vlans[VLAN_N_VID]; | |
38 | struct net_device *netdev; | |
39 | struct dsa_loop_port ports[DSA_MAX_PORTS]; | |
40 | }; | |
41 | ||
42 | #endif /* DSA_LOOP_H */ |