162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * ACPI helper for the MDIO (Ethernet PHY) API
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#ifndef __LINUX_ACPI_MDIO_H
762306a36Sopenharmony_ci#define __LINUX_ACPI_MDIO_H
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include <linux/phy.h>
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#if IS_ENABLED(CONFIG_ACPI_MDIO)
1262306a36Sopenharmony_ciint __acpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *fwnode,
1362306a36Sopenharmony_ci			    struct module *owner);
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cistatic inline int
1662306a36Sopenharmony_ciacpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *handle)
1762306a36Sopenharmony_ci{
1862306a36Sopenharmony_ci	return __acpi_mdiobus_register(mdio, handle, THIS_MODULE);
1962306a36Sopenharmony_ci}
2062306a36Sopenharmony_ci#else /* CONFIG_ACPI_MDIO */
2162306a36Sopenharmony_cistatic inline int
2262306a36Sopenharmony_ciacpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *fwnode)
2362306a36Sopenharmony_ci{
2462306a36Sopenharmony_ci	/*
2562306a36Sopenharmony_ci	 * Fall back to mdiobus_register() function to register a bus.
2662306a36Sopenharmony_ci	 * This way, we don't have to keep compat bits around in drivers.
2762306a36Sopenharmony_ci	 */
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	return mdiobus_register(mdio);
3062306a36Sopenharmony_ci}
3162306a36Sopenharmony_ci#endif
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci#endif /* __LINUX_ACPI_MDIO_H */
34