]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: phy: remove unused fixup unregistering functions
authorHeiner Kallweit <hkallweit1@gmail.com>
Tue, 13 Jan 2026 07:23:17 +0000 (08:23 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 16 Jan 2026 03:48:26 +0000 (19:48 -0800)
No user of PHY fixups unregisters these. IOW: The fixup unregistering
functions are unused and can be removed. Remove also documentation
for these functions. Whilst at it, remove also mentioning of
phy_register_fixup() from the Documentation, as this function has been
static since ea47e70e476f ("net: phy: remove fixup-related definitions
from phy.h which are not used outside phylib").

Fixup unregistering functions were added with f38e7a32ee4f
("phy: add phy fixup unregister functions") in 2016, and last user
was removed with 6782d06a47ad ("net: usb: lan78xx: Remove KSZ9031 PHY
fixup") in 2024.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://patch.msgid.link/ff8ac321-435c-48d0-b376-fbca80c0c22e@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/networking/phy.rst
drivers/net/phy/phy_device.c
include/linux/phy.h

index b0f2ef83735da4f0f202ec6fb9faaeb04d3d3dbe..0170c9d4dc5e8b04ddf91da5c5f6a1d3cdc89112 100644 (file)
@@ -524,33 +524,13 @@ When a match is found, the PHY layer will invoke the run function associated
 with the fixup.  This function is passed a pointer to the phy_device of
 interest.  It should therefore only operate on that PHY.
 
-The platform code can either register the fixup using phy_register_fixup()::
-
-       int phy_register_fixup(const char *phy_id,
-               u32 phy_uid, u32 phy_uid_mask,
-               int (*run)(struct phy_device *));
-
-Or using one of the two stubs, phy_register_fixup_for_uid() and
-phy_register_fixup_for_id()::
+The platform code can register the fixup using one of::
 
  int phy_register_fixup_for_uid(u32 phy_uid, u32 phy_uid_mask,
                int (*run)(struct phy_device *));
  int phy_register_fixup_for_id(const char *phy_id,
                int (*run)(struct phy_device *));
 
-The stubs set one of the two matching criteria, and set the other one to
-match anything.
-
-When phy_register_fixup() or \*_for_uid()/\*_for_id() is called at module load
-time, the module needs to unregister the fixup and free allocated memory when
-it's unloaded.
-
-Call one of following function before unloading module::
-
- int phy_unregister_fixup(const char *phy_id, u32 phy_uid, u32 phy_uid_mask);
- int phy_unregister_fixup_for_uid(u32 phy_uid, u32 phy_uid_mask);
- int phy_register_fixup_for_id(const char *phy_id);
-
 Standards
 =========
 
index 85e2ba40114046cbcbe43da2234e3946dd028a56..0e19482455d93699b14b234c97451a1786096d35 100644 (file)
@@ -475,52 +475,6 @@ int phy_register_fixup_for_id(const char *bus_id,
 }
 EXPORT_SYMBOL(phy_register_fixup_for_id);
 
-/**
- * phy_unregister_fixup - remove a phy_fixup from the list
- * @bus_id: A string matches fixup->bus_id (or PHY_ANY_ID) in phy_fixup_list
- * @phy_uid: A phy id matches fixup->phy_id (or PHY_ANY_UID) in phy_fixup_list
- * @phy_uid_mask: Applied to phy_uid and fixup->phy_uid before comparison
- */
-int phy_unregister_fixup(const char *bus_id, u32 phy_uid, u32 phy_uid_mask)
-{
-       struct list_head *pos, *n;
-       struct phy_fixup *fixup;
-       int ret;
-
-       ret = -ENODEV;
-
-       mutex_lock(&phy_fixup_lock);
-       list_for_each_safe(pos, n, &phy_fixup_list) {
-               fixup = list_entry(pos, struct phy_fixup, list);
-
-               if ((!strcmp(fixup->bus_id, bus_id)) &&
-                   phy_id_compare(fixup->phy_uid, phy_uid, phy_uid_mask)) {
-                       list_del(&fixup->list);
-                       kfree(fixup);
-                       ret = 0;
-                       break;
-               }
-       }
-       mutex_unlock(&phy_fixup_lock);
-
-       return ret;
-}
-EXPORT_SYMBOL(phy_unregister_fixup);
-
-/* Unregisters a fixup of any PHY with the UID in phy_uid */
-int phy_unregister_fixup_for_uid(u32 phy_uid, u32 phy_uid_mask)
-{
-       return phy_unregister_fixup(PHY_ANY_ID, phy_uid, phy_uid_mask);
-}
-EXPORT_SYMBOL(phy_unregister_fixup_for_uid);
-
-/* Unregisters a fixup of the PHY with id string bus_id */
-int phy_unregister_fixup_for_id(const char *bus_id)
-{
-       return phy_unregister_fixup(bus_id, PHY_ANY_UID, 0xffffffff);
-}
-EXPORT_SYMBOL(phy_unregister_fixup_for_id);
-
 /* Returns 1 if fixup matches phydev in bus_id and phy_uid.
  * Fixups can be set to match any in one or more fields.
  */
index 3beb5dbba7918c3e2cc7d83a990a5e9c5aae5872..5972f19af16dad29f24758914c8a2c979f9d6f29 100644 (file)
@@ -2405,10 +2405,6 @@ int phy_register_fixup_for_id(const char *bus_id,
 int phy_register_fixup_for_uid(u32 phy_uid, u32 phy_uid_mask,
                               int (*run)(struct phy_device *));
 
-int phy_unregister_fixup(const char *bus_id, u32 phy_uid, u32 phy_uid_mask);
-int phy_unregister_fixup_for_id(const char *bus_id);
-int phy_unregister_fixup_for_uid(u32 phy_uid, u32 phy_uid_mask);
-
 int phy_eee_tx_clock_stop_capable(struct phy_device *phydev);
 int phy_eee_rx_clock_stop(struct phy_device *phydev, bool clk_stop_enable);
 int phy_init_eee(struct phy_device *phydev, bool clk_stop_enable);