summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartosz Golaszewski <bgolaszewski@baylibre.com>2020-06-29 14:03:41 +0200
committerDavid S. Miller <davem@davemloft.net>2020-06-30 15:57:34 -0700
commit8b11c20a658de159fcf18ebce4f2acfdf747ff25 (patch)
treea108af20681fcab3ab87ff1dc44d1c2f262ec817
parentbd8ff6de0cf5b05bc7e1822aec79edac05b02a35 (diff)
downloadlinux-stable-8b11c20a658de159fcf18ebce4f2acfdf747ff25.tar.gz
linux-stable-8b11c20a658de159fcf18ebce4f2acfdf747ff25.tar.bz2
linux-stable-8b11c20a658de159fcf18ebce4f2acfdf747ff25.zip
phy: un-inline devm_mdiobus_register()
Functions should only be static inline if they're very short. This devres helper is already over 10 lines and it will grow soon as we'll be improving upon its approach. Pull it into mdio_devres.c. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/phy/Makefile2
-rw-r--r--drivers/net/phy/mdio_devres.c18
-rw-r--r--include/linux/phy.h15
3 files changed, 21 insertions, 14 deletions
diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
index dc9e53b511d6..896afdcac437 100644
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -3,7 +3,7 @@
libphy-y := phy.o phy-c45.o phy-core.o phy_device.o \
linkmode.o
-mdio-bus-y += mdio_bus.o mdio_device.o
+mdio-bus-y += mdio_bus.o mdio_device.o mdio_devres.o
ifdef CONFIG_MDIO_DEVICE
obj-y += mdio-boardinfo.o
diff --git a/drivers/net/phy/mdio_devres.c b/drivers/net/phy/mdio_devres.c
new file mode 100644
index 000000000000..f0b4b6cfe5e3
--- /dev/null
+++ b/drivers/net/phy/mdio_devres.c
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include <linux/phy.h>
+
+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);
diff --git a/include/linux/phy.h b/include/linux/phy.h
index ecc7640705b9..7c75e1c90141 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -322,20 +322,9 @@ static inline struct mii_bus *mdiobus_alloc(void)
}
int __mdiobus_register(struct mii_bus *bus, struct module *owner);
+int __devm_mdiobus_register(struct mii_bus *bus, struct module *owner);
#define mdiobus_register(bus) __mdiobus_register(bus, THIS_MODULE)
-static inline int devm_mdiobus_register(struct mii_bus *bus)
-{
- int ret;
-
- if (!bus->is_managed)
- return -EPERM;
-
- ret = mdiobus_register(bus);
- if (!ret)
- bus->is_managed_registered = 1;
-
- return ret;
-}
+#define devm_mdiobus_register(bus) __devm_mdiobus_register(bus, THIS_MODULE)
void mdiobus_unregister(struct mii_bus *bus);
void mdiobus_free(struct mii_bus *bus);