summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2025-11-04 18:46:15 -0800
committerJakub Kicinski <kuba@kernel.org>2025-11-04 18:46:15 -0800
commitbd0fa860730861bd6482b7acc5d39fd1e15c7453 (patch)
tree39fd79f43414e14725178436fd1a1ebf441d6dbb /include
parent907c46ae20cd1a8f2fe2cd732a6089d115a36cf5 (diff)
parent5de9ea1c50f061892625388880e83fdc50a4ef66 (diff)
Merge branch 'net-phy-remove-fixed_phy_add-and-first-its-users'
Heiner Kallweit says: ==================== net: phy: remove fixed_phy_add and first its users 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. fixed_phy_add() has only two users - coldfire/5272, using fec - bcm47xx, using b44 So migrate fec and b44 to use fixed_phy_register_100fd(), afterwards remove usage of fixed_phy_add() from the two platforms, and eventually remove fixed_phy_add(). ==================== Link: https://patch.msgid.link/0285fcb0-0fb5-4f6f-823c-7b6e85e28ba3@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/phy_fixed.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/phy_fixed.h b/include/linux/phy_fixed.h
index d17ff750c708..8bade999831c 100644
--- a/include/linux/phy_fixed.h
+++ b/include/linux/phy_fixed.h
@@ -17,16 +17,15 @@ 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);
extern void fixed_phy_unregister(struct phy_device *phydev);
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)
@@ -34,6 +33,11 @@ fixed_phy_register(const struct fixed_phy_status *status,
return ERR_PTR(-ENODEV);
}
+static inline struct phy_device *fixed_phy_register_100fd(void)
+{
+ return ERR_PTR(-ENODEV);
+}
+
static inline void fixed_phy_unregister(struct phy_device *phydev)
{
}