On 07/01/2020 09:04 PM, Markus Elfring wrote:
If remove the local variable "ret", it will look like this:
…
+++ b/drivers/irqchip/irq-csky-apb-intc.c
…
@@ -118,18 +116,23 @@ ck_intc_init_comm(struct device_node *node, struct device_node *parent)
…
- ret = irq_alloc_domain_generic_chips(root_domain, 32, 1,
+ if (irq_alloc_domain_generic_chips(root_domain, 32, 1,
"csky_intc", handle_level_irq,
- IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN, 0, 0);
- if (ret) {
+ IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN, 0, 0)) {
pr_err("C-SKY Intc irq_alloc_gc failed.\n");
…
I suggest to recheck the parameter alignment for such a function call.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst?id=7c30b859a947535f2213277e827d7ac7dcff9c84#n93
OK, thank you, like this:
- ret = irq_alloc_domain_generic_chips(root_domain, 32, 1,
- "csky_intc", handle_level_irq,
- IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN, 0, 0);
- if (ret) {
+ if (irq_alloc_domain_generic_chips(root_domain, 32, 1,
+ "csky_intc", handle_level_irq,
+ IRQ_NOREQUEST | IRQ_NOPROBE |
IRQ_NOAUTOEN, 0, 0)) {
pr_err("C-SKY Intc irq_alloc_gc failed.\n");
- return -ENOMEM;
+ goto err_domain_remove;
}
Regards,
Markus