diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-09-19 13:45:02 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-09-20 02:09:59 -0400 |
commit | 5c7c1e9444d8bfb721a27a35bba3eeb5236c75d8 (patch) | |
tree | b63c895e73bfb9b921a20acde8254c10656e99b4 /arch/powerpc/sysdev/xics/xics-common.c | |
parent | 628daa8d5abfd904a7329a660c5c374212230123 (diff) |
powerpc/powernv: Add OPAL ICS backend
OPAL handles HW access to the various ICS or equivalent chips
for us (with the exception of p5ioc2 based HEA which uses a
different backend) similarily to what RTAS does on pSeries.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/sysdev/xics/xics-common.c')
-rw-r--r-- | arch/powerpc/sysdev/xics/xics-common.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/powerpc/sysdev/xics/xics-common.c b/arch/powerpc/sysdev/xics/xics-common.c index 445c5a01b766..3d93a8ded0f8 100644 --- a/arch/powerpc/sysdev/xics/xics-common.c +++ b/arch/powerpc/sysdev/xics/xics-common.c | |||
@@ -409,14 +409,10 @@ void __init xics_init(void) | |||
409 | int rc = -1; | 409 | int rc = -1; |
410 | 410 | ||
411 | /* Fist locate ICP */ | 411 | /* Fist locate ICP */ |
412 | #ifdef CONFIG_PPC_ICP_HV | ||
413 | if (firmware_has_feature(FW_FEATURE_LPAR)) | 412 | if (firmware_has_feature(FW_FEATURE_LPAR)) |
414 | rc = icp_hv_init(); | 413 | rc = icp_hv_init(); |
415 | #endif | ||
416 | #ifdef CONFIG_PPC_ICP_NATIVE | ||
417 | if (rc < 0) | 414 | if (rc < 0) |
418 | rc = icp_native_init(); | 415 | rc = icp_native_init(); |
419 | #endif | ||
420 | if (rc < 0) { | 416 | if (rc < 0) { |
421 | pr_warning("XICS: Cannot find a Presentation Controller !\n"); | 417 | pr_warning("XICS: Cannot find a Presentation Controller !\n"); |
422 | return; | 418 | return; |
@@ -429,9 +425,9 @@ void __init xics_init(void) | |||
429 | xics_ipi_chip.irq_eoi = icp_ops->eoi; | 425 | xics_ipi_chip.irq_eoi = icp_ops->eoi; |
430 | 426 | ||
431 | /* Now locate ICS */ | 427 | /* Now locate ICS */ |
432 | #ifdef CONFIG_PPC_ICS_RTAS | ||
433 | rc = ics_rtas_init(); | 428 | rc = ics_rtas_init(); |
434 | #endif | 429 | if (rc < 0) |
430 | rc = ics_opal_init(); | ||
435 | if (rc < 0) | 431 | if (rc < 0) |
436 | pr_warning("XICS: Cannot find a Source Controller !\n"); | 432 | pr_warning("XICS: Cannot find a Source Controller !\n"); |
437 | 433 | ||