|  | #ifndef __PHY_FIXED_H | 
|  | #define __PHY_FIXED_H | 
|  |  | 
|  | #define MII_REGS_NUM	29 | 
|  |  | 
|  | /* max number of virtual phy stuff */ | 
|  | #define MAX_PHY_AMNT	10 | 
|  | /* | 
|  | The idea is to emulate normal phy behavior by responding with | 
|  | pre-defined values to mii BMCR read, so that read_status hook could | 
|  | take all the needed info. | 
|  | */ | 
|  |  | 
|  | struct fixed_phy_status { | 
|  | u8 link; | 
|  | u16 speed; | 
|  | u8 duplex; | 
|  | }; | 
|  |  | 
|  | /*----------------------------------------------------------------------------- | 
|  | *  Private information hoder for mii_bus | 
|  | *-----------------------------------------------------------------------------*/ | 
|  | struct fixed_info { | 
|  | u16 *regs; | 
|  | u8 regs_num; | 
|  | struct fixed_phy_status phy_status; | 
|  | struct phy_device *phydev;	/* pointer to the container */ | 
|  | /* link & speed cb */ | 
|  | int (*link_update) (struct net_device *, struct fixed_phy_status *); | 
|  |  | 
|  | }; | 
|  |  | 
|  |  | 
|  | int fixed_mdio_set_link_update(struct phy_device *, | 
|  | int (*link_update) (struct net_device *, struct fixed_phy_status *)); | 
|  | struct fixed_info *fixed_mdio_get_phydev (int phydev_ind); | 
|  |  | 
|  | #endif /* __PHY_FIXED_H */ |