|
@@ -21,6 +21,8 @@
|
|
|
#include <linux/err.h>
|
|
|
#include <linux/compiler.h>
|
|
|
|
|
|
+DECLARE_GLOBAL_DATA_PTR;
|
|
|
+
|
|
|
/* Generic PHY support and helper functions */
|
|
|
|
|
|
/**
|
|
@@ -494,6 +496,20 @@ int phy_register(struct phy_driver *drv)
|
|
|
INIT_LIST_HEAD(&drv->list);
|
|
|
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;
|
|
|
+#endif
|
|
|
return 0;
|
|
|
}
|
|
|
|