]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: phy: assign default match function for non-PHY MDIO devices
authorHeiner Kallweit <hkallweit1@gmail.com>
Tue, 10 Jun 2025 06:03:43 +0000 (08:03 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 13 Jun 2025 01:12:37 +0000 (18:12 -0700)
Make mdio_device_bus_match() the default match function for non-PHY
MDIO devices. Benefit is that we don't have to export this function
any longer. As long as mdiodev->modalias isn't set, there's no change
in behavior. mdiobus_create_device() is the only place where
mdiodev->modalias gets set, but this function sets
mdio_device_bus_match() as match function anyway.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://patch.msgid.link/6c94e3d3-bfb0-4ddc-a518-6fddbc64e1d0@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/mdio_bus_provider.c
drivers/net/phy/mdio_device.c
include/linux/mdio.h

index 65850e36284de3c3ed5a215f1183f5d823869154..48dc4bf8512542d51eb1babde59a38c7468e3ac5 100644 (file)
@@ -152,7 +152,6 @@ static int mdiobus_create_device(struct mii_bus *bus,
 
        strscpy(mdiodev->modalias, bi->modalias,
                sizeof(mdiodev->modalias));
-       mdiodev->bus_match = mdio_device_bus_match;
        mdiodev->dev.platform_data = (void *)bi->platform_data;
 
        ret = mdio_device_register(mdiodev);
index cce3f405d1a4c78f0a9ef453ed0cf78cf9814b52..f64176e0e197f2f84f826255667793ff60c81152 100644 (file)
@@ -35,7 +35,8 @@ static void mdio_device_release(struct device *dev)
        kfree(to_mdio_device(dev));
 }
 
-int mdio_device_bus_match(struct device *dev, const struct device_driver *drv)
+static int mdio_device_bus_match(struct device *dev,
+                                const struct device_driver *drv)
 {
        struct mdio_device *mdiodev = to_mdio_device(dev);
        const struct mdio_driver *mdiodrv = to_mdio_driver(drv);
@@ -45,7 +46,6 @@ int mdio_device_bus_match(struct device *dev, const struct device_driver *drv)
 
        return strcmp(mdiodev->modalias, drv->name) == 0;
 }
-EXPORT_SYMBOL_GPL(mdio_device_bus_match);
 
 struct mdio_device *mdio_device_create(struct mii_bus *bus, int addr)
 {
@@ -59,6 +59,7 @@ struct mdio_device *mdio_device_create(struct mii_bus *bus, int addr)
        mdiodev->dev.release = mdio_device_release;
        mdiodev->dev.parent = &bus->dev;
        mdiodev->dev.bus = &mdio_bus_type;
+       mdiodev->bus_match = mdio_device_bus_match;
        mdiodev->device_free = mdio_device_free;
        mdiodev->device_remove = mdio_device_remove;
        mdiodev->bus = bus;
index e43ff9f980a46b5ba56af013864fa3b8fbe34bfd..c640ba44dd6eed4cf9521aea1bff2cbf4cd1cea7 100644 (file)
@@ -95,7 +95,6 @@ void mdio_device_remove(struct mdio_device *mdiodev);
 void mdio_device_reset(struct mdio_device *mdiodev, int value);
 int mdio_driver_register(struct mdio_driver *drv);
 void mdio_driver_unregister(struct mdio_driver *drv);
-int mdio_device_bus_match(struct device *dev, const struct device_driver *drv);
 
 static inline void mdio_device_get(struct mdio_device *mdiodev)
 {