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 extern void fixed_phy_del(int phy_addr); 21 #else 22 static inline int fixed_phy_add(unsigned int irq, int phy_id, 23 struct fixed_phy_status *status) 24 { 25 return -ENODEV; 26 } 27 static inline int fixed_phy_register(unsigned int irq, 28 struct fixed_phy_status *status, 29 struct device_node *np) 30 { 31 return -ENODEV; 32 } 33 static inline int fixed_phy_del(int phy_addr) 34 { 35 return -ENODEV; 36 } 37 #endif /* CONFIG_FIXED_PHY */ 38 39 /* 40 * This function issued only by fixed_phy-aware drivers, no need 41 * protect it with #ifdef 42 */ 43 extern int fixed_phy_set_link_update(struct phy_device *phydev, 44 int (*link_update)(struct net_device *, 45 struct fixed_phy_status *)); 46 47 #endif /* __PHY_FIXED_H */ 48