Create separate function to implement manual relocation of PHY driver
functions and make use of that function. This is a preparatory patch
for introduction of PHY driver definition using linker lists.

No functional change.

Signed-off-by: Marek Vasut <marek.vasut+rene...@mailbox.org>
---
Cc: "Ariel D'Alessandro" <ariel.dalessan...@collabora.com>
Cc: "Cédric Le Goater" <c...@kaod.org>
Cc: "Marek Behún" <ka...@kernel.org>
Cc: Alex Nemirovsky <alex.nemirov...@cortina-access.com>
Cc: Haolin Li <li.hao...@qq.com>
Cc: Heinrich Schuchardt <xypron.g...@gmx.de>
Cc: Joe Hershberger <joe.hershber...@ni.com>
Cc: Joel Stanley <j...@jms.id.au>
Cc: Josua Mayer <jo...@solid-run.com>
Cc: Marek Vasut <marek.vasut+rene...@mailbox.org>
Cc: Michael Trimarchi <mich...@amarulasolutions.com>
Cc: Michal Simek <michal.si...@amd.com>
Cc: Nate Drude <nat...@variscite.com>
Cc: Neil Armstrong <neil.armstr...@linaro.org>
Cc: Radu Pirea <radu-nicolae.pi...@oss.nxp.com>
Cc: Ramon Fried <rfried....@gmail.com>
Cc: Samuel Mendoza-Jonas <s...@mendozajonas.com>
Cc: Stefan Roese <s...@denx.de>
Cc: T Karthik Reddy <t.karthik.re...@xilinx.com>
Cc: Tim Harvey <thar...@gateworks.com>
Cc: Vladimir Oltean <vladimir.olt...@nxp.com>
Cc: u-boot-amlo...@groups.io
---
 drivers/net/phy/phy.c | 39 +++++++++++++++++++++++----------------
 1 file changed, 23 insertions(+), 16 deletions(-)

diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 80230b907c1..5097c32b829 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -470,6 +470,28 @@ static int genphy_init(void)
 
 static LIST_HEAD(phy_drivers);
 
+#ifdef CONFIG_NEEDS_MANUAL_RELOC
+static void phy_drv_reloc(struct phy_driver *drv)
+{
+       if (drv->probe)
+               drv->probe += gd->reloc_off;
+       if (drv->config)
+               drv->config += gd->reloc_off;
+       if (drv->startup)
+               drv->startup += gd->reloc_off;
+       if (drv->shutdown)
+               drv->shutdown += gd->reloc_off;
+       if (drv->readext)
+               drv->readext += gd->reloc_off;
+       if (drv->writeext)
+               drv->writeext += gd->reloc_off;
+       if (drv->read_mmd)
+               drv->read_mmd += gd->reloc_off;
+       if (drv->write_mmd)
+               drv->write_mmd += gd->reloc_off;
+}
+#endif
+
 int phy_init(void)
 {
 #ifdef CONFIG_NEEDS_MANUAL_RELOC
@@ -582,22 +604,7 @@ int phy_register(struct phy_driver *drv)
        list_add_tail(&drv->list, &phy_drivers);
 
 #ifdef CONFIG_NEEDS_MANUAL_RELOC
-       if (drv->probe)
-               drv->probe += gd->reloc_off;
-       if (drv->config)
-               drv->config += gd->reloc_off;
-       if (drv->startup)
-               drv->startup += gd->reloc_off;
-       if (drv->shutdown)
-               drv->shutdown += gd->reloc_off;
-       if (drv->readext)
-               drv->readext += gd->reloc_off;
-       if (drv->writeext)
-               drv->writeext += gd->reloc_off;
-       if (drv->read_mmd)
-               drv->read_mmd += gd->reloc_off;
-       if (drv->write_mmd)
-               drv->write_mmd += gd->reloc_off;
+       phy_drv_reloc(drv);
 #endif
        return 0;
 }
-- 
2.39.2

Reply via email to