diff options
Diffstat (limited to 'include/linux/phy_fixed.h')
-rw-r--r-- | include/linux/phy_fixed.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/include/linux/phy_fixed.h b/include/linux/phy_fixed.h new file mode 100644 index 000000000000..04ba70d49fb8 --- /dev/null +++ b/include/linux/phy_fixed.h | |||
@@ -0,0 +1,38 @@ | |||
1 | #ifndef __PHY_FIXED_H | ||
2 | #define __PHY_FIXED_H | ||
3 | |||
4 | #define MII_REGS_NUM 29 | ||
5 | |||
6 | /* max number of virtual phy stuff */ | ||
7 | #define MAX_PHY_AMNT 10 | ||
8 | /* | ||
9 | The idea is to emulate normal phy behavior by responding with | ||
10 | pre-defined values to mii BMCR read, so that read_status hook could | ||
11 | take all the needed info. | ||
12 | */ | ||
13 | |||
14 | struct fixed_phy_status { | ||
15 | u8 link; | ||
16 | u16 speed; | ||
17 | u8 duplex; | ||
18 | }; | ||
19 | |||
20 | /*----------------------------------------------------------------------------- | ||
21 | * Private information hoder for mii_bus | ||
22 | *-----------------------------------------------------------------------------*/ | ||
23 | struct fixed_info { | ||
24 | u16 *regs; | ||
25 | u8 regs_num; | ||
26 | struct fixed_phy_status phy_status; | ||
27 | struct phy_device *phydev; /* pointer to the container */ | ||
28 | /* link & speed cb */ | ||
29 | int (*link_update) (struct net_device *, struct fixed_phy_status *); | ||
30 | |||
31 | }; | ||
32 | |||
33 | |||
34 | int fixed_mdio_set_link_update(struct phy_device *, | ||
35 | int (*link_update) (struct net_device *, struct fixed_phy_status *)); | ||
36 | struct fixed_info *fixed_mdio_get_phydev (int phydev_ind); | ||
37 | |||
38 | #endif /* __PHY_FIXED_H */ | ||