phy_fixed.h (1814B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __PHY_FIXED_H 3#define __PHY_FIXED_H 4 5struct fixed_phy_status { 6 int link; 7 int speed; 8 int duplex; 9 int pause; 10 int asym_pause; 11}; 12 13struct device_node; 14struct gpio_desc; 15 16#if IS_ENABLED(CONFIG_FIXED_PHY) 17extern int fixed_phy_change_carrier(struct net_device *dev, bool new_carrier); 18extern int fixed_phy_add(unsigned int irq, int phy_id, 19 struct fixed_phy_status *status); 20extern struct phy_device *fixed_phy_register(unsigned int irq, 21 struct fixed_phy_status *status, 22 struct device_node *np); 23 24extern struct phy_device * 25fixed_phy_register_with_gpiod(unsigned int irq, 26 struct fixed_phy_status *status, 27 struct gpio_desc *gpiod); 28 29extern void fixed_phy_unregister(struct phy_device *phydev); 30extern int fixed_phy_set_link_update(struct phy_device *phydev, 31 int (*link_update)(struct net_device *, 32 struct fixed_phy_status *)); 33#else 34static inline int fixed_phy_add(unsigned int irq, int phy_id, 35 struct fixed_phy_status *status) 36{ 37 return -ENODEV; 38} 39static inline struct phy_device *fixed_phy_register(unsigned int irq, 40 struct fixed_phy_status *status, 41 struct device_node *np) 42{ 43 return ERR_PTR(-ENODEV); 44} 45 46static inline struct phy_device * 47fixed_phy_register_with_gpiod(unsigned int irq, 48 struct fixed_phy_status *status, 49 struct gpio_desc *gpiod) 50{ 51 return ERR_PTR(-ENODEV); 52} 53 54static inline void fixed_phy_unregister(struct phy_device *phydev) 55{ 56} 57static inline int fixed_phy_set_link_update(struct phy_device *phydev, 58 int (*link_update)(struct net_device *, 59 struct fixed_phy_status *)) 60{ 61 return -ENODEV; 62} 63static inline int fixed_phy_change_carrier(struct net_device *dev, bool new_carrier) 64{ 65 return -EINVAL; 66} 67#endif /* CONFIG_FIXED_PHY */ 68 69#endif /* __PHY_FIXED_H */