xref: /openbmc/linux/drivers/net/phy/mdio_devres.c (revision 6a9a5723)
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 
3 #include <linux/phy.h>
4 
5 /**
6  * __devm_mdiobus_register - Resource-managed variant of mdiobus_register()
7  * @bus:	MII bus structure to register
8  * @owner:	Owning module
9  *
10  * Returns 0 on success, negative error number on failure.
11  */
12 int __devm_mdiobus_register(struct mii_bus *bus, struct module *owner)
13 {
14 	int ret;
15 
16 	if (!bus->is_managed)
17 		return -EPERM;
18 
19 	ret = __mdiobus_register(bus, owner);
20 	if (!ret)
21 		bus->is_managed_registered = 1;
22 
23 	return ret;
24 }
25 EXPORT_SYMBOL(__devm_mdiobus_register);
26