at master 1.1 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __PHY_FIXED_H 3#define __PHY_FIXED_H 4 5#include <linux/types.h> 6 7struct fixed_phy_status { 8 int speed; 9 int duplex; 10 bool link:1; 11 bool pause:1; 12 bool asym_pause:1; 13}; 14 15struct device_node; 16struct net_device; 17 18#if IS_ENABLED(CONFIG_FIXED_PHY) 19extern int fixed_phy_change_carrier(struct net_device *dev, bool new_carrier); 20struct phy_device *fixed_phy_register(const struct fixed_phy_status *status, 21 struct device_node *np); 22struct phy_device *fixed_phy_register_100fd(void); 23 24extern void fixed_phy_unregister(struct phy_device *phydev); 25extern int fixed_phy_set_link_update(struct phy_device *phydev, 26 int (*link_update)(struct net_device *, 27 struct fixed_phy_status *)); 28#else 29static inline struct phy_device * 30fixed_phy_register(const struct fixed_phy_status *status, 31 struct device_node *np) 32{ 33 return ERR_PTR(-ENODEV); 34} 35 36static inline struct phy_device *fixed_phy_register_100fd(void) 37{ 38 return ERR_PTR(-ENODEV); 39} 40 41static inline void fixed_phy_unregister(struct phy_device *phydev) 42{ 43} 44#endif /* CONFIG_FIXED_PHY */ 45 46#endif /* __PHY_FIXED_H */