1 #ifndef __PHY_FIXED_H 2 #define __PHY_FIXED_H 3 4 struct fixed_phy_status { 5 int link; 6 int speed; 7 int duplex; 8 int pause; 9 int asym_pause; 10 }; 11 12 struct device_node; 13 14 #ifdef CONFIG_FIXED_PHY 15 extern int fixed_phy_add(unsigned int irq, int phy_id, 16 struct fixed_phy_status *status); 17 extern int fixed_phy_register(unsigned int irq, 18 struct fixed_phy_status *status, 19 struct device_node *np); 20 #else 21 static inline int fixed_phy_add(unsigned int irq, int phy_id, 22 struct fixed_phy_status *status) 23 { 24 return -ENODEV; 25 } 26 static inline int fixed_phy_register(unsigned int irq, 27 struct fixed_phy_status *status, 28 struct device_node *np) 29 { 30 return -ENODEV; 31 } 32 #endif /* CONFIG_FIXED_PHY */ 33 34 /* 35 * This function issued only by fixed_phy-aware drivers, no need 36 * protect it with #ifdef 37 */ 38 extern int fixed_phy_set_link_update(struct phy_device *phydev, 39 int (*link_update)(struct net_device *, 40 struct fixed_phy_status *)); 41 42 #endif /* __PHY_FIXED_H */ 43