1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * FWNODE helper for the MDIO (Ethernet PHY) API
4  */
5 
6 #ifndef __LINUX_FWNODE_MDIO_H
7 #define __LINUX_FWNODE_MDIO_H
8 
9 #include <linux/phy.h>
10 
11 #if IS_ENABLED(CONFIG_FWNODE_MDIO)
12 int fwnode_mdiobus_phy_device_register(struct mii_bus *mdio,
13 				       struct phy_device *phy,
14 				       struct fwnode_handle *child, u32 addr);
15 
16 int fwnode_mdiobus_register_phy(struct mii_bus *bus,
17 				struct fwnode_handle *child, u32 addr);
18 
19 #else /* CONFIG_FWNODE_MDIO */
fwnode_mdiobus_phy_device_register(struct mii_bus * mdio,struct phy_device * phy,struct fwnode_handle * child,u32 addr)20 int fwnode_mdiobus_phy_device_register(struct mii_bus *mdio,
21 				       struct phy_device *phy,
22 				       struct fwnode_handle *child, u32 addr)
23 {
24 	return -EINVAL;
25 }
26 
fwnode_mdiobus_register_phy(struct mii_bus * bus,struct fwnode_handle * child,u32 addr)27 static inline int fwnode_mdiobus_register_phy(struct mii_bus *bus,
28 					      struct fwnode_handle *child,
29 					      u32 addr)
30 {
31 	return -EINVAL;
32 }
33 #endif
34 
35 #endif /* __LINUX_FWNODE_MDIO_H */
36