]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: mdio: improve reset handling in mdio_device.c
authorBuday Csaba <buday.csaba@prolan.hu>
Tue, 18 Nov 2025 13:58:54 +0000 (14:58 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 21 Nov 2025 01:41:39 +0000 (17:41 -0800)
Change fwnode_property_read_u32() in mdio_device_register_reset()
to device_property_read_u32(), which is more appropriate here.

Make mdio_device_unregister_reset() truly reverse
mdio_device_register_reset() by setting the internal fields to
their default values.

Signed-off-by: Buday Csaba <buday.csaba@prolan.hu>
Link: https://patch.msgid.link/641df1488517ae71ba10158ec1e38424211d8651.1763473655.git.buday.csaba@prolan.hu
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/mdio_device.c

index a4d9c6ccf8766283280c9344fd3b3f705cbc8cf5..fd0e16dbc5ccfa4aa8417097e8b079f7c01b538c 100644 (file)
@@ -149,9 +149,9 @@ int mdio_device_register_reset(struct mdio_device *mdiodev)
        mdiodev->reset_ctrl = reset;
 
        /* Read optional firmware properties */
-       fwnode_property_read_u32(dev_fwnode(&mdiodev->dev), "reset-assert-us",
+       device_property_read_u32(&mdiodev->dev, "reset-assert-us",
                                 &mdiodev->reset_assert_delay);
-       fwnode_property_read_u32(dev_fwnode(&mdiodev->dev), "reset-deassert-us",
+       device_property_read_u32(&mdiodev->dev, "reset-deassert-us",
                                 &mdiodev->reset_deassert_delay);
 
        return 0;
@@ -165,7 +165,11 @@ int mdio_device_register_reset(struct mdio_device *mdiodev)
 void mdio_device_unregister_reset(struct mdio_device *mdiodev)
 {
        gpiod_put(mdiodev->reset_gpio);
+       mdiodev->reset_gpio = NULL;
        reset_control_put(mdiodev->reset_ctrl);
+       mdiodev->reset_ctrl = NULL;
+       mdiodev->reset_assert_delay = 0;
+       mdiodev->reset_deassert_delay = 0;
 }
 
 void mdio_device_reset(struct mdio_device *mdiodev, int value)