Message ID | 20200622100056.10151-7-brgl@bgdev.pl (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: improve devres helpers | expand |
On 6/22/20 3:00 AM, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > 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> > --- > drivers/net/phy/Makefile | 2 +- > drivers/net/phy/mdio_devres.c | 18 ++++++++++++++++++ > include/linux/phy.h | 15 ++------------- > 3 files changed, 21 insertions(+), 14 deletions(-) > create mode 100644 drivers/net/phy/mdio_devres.c This would likely require an update to the MAINTAINERS file for this new file to be picked up by the correct entry.
On Tue, Jun 23, 2020 at 1:55 AM Florian Fainelli <f.fainelli@gmail.com> wrote: > > On 6/22/20 3:00 AM, Bartosz Golaszewski wrote: > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > > 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> > > --- > > drivers/net/phy/Makefile | 2 +- > > drivers/net/phy/mdio_devres.c | 18 ++++++++++++++++++ > > include/linux/phy.h | 15 ++------------- > > 3 files changed, 21 insertions(+), 14 deletions(-) > > create mode 100644 drivers/net/phy/mdio_devres.c > > This would likely require an update to the MAINTAINERS file for this new > file to be picked up by the correct entry. It's already included in drivers/net/phy/ in the ETHERNET PHY LIBRARY entry. Bartosz
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 8c05d0fb5c00..62149945c5b3 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -313,20 +313,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);