--- zzzz-none-000/linux-3.10.107/arch/powerpc/platforms/embedded6xx/hlwd-pic.c 2017-06-27 09:49:32.000000000 +0000 +++ scorpion-7490-727/linux-3.10.107/arch/powerpc/platforms/embedded6xx/hlwd-pic.c 2021-02-04 17:41:59.000000000 +0000 @@ -15,9 +15,10 @@ #define pr_fmt(fmt) DRV_MODULE_NAME ": " fmt #include -#include #include #include +#include +#include #include #include "hlwd-pic.h" @@ -119,11 +120,10 @@ return irq_linear_revmap(h, irq); } -static void hlwd_pic_irq_cascade(unsigned int cascade_virq, - struct irq_desc *desc) +static void hlwd_pic_irq_cascade(struct irq_desc *desc) { struct irq_chip *chip = irq_desc_get_chip(desc); - struct irq_domain *irq_domain = irq_get_handler_data(cascade_virq); + struct irq_domain *irq_domain = irq_desc_get_handler_data(desc); unsigned int virq; raw_spin_lock(&desc->lock); @@ -181,6 +181,7 @@ &hlwd_irq_domain_ops, io_base); if (!irq_domain) { pr_err("failed to allocate irq_domain\n"); + iounmap(io_base); return NULL; }