summaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/mdio_devres.c
blob: 3ee887733d4a582200be86f0a4515dc361405d16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// SPDX-License-Identifier: GPL-2.0-or-later

#include <linux/phy.h>

/**
 * __devm_mdiobus_register - Resource-managed variant of mdiobus_register()
 * @bus:	MII bus structure to register
 * @owner:	Owning module
 *
 * Returns 0 on success, negative error number on failure.
 */
int __devm_mdiobus_register(struct mii_bus *bus, struct module *owner)
{
	int ret;

	if (!bus->is_managed)
		return -EPERM;

	ret = __mdiobus_register(bus, owner);
	if (!ret)
		bus->is_managed_registered = 1;

	return ret;
}
EXPORT_SYMBOL(__devm_mdiobus_register);