mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
net: phy: Factor manual relocation into separate function
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> Acked-by: Michal Simek <michal.simek@amd.com> Tested-by: Michal Simek <michal.simek@amd.com> #microblaze (MANUAL_RELOC)
This commit is contained in:
parent
d1569689c6
commit
9d5a38c214
1 changed files with 23 additions and 16 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue