diff options
Diffstat (limited to 'core/ipmi-opal.c')
-rw-r--r-- | core/ipmi-opal.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/core/ipmi-opal.c b/core/ipmi-opal.c index d8df8f7b..c7395468 100644 --- a/core/ipmi-opal.c +++ b/core/ipmi-opal.c @@ -127,7 +127,7 @@ out_unlock: void ipmi_opal_init(void) { - struct dt_node *opal_ipmi; + struct dt_node *opal_ipmi, *opal_event = NULL; opal_ipmi = dt_new(opal_node, "ipmi"); dt_add_property_strings(opal_ipmi, "compatible", "ibm,opal-ipmi"); @@ -136,6 +136,12 @@ void ipmi_opal_init(void) dt_add_property_cells(opal_ipmi, "interrupts", ilog2(ipmi_backend->opal_event_ipmi_recv)); + if (proc_gen >= proc_gen_p9) + opal_event = dt_find_by_name(opal_node, "event"); + if (opal_event) + dt_add_property_cells(opal_ipmi, "interrupt-parent", + opal_event->phandle); + opal_register(OPAL_IPMI_SEND, opal_ipmi_send, 3); opal_register(OPAL_IPMI_RECV, opal_ipmi_recv, 3); } |