aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/xics.h
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-09-19 13:45:02 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-09-20 02:09:59 -0400
commit5c7c1e9444d8bfb721a27a35bba3eeb5236c75d8 (patch)
treeb63c895e73bfb9b921a20acde8254c10656e99b4 /arch/powerpc/include/asm/xics.h
parent628daa8d5abfd904a7329a660c5c374212230123 (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/include/asm/xics.h')
-rw-r--r--arch/powerpc/include/asm/xics.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/xics.h b/arch/powerpc/include/asm/xics.h
index b183a4062011..bd6c401c0ee5 100644
--- a/arch/powerpc/include/asm/xics.h
+++ b/arch/powerpc/include/asm/xics.h
@@ -27,10 +27,18 @@
27#define MAX_NUM_PRIORITIES 3 27#define MAX_NUM_PRIORITIES 3
28 28
29/* Native ICP */ 29/* Native ICP */
30#ifdef CONFIG_PPC_ICP_NATIVE
30extern int icp_native_init(void); 31extern int icp_native_init(void);
32#else
33static inline int icp_native_init(void) { return -ENODEV; }
34#endif
31 35
32/* PAPR ICP */ 36/* PAPR ICP */
37#ifdef CONFIG_PPC_ICP_HV
33extern int icp_hv_init(void); 38extern int icp_hv_init(void);
39#else
40static inline int icp_hv_init(void) { return -ENODEV; }
41#endif
34 42
35/* ICP ops */ 43/* ICP ops */
36struct icp_ops { 44struct icp_ops {
@@ -51,7 +59,18 @@ extern const struct icp_ops *icp_ops;
51extern int ics_native_init(void); 59extern int ics_native_init(void);
52 60
53/* RTAS ICS */ 61/* RTAS ICS */
62#ifdef CONFIG_PPC_ICS_RTAS
54extern int ics_rtas_init(void); 63extern int ics_rtas_init(void);
64#else
65static inline int ics_rtas_init(void) { return -ENODEV; }
66#endif
67
68/* HAL ICS */
69#ifdef CONFIG_PPC_POWERNV
70extern int ics_opal_init(void);
71#else
72static inline int ics_opal_init(void) { return -ENODEV; }
73#endif
55 74
56/* ICS instance, hooked up to chip_data of an irq */ 75/* ICS instance, hooked up to chip_data of an irq */
57struct ics { 76struct ics {