aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/rtas.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/rtas.c')
-rw-r--r--arch/powerpc/kernel/rtas.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
index b6aed765966a..061d8afd246e 100644
--- a/arch/powerpc/kernel/rtas.c
+++ b/arch/powerpc/kernel/rtas.c
@@ -801,3 +801,25 @@ void __init rtas_initialize(void)
801 rtas_last_error_token = rtas_token("rtas-last-error"); 801 rtas_last_error_token = rtas_token("rtas-last-error");
802#endif 802#endif
803} 803}
804
805int __init early_init_dt_scan_rtas(unsigned long node,
806 const char *uname, int depth, void *data)
807{
808 u32 *basep, *entryp, *sizep;
809
810 if (depth != 1 || strcmp(uname, "rtas") != 0)
811 return 0;
812
813 basep = of_get_flat_dt_prop(node, "linux,rtas-base", NULL);
814 entryp = of_get_flat_dt_prop(node, "linux,rtas-entry", NULL);
815 sizep = of_get_flat_dt_prop(node, "rtas-size", NULL);
816
817 if (basep && entryp && sizep) {
818 rtas.base = *basep;
819 rtas.entry = *entryp;
820 rtas.size = *sizep;
821 }
822
823 /* break now */
824 return 1;
825}