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)
12int fwnode_mdiobus_phy_device_register(struct mii_bus *mdio,
13				       struct phy_device *phy,
14				       struct fwnode_handle *child, u32 addr);
15
16int fwnode_mdiobus_register_phy(struct mii_bus *bus,
17				struct fwnode_handle *child, u32 addr);
18
19#else /* CONFIG_FWNODE_MDIO */
20int 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
27static 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