]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
genirq: Don't return error on missing optional irq_request_resources()
authorAntonio Borneo <antonio.borneo@foss.st.com>
Thu, 12 May 2022 16:05:44 +0000 (18:05 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 21 Aug 2022 13:15:28 +0000 (15:15 +0200)
[ Upstream commit 95001b756467ecc9f5973eb5e74e97699d9bbdf1 ]

Function irq_chip::irq_request_resources() is reported as optional
in the declaration of struct irq_chip.
If the parent irq_chip does not implement it, we should ignore it
and return.

Don't return error if the functions is missing.

Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220512160544.13561-1-antonio.borneo@foss.st.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/irq/chip.c

index 0b70811fd95616b7eb331e5cfc94650b05133e03..621d8dd157bc14cb43e26e7622b444a0a7df392d 100644 (file)
@@ -1543,7 +1543,8 @@ int irq_chip_request_resources_parent(struct irq_data *data)
        if (data->chip->irq_request_resources)
                return data->chip->irq_request_resources(data);
 
-       return -ENOSYS;
+       /* no error on missing optional irq_chip::irq_request_resources */
+       return 0;
 }
 EXPORT_SYMBOL_GPL(irq_chip_request_resources_parent);