net: phy: Only call phy_init() on systems needing manual relocation
The phy_init() is now used only to perform manual relocation of PHY
driver callbacks. Wrap it in ifdeffery and only call it on systems
which still require manual relocation, i.e. m68k .
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Acked-by: Michal Simek <michal.simek@amd.com>
Tested-by: Michal Simek <michal.simek@amd.com> #microblaze (MANUAL_RELOC)
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 61603f2..9b0e497 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -463,9 +463,9 @@
.shutdown = genphy_shutdown,
};
+#ifdef CONFIG_NEEDS_MANUAL_RELOC
int phy_init(void)
{
-#ifdef CONFIG_NEEDS_MANUAL_RELOC
const int ll_n_ents = ll_entry_count(struct phy_driver, phy_driver);
struct phy_driver *drv, *ll_entry;
@@ -489,10 +489,10 @@
if (drv->write_mmd)
drv->write_mmd += gd->reloc_off;
}
-#endif
return 0;
}
+#endif
int phy_set_supported(struct phy_device *phydev, u32 max_speed)
{
diff --git a/net/eth_common.c b/net/eth_common.c
index 82d527a..c94a7ba 100644
--- a/net/eth_common.c
+++ b/net/eth_common.c
@@ -37,7 +37,7 @@
miiphy_init();
#endif
-#ifdef CONFIG_PHYLIB
+#if defined(CONFIG_NEEDS_MANUAL_RELOC) && defined(CONFIG_PHYLIB)
phy_init();
#endif
#endif