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 */ 39