
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+renesas@mailbox.org --- Cc: "Ariel D'Alessandro" ariel.dalessandro@collabora.com Cc: "Cédric Le Goater" clg@kaod.org Cc: "Marek Behún" kabel@kernel.org Cc: Alex Nemirovsky alex.nemirovsky@cortina-access.com Cc: Haolin Li li.haolin@qq.com Cc: Heinrich Schuchardt xypron.glpk@gmx.de Cc: Joe Hershberger joe.hershberger@ni.com Cc: Joel Stanley joel@jms.id.au Cc: Josua Mayer josua@solid-run.com Cc: Marek Vasut marek.vasut+renesas@mailbox.org Cc: Michael Trimarchi michael@amarulasolutions.com Cc: Michal Simek michal.simek@amd.com Cc: Nate Drude nate.d@variscite.com Cc: Neil Armstrong neil.armstrong@linaro.org Cc: Radu Pirea radu-nicolae.pirea@oss.nxp.com Cc: Ramon Fried rfried.dev@gmail.com Cc: Samuel Mendoza-Jonas sam@mendozajonas.com Cc: Stefan Roese sr@denx.de Cc: T Karthik Reddy t.karthik.reddy@xilinx.com Cc: Tim Harvey tharvey@gateworks.com Cc: Vladimir Oltean vladimir.oltean@nxp.com Cc: u-boot-amlogic@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; }