diff options
Diffstat (limited to 'kernel/include/linux/phy_fixed.h')
-rw-r--r-- | kernel/include/linux/phy_fixed.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/kernel/include/linux/phy_fixed.h b/kernel/include/linux/phy_fixed.h new file mode 100644 index 000000000..fe5732d53 --- /dev/null +++ b/kernel/include/linux/phy_fixed.h @@ -0,0 +1,57 @@ +#ifndef __PHY_FIXED_H +#define __PHY_FIXED_H + +struct fixed_phy_status { + int link; + int speed; + int duplex; + int pause; + int asym_pause; +}; + +struct device_node; + +#if IS_ENABLED(CONFIG_FIXED_PHY) +extern int fixed_phy_add(unsigned int irq, int phy_id, + struct fixed_phy_status *status); +extern struct phy_device *fixed_phy_register(unsigned int irq, + struct fixed_phy_status *status, + struct device_node *np); +extern void fixed_phy_del(int phy_addr); +extern int fixed_phy_set_link_update(struct phy_device *phydev, + int (*link_update)(struct net_device *, + struct fixed_phy_status *)); +extern int fixed_phy_update_state(struct phy_device *phydev, + const struct fixed_phy_status *status, + const struct fixed_phy_status *changed); +#else +static inline int fixed_phy_add(unsigned int irq, int phy_id, + struct fixed_phy_status *status) +{ + return -ENODEV; +} +static inline struct phy_device *fixed_phy_register(unsigned int irq, + struct fixed_phy_status *status, + struct device_node *np) +{ + return ERR_PTR(-ENODEV); +} +static inline int fixed_phy_del(int phy_addr) +{ + return -ENODEV; +} +static inline int fixed_phy_set_link_update(struct phy_device *phydev, + int (*link_update)(struct net_device *, + struct fixed_phy_status *)) +{ + return -ENODEV; +} +static inline int fixed_phy_update_state(struct phy_device *phydev, + const struct fixed_phy_status *status, + const struct fixed_phy_status *changed) +{ + return -ENODEV; +} +#endif /* CONFIG_FIXED_PHY */ + +#endif /* __PHY_FIXED_H */ |