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