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