xref: /openbmc/linux/include/linux/phy_fixed.h (revision a75951217472c522c324adb0a4de3ba69d656ef5)
17c32f470SVitaly Bordug #ifndef __PHY_FIXED_H
27c32f470SVitaly Bordug #define __PHY_FIXED_H
37c32f470SVitaly Bordug 
47c32f470SVitaly Bordug struct fixed_phy_status {
5a79d8e93SVitaly Bordug 	int link;
6a79d8e93SVitaly Bordug 	int speed;
7a79d8e93SVitaly Bordug 	int duplex;
8a79d8e93SVitaly Bordug 	int pause;
9a79d8e93SVitaly Bordug 	int asym_pause;
107c32f470SVitaly Bordug };
117c32f470SVitaly Bordug 
12*a7595121SThomas Petazzoni struct device_node;
13*a7595121SThomas Petazzoni 
14a79d8e93SVitaly Bordug #ifdef CONFIG_FIXED_PHY
15a79d8e93SVitaly Bordug extern int fixed_phy_add(unsigned int irq, int phy_id,
16a79d8e93SVitaly Bordug 			 struct fixed_phy_status *status);
17*a7595121SThomas Petazzoni extern int fixed_phy_register(unsigned int irq,
18*a7595121SThomas Petazzoni 			      struct fixed_phy_status *status,
19*a7595121SThomas Petazzoni 			      struct device_node *np);
20a79d8e93SVitaly Bordug #else
21a79d8e93SVitaly Bordug static inline int fixed_phy_add(unsigned int irq, int phy_id,
22a79d8e93SVitaly Bordug 				struct fixed_phy_status *status)
23a79d8e93SVitaly Bordug {
24a79d8e93SVitaly Bordug 	return -ENODEV;
25a79d8e93SVitaly Bordug }
26*a7595121SThomas Petazzoni static inline int fixed_phy_register(unsigned int irq,
27*a7595121SThomas Petazzoni 				     struct fixed_phy_status *status,
28*a7595121SThomas Petazzoni 				     struct device_node *np)
29*a7595121SThomas Petazzoni {
30*a7595121SThomas Petazzoni 	return -ENODEV;
31*a7595121SThomas Petazzoni }
32a79d8e93SVitaly Bordug #endif /* CONFIG_FIXED_PHY */
337c32f470SVitaly Bordug 
34a79d8e93SVitaly Bordug /*
35a79d8e93SVitaly Bordug  * This function issued only by fixed_phy-aware drivers, no need
36a79d8e93SVitaly Bordug  * protect it with #ifdef
37a79d8e93SVitaly Bordug  */
38a79d8e93SVitaly Bordug extern int fixed_phy_set_link_update(struct phy_device *phydev,
39a79d8e93SVitaly Bordug 			int (*link_update)(struct net_device *,
40a79d8e93SVitaly Bordug 					   struct fixed_phy_status *));
417c32f470SVitaly Bordug 
427c32f470SVitaly Bordug #endif /* __PHY_FIXED_H */
43