at v4.17 1.4 kB view raw
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; 14 15#if IS_ENABLED(CONFIG_FIXED_PHY) 16extern int fixed_phy_add(unsigned int irq, int phy_id, 17 struct fixed_phy_status *status, 18 int link_gpio); 19extern struct phy_device *fixed_phy_register(unsigned int irq, 20 struct fixed_phy_status *status, 21 int link_gpio, 22 struct device_node *np); 23extern void fixed_phy_unregister(struct phy_device *phydev); 24extern int fixed_phy_set_link_update(struct phy_device *phydev, 25 int (*link_update)(struct net_device *, 26 struct fixed_phy_status *)); 27#else 28static inline int fixed_phy_add(unsigned int irq, int phy_id, 29 struct fixed_phy_status *status, 30 int link_gpio) 31{ 32 return -ENODEV; 33} 34static inline struct phy_device *fixed_phy_register(unsigned int irq, 35 struct fixed_phy_status *status, 36 int gpio_link, 37 struct device_node *np) 38{ 39 return ERR_PTR(-ENODEV); 40} 41static inline void fixed_phy_unregister(struct phy_device *phydev) 42{ 43} 44static inline int fixed_phy_set_link_update(struct phy_device *phydev, 45 int (*link_update)(struct net_device *, 46 struct fixed_phy_status *)) 47{ 48 return -ENODEV; 49} 50#endif /* CONFIG_FIXED_PHY */ 51 52#endif /* __PHY_FIXED_H */