Messages in this thread Patch in this message | | | From | Antonio Borneo <> | Subject | [PATCH] genirq: Don't return error on missing optional irq_request_resources() | Date | Thu, 12 May 2022 18:05:44 +0200 |
| |
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> ---
As follow-up of discussion in https://lore.kernel.org/lkml/875ymd6xdu.wl-maz@kernel.org/ here is a proposal for changing the returned value.
A similar issue is present for the optional function irq_set_vcpu_affinity(), to be covered separately, if needed.
--- kernel/irq/chip.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 54af0deb239b..eb921485930f 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -1513,7 +1513,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); base-commit: c5eb0a61238dd6faf37f58c9ce61c9980aaffd7a -- 2.36.0
| |