projects
/
project
/
bcm63xx
/
u-boot.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
946205a
)
sysreset: dm: Support manual relocation for sysreset
author
Michal Simek
<
[email protected]
>
Thu, 12 Jul 2018 08:36:07 +0000
(10:36 +0200)
committer
Michal Simek
<
[email protected]
>
Thu, 19 Jul 2018 08:49:54 +0000
(10:49 +0200)
Relocate sysreset ops as was done by:
"dm: Add support for all targets which requires MANUAL_RELOC"
(sha1:
484fdf5ba058b07be5ca82763aa2b72063540ef3
)
Signed-off-by: Michal Simek <
[email protected]
>
Reviewed-by: Simon Glass <
[email protected]
>
drivers/sysreset/sysreset-uclass.c
patch
|
blob
|
history
diff --git
a/drivers/sysreset/sysreset-uclass.c
b/drivers/sysreset/sysreset-uclass.c
index 7e06c3c90a7124e362f1daaa4e08fc3db895b709..840eab6b57035baa3e1b8ae9276cdb411a4d16dc 100644
(file)
--- a/
drivers/sysreset/sysreset-uclass.c
+++ b/
drivers/sysreset/sysreset-uclass.c
@@
-74,7
+74,23
@@
int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return 0;
}
+static int sysreset_post_bind(struct udevice *dev)
+{
+#if defined(CONFIG_NEEDS_MANUAL_RELOC)
+ struct sysreset_ops *ops = sysreset_get_ops(dev);
+ static int reloc_done;
+
+ if (!reloc_done) {
+ if (ops->request)
+ ops->request += gd->reloc_off;
+ reloc_done++;
+ }
+#endif
+ return 0;
+}
+
UCLASS_DRIVER(sysreset) = {
.id = UCLASS_SYSRESET,
.name = "sysreset",
+ .post_bind = sysreset_post_bind,
};