]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: phy: fixed_phy: remove fixed_phy_add
authorHeiner Kallweit <hkallweit1@gmail.com>
Thu, 30 Oct 2025 21:46:32 +0000 (22:46 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 5 Nov 2025 02:46:14 +0000 (18:46 -0800)
fixed_phy_add() has a number of problems/disadvantages:
- It uses phy address 0 w/o checking whether a fixed phy with this
  address exists already.
- A subsequent call to fixed_phy_register() would also use phy address 0,
  because fixed_phy_add() doesn't mark it as used.
- fixed_phy_add() is used from platform code, therefore requires that
  fixed_phy code is built-in.

Now that for the only two users (coldfire/5272 and bcm47xx) fixed_phy
creation has been moved to the respective ethernet driver (fec, b44),
we can remove fixed_phy_add().

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://patch.msgid.link/bee046a1-1e77-4057-8b04-fdb2a1bbbd08@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/fixed_phy.c
include/linux/phy_fixed.h

index bdc3a4bffededc1d560b6c367f8ca0efa448504e..d498d8a9bba6fe83803e06a4df340397a9a1e4c9 100644 (file)
@@ -131,12 +131,6 @@ static int __fixed_phy_add(int phy_addr,
        return 0;
 }
 
-void fixed_phy_add(const struct fixed_phy_status *status)
-{
-       __fixed_phy_add(0, status);
-}
-EXPORT_SYMBOL_GPL(fixed_phy_add);
-
 static DEFINE_IDA(phy_fixed_ida);
 
 static void fixed_phy_del(int phy_addr)
index 08275ef641478e49a32bd0fbc0e26b994368af55..8bade999831c86fbe1121a69ffbdad0e2a51ad90 100644 (file)
@@ -17,7 +17,6 @@ struct net_device;
 
 #if IS_ENABLED(CONFIG_FIXED_PHY)
 extern int fixed_phy_change_carrier(struct net_device *dev, bool new_carrier);
-void fixed_phy_add(const struct fixed_phy_status *status);
 struct phy_device *fixed_phy_register(const struct fixed_phy_status *status,
                                      struct device_node *np);
 struct phy_device *fixed_phy_register_100fd(void);
@@ -27,7 +26,6 @@ extern int fixed_phy_set_link_update(struct phy_device *phydev,
                        int (*link_update)(struct net_device *,
                                           struct fixed_phy_status *));
 #else
-static inline void fixed_phy_add(const struct fixed_phy_status *status) {}
 static inline struct phy_device *
 fixed_phy_register(const struct fixed_phy_status *status,
                   struct device_node *np)