diff options
author | Michal Simek <michal.simek@xilinx.com> | 2015-10-27 12:48:08 (GMT) |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2015-11-19 12:10:16 (GMT) |
commit | 31e1029a8ee13ab4b4a73e72ec7a730eb9c661b9 (patch) | |
tree | c76214f04dccf4beb9887366596e04b3e0c4fec6 | |
parent | 281f1566b82519ad896f3196932102314575d035 (diff) | |
download | u-boot-31e1029a8ee13ab4b4a73e72ec7a730eb9c661b9.tar.xz |
dm: core: Add missing entries for manual relocation
Patches:
"dm: core: Add a post_bind method for parents"
(sha1: 0118ce79577f9b0881f99a6e4f8a79cd5014cb87)
"dm: core: Add a uclass pre_probe() method for devices"
(sha1: 02c07b3741f1b825934b1a6eb8f23530532dc426)
"dm: core: Allow the uclass to set up a device's child after binding"
(sha1: 081f2fcbd9a95ba10677065359791f8fea3f8c58)
"dm: core: Allow uclass to set up a device's child before it is probed"
(sha1: 83c7e434c9dd3ca81f8b763e23c1881b973bcf2f)
Adds new entries to struct driver and struct uclass_driver without
extending code for manual relocation. This patch fixes it for all
architectures which requires MANUAL_RELOC.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | drivers/core/root.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/core/root.c b/drivers/core/root.c index bdb394a..e7b1f24 100644 --- a/drivers/core/root.c +++ b/drivers/core/root.c @@ -59,6 +59,8 @@ void fix_drivers(void) entry->unbind += gd->reloc_off; if (entry->ofdata_to_platdata) entry->ofdata_to_platdata += gd->reloc_off; + if (entry->child_post_bind) + entry->child_post_bind += gd->reloc_off; if (entry->child_pre_probe) entry->child_pre_probe += gd->reloc_off; if (entry->child_post_remove) @@ -81,10 +83,16 @@ void fix_uclass(void) entry->post_bind += gd->reloc_off; if (entry->pre_unbind) entry->pre_unbind += gd->reloc_off; + if (entry->pre_probe) + entry->pre_probe += gd->reloc_off; if (entry->post_probe) entry->post_probe += gd->reloc_off; if (entry->pre_remove) entry->pre_remove += gd->reloc_off; + if (entry->child_post_bind) + entry->child_post_bind += gd->reloc_off; + if (entry->child_pre_probe) + entry->child_pre_probe += gd->reloc_off; if (entry->init) entry->init += gd->reloc_off; if (entry->destroy) |