From: Buday Csaba Date: Tue, 18 Nov 2025 13:58:54 +0000 (+0100) Subject: net: mdio: improve reset handling in mdio_device.c X-Git-Tag: v6.19-rc1~170^2~111^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e5a440bf020ef9ee11d442159bd394d66250db30;p=thirdparty%2Fkernel%2Flinux.git net: mdio: improve reset handling in mdio_device.c 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 Link: https://patch.msgid.link/641df1488517ae71ba10158ec1e38424211d8651.1763473655.git.buday.csaba@prolan.hu Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/phy/mdio_device.c b/drivers/net/phy/mdio_device.c index a4d9c6ccf8766..fd0e16dbc5ccf 100644 --- a/drivers/net/phy/mdio_device.c +++ b/drivers/net/phy/mdio_device.c @@ -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)