diff options
Diffstat (limited to 'arch/powerpc/kernel/rtas.c')
| -rw-r--r-- | arch/powerpc/kernel/rtas.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c index 4a4cb5598402..77f1e06d208d 100644 --- a/arch/powerpc/kernel/rtas.c +++ b/arch/powerpc/kernel/rtas.c | |||
| @@ -569,6 +569,27 @@ int rtas_set_indicator(int indicator, int index, int new_value) | |||
| 569 | } | 569 | } |
| 570 | EXPORT_SYMBOL(rtas_set_indicator); | 570 | EXPORT_SYMBOL(rtas_set_indicator); |
| 571 | 571 | ||
| 572 | /* | ||
| 573 | * Ignoring RTAS extended delay | ||
| 574 | */ | ||
| 575 | int rtas_set_indicator_fast(int indicator, int index, int new_value) | ||
| 576 | { | ||
| 577 | int rc; | ||
| 578 | int token = rtas_token("set-indicator"); | ||
| 579 | |||
| 580 | if (token == RTAS_UNKNOWN_SERVICE) | ||
| 581 | return -ENOENT; | ||
| 582 | |||
| 583 | rc = rtas_call(token, 3, 1, NULL, indicator, index, new_value); | ||
| 584 | |||
| 585 | WARN_ON(rc == -2 || (rc >= 9900 && rc <= 9905)); | ||
| 586 | |||
| 587 | if (rc < 0) | ||
| 588 | return rtas_error_rc(rc); | ||
| 589 | |||
| 590 | return rc; | ||
| 591 | } | ||
| 592 | |||
| 572 | void rtas_restart(char *cmd) | 593 | void rtas_restart(char *cmd) |
| 573 | { | 594 | { |
| 574 | if (rtas_flash_term_hook) | 595 | if (rtas_flash_term_hook) |
