phy: un-inline devm_mdiobus_register()
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 29 Jun 2020 12:03:41 +0000 (14:03 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Jun 2020 22:57:34 +0000 (15:57 -0700)
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>
drivers/net/phy/Makefile
drivers/net/phy/mdio_devres.c [new file with mode: 0644]
include/linux/phy.h

index dc9e53b511d6ee1c44e35f50c076b89aa0c6c868..896afdcac4371fd1d2f82d990860084c84238ddb 100644 (file)
@@ -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 (file)
index 0000000..f0b4b6c
--- /dev/null
@@ -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);
index ecc7640705b9658eb14876e5b83e4ff4ca07284a..7c75e1c90141d0fc9d6128a381f877d3339b9a45 100644 (file)
@@ -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);