diff options
Diffstat (limited to 'kernel/arch/powerpc/sysdev/qe_lib')
-rw-r--r-- | kernel/arch/powerpc/sysdev/qe_lib/qe_ic.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/kernel/arch/powerpc/sysdev/qe_lib/qe_ic.c b/kernel/arch/powerpc/sysdev/qe_lib/qe_ic.c index 543765e1e..ef36f16f9 100644 --- a/kernel/arch/powerpc/sysdev/qe_lib/qe_ic.c +++ b/kernel/arch/powerpc/sysdev/qe_lib/qe_ic.c @@ -244,10 +244,12 @@ static struct irq_chip qe_ic_irq_chip = { .irq_mask_ack = qe_ic_mask_irq, }; -static int qe_ic_host_match(struct irq_domain *h, struct device_node *node) +static int qe_ic_host_match(struct irq_domain *h, struct device_node *node, + enum irq_domain_bus_token bus_token) { /* Exact match, unless qe_ic node is NULL */ - return h->of_node == NULL || h->of_node == node; + struct device_node *of_node = irq_domain_get_of_node(h); + return of_node == NULL || of_node == node; } static int qe_ic_host_map(struct irq_domain *h, unsigned int virq, @@ -271,7 +273,7 @@ static int qe_ic_host_map(struct irq_domain *h, unsigned int virq, return 0; } -static struct irq_domain_ops qe_ic_host_ops = { +static const struct irq_domain_ops qe_ic_host_ops = { .match = qe_ic_host_match, .map = qe_ic_host_map, .xlate = irq_domain_xlate_onetwocell, @@ -310,8 +312,8 @@ unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) } void __init qe_ic_init(struct device_node *node, unsigned int flags, - void (*low_handler)(unsigned int irq, struct irq_desc *desc), - void (*high_handler)(unsigned int irq, struct irq_desc *desc)) + void (*low_handler)(struct irq_desc *desc), + void (*high_handler)(struct irq_desc *desc)) { struct qe_ic *qe_ic; struct resource res; |