1 /* SPDX-License-Identifier: GPL-2.0 */ << 2 #ifndef __PHY_FIXED_H 1 #ifndef __PHY_FIXED_H 3 #define __PHY_FIXED_H 2 #define __PHY_FIXED_H 4 3 5 #include <linux/types.h> << 6 << 7 struct fixed_phy_status { 4 struct fixed_phy_status { 8 int link; 5 int link; 9 int speed; 6 int speed; 10 int duplex; 7 int duplex; 11 int pause; 8 int pause; 12 int asym_pause; 9 int asym_pause; 13 }; 10 }; 14 11 15 struct device_node; 12 struct device_node; 16 struct gpio_desc; << 17 struct net_device; << 18 13 19 #if IS_ENABLED(CONFIG_FIXED_PHY) 14 #if IS_ENABLED(CONFIG_FIXED_PHY) 20 extern int fixed_phy_change_carrier(struct net << 21 extern int fixed_phy_add(unsigned int irq, int 15 extern int fixed_phy_add(unsigned int irq, int phy_id, 22 struct fixed_phy_stat !! 16 struct fixed_phy_status *status, >> 17 int link_gpio); 23 extern struct phy_device *fixed_phy_register(u 18 extern struct phy_device *fixed_phy_register(unsigned int irq, 24 s 19 struct fixed_phy_status *status, >> 20 int link_gpio, 25 s 21 struct device_node *np); 26 << 27 extern struct phy_device * << 28 fixed_phy_register_with_gpiod(unsigned int irq << 29 struct fixed_phy << 30 struct gpio_desc << 31 << 32 extern void fixed_phy_unregister(struct phy_de 22 extern void fixed_phy_unregister(struct phy_device *phydev); 33 extern int fixed_phy_set_link_update(struct ph 23 extern int fixed_phy_set_link_update(struct phy_device *phydev, 34 int (*link_update)(str 24 int (*link_update)(struct net_device *, 35 str 25 struct fixed_phy_status *)); >> 26 extern int fixed_phy_update_state(struct phy_device *phydev, >> 27 const struct fixed_phy_status *status, >> 28 const struct fixed_phy_status *changed); 36 #else 29 #else 37 static inline int fixed_phy_add(unsigned int i 30 static inline int fixed_phy_add(unsigned int irq, int phy_id, 38 struct fixed_p !! 31 struct fixed_phy_status *status, >> 32 int link_gpio) 39 { 33 { 40 return -ENODEV; 34 return -ENODEV; 41 } 35 } 42 static inline struct phy_device *fixed_phy_reg 36 static inline struct phy_device *fixed_phy_register(unsigned int irq, 43 37 struct fixed_phy_status *status, >> 38 int gpio_link, 44 39 struct device_node *np) 45 { 40 { 46 return ERR_PTR(-ENODEV); 41 return ERR_PTR(-ENODEV); 47 } 42 } 48 << 49 static inline struct phy_device * << 50 fixed_phy_register_with_gpiod(unsigned int irq << 51 struct fixed_phy << 52 struct gpio_desc << 53 { << 54 return ERR_PTR(-ENODEV); << 55 } << 56 << 57 static inline void fixed_phy_unregister(struct 43 static inline void fixed_phy_unregister(struct phy_device *phydev) 58 { 44 { 59 } 45 } 60 static inline int fixed_phy_set_link_update(st 46 static inline int fixed_phy_set_link_update(struct phy_device *phydev, 61 int (*link_update)(str 47 int (*link_update)(struct net_device *, 62 str 48 struct fixed_phy_status *)) 63 { 49 { 64 return -ENODEV; 50 return -ENODEV; 65 } 51 } 66 static inline int fixed_phy_change_carrier(str !! 52 static inline int fixed_phy_update_state(struct phy_device *phydev, >> 53 const struct fixed_phy_status *status, >> 54 const struct fixed_phy_status *changed) 67 { 55 { 68 return -EINVAL; !! 56 return -ENODEV; 69 } 57 } 70 #endif /* CONFIG_FIXED_PHY */ 58 #endif /* CONFIG_FIXED_PHY */ 71 59 72 #endif /* __PHY_FIXED_H */ 60 #endif /* __PHY_FIXED_H */ 73 61
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.