diff options
Diffstat (limited to 'arch/powerpc/kernel/rtas.c')
| -rw-r--r-- | arch/powerpc/kernel/rtas.c | 22 |
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 | |||
| 805 | int __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 | } | ||
