From patchwork Sat Jan 2 17:58:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Lackorzynski X-Patchwork-Id: 1421770 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=l4re.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4D7VWt651Gz9sVb for ; Sun, 3 Jan 2021 05:18:50 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726619AbhABSSe (ORCPT ); Sat, 2 Jan 2021 13:18:34 -0500 Received: from os.inf.tu-dresden.de ([141.76.48.99]:44574 "EHLO os.inf.tu-dresden.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726617AbhABSSd (ORCPT ); Sat, 2 Jan 2021 13:18:33 -0500 X-Greylist: delayed 1117 seconds by postgrey-1.27 at vger.kernel.org; Sat, 02 Jan 2021 13:18:33 EST Received: from erwin.inf.tu-dresden.de ([141.76.48.80] helo=l4re.org) by os.inf.tu-dresden.de with esmtp (Exim 4.94) id 1kvlB9-0007bz-Co; Sat, 02 Jan 2021 18:59:03 +0100 From: Adam Lackorzynski To: maz@kernel.org, tglx@linutronix.de Cc: linux-arm-kernel@lists.infradead.org, linusw@kernel.org, kaloz@openwrt.org, khalasa@piap.pl, andrew@lunn.ch, gregory.clement@bootlin.com, sebastian.hesselbarth@gmail.com, linux-gpio@vger.kernel.org, bgolaszewski@baylibre.com Subject: [PATCH 1/6] irqchip/bcm2836: Fix return check in IPI alloc Date: Sat, 2 Jan 2021 18:58:54 +0100 Message-Id: <20210102175859.335447-1-adam@l4re.org> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org __irq_domain_alloc_irqs returns a negative error code upon failure, not only 0. Also use irq_domain_alloc_irqs to require less default arguments. Signed-off-by: Adam Lackorzynski --- drivers/irqchip/irq-bcm2836.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c index 5f5eb8877c41..e5878eadf90b 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c @@ -268,11 +268,10 @@ static void __init bcm2836_arm_irqchip_smp_init(void) ipi_domain->flags |= IRQ_DOMAIN_FLAG_IPI_SINGLE; irq_domain_update_bus_token(ipi_domain, DOMAIN_BUS_IPI); - base_ipi = __irq_domain_alloc_irqs(ipi_domain, -1, BITS_PER_MBOX, - NUMA_NO_NODE, NULL, - false, NULL); + base_ipi = irq_domain_alloc_irqs(ipi_domain, BITS_PER_MBOX, + NUMA_NO_NODE, NULL); - if (WARN_ON(!base_ipi)) + if (WARN_ON(base_ipi <= 0)) return; set_smp_ipi_range(base_ipi, BITS_PER_MBOX); From patchwork Sat Jan 2 17:58:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Lackorzynski X-Patchwork-Id: 1421771 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=l4re.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4D7VXt2ckyz9sVb for ; Sun, 3 Jan 2021 05:19:41 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726627AbhABSTR (ORCPT ); Sat, 2 Jan 2021 13:19:17 -0500 Received: from os.inf.tu-dresden.de ([141.76.48.99]:44610 "EHLO os.inf.tu-dresden.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726617AbhABSTQ (ORCPT ); Sat, 2 Jan 2021 13:19:16 -0500 Received: from erwin.inf.tu-dresden.de ([141.76.48.80] helo=l4re.org) by os.inf.tu-dresden.de with esmtp (Exim 4.94) id 1kvlB9-0007bz-TE; Sat, 02 Jan 2021 18:59:03 +0100 From: Adam Lackorzynski To: maz@kernel.org, tglx@linutronix.de Cc: linux-arm-kernel@lists.infradead.org, linusw@kernel.org, kaloz@openwrt.org, khalasa@piap.pl, andrew@lunn.ch, gregory.clement@bootlin.com, sebastian.hesselbarth@gmail.com, linux-gpio@vger.kernel.org, bgolaszewski@baylibre.com Subject: [PATCH 2/6] irqchip/armada-370-xp: Fix return check in IPI alloc Date: Sat, 2 Jan 2021 18:58:55 +0100 Message-Id: <20210102175859.335447-2-adam@l4re.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210102175859.335447-1-adam@l4re.org> References: <20210102175859.335447-1-adam@l4re.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org __irq_domain_alloc_irqs returns a negative error code upon failure, not only 0. Also use irq_domain_alloc_irqs to require less default arguments. Signed-off-by: Adam Lackorzynski Reviewed-by: Andrew Lunn --- drivers/irqchip/irq-armada-370-xp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c index 32938dfc0e46..b5e3aacdc2d1 100644 --- a/drivers/irqchip/irq-armada-370-xp.c +++ b/drivers/irqchip/irq-armada-370-xp.c @@ -430,9 +430,9 @@ static __init void armada_xp_ipi_init(struct device_node *node) return; irq_domain_update_bus_token(ipi_domain, DOMAIN_BUS_IPI); - base_ipi = __irq_domain_alloc_irqs(ipi_domain, -1, IPI_DOORBELL_END, - NUMA_NO_NODE, NULL, false, NULL); - if (WARN_ON(!base_ipi)) + base_ipi = irq_domain_alloc_irqs(ipi_domain, IPI_DOORBELL_END, + NUMA_NO_NODE, NULL); + if (WARN_ON(base_ipi <= 0)) return; set_smp_ipi_range(base_ipi, IPI_DOORBELL_END); From patchwork Sat Jan 2 17:58:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Lackorzynski X-Patchwork-Id: 1421773 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=l4re.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4D7VZ42GNxz9sVb for ; Sun, 3 Jan 2021 05:20:44 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726636AbhABSUn (ORCPT ); Sat, 2 Jan 2021 13:20:43 -0500 Received: from os.inf.tu-dresden.de ([141.76.48.99]:44694 "EHLO os.inf.tu-dresden.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726617AbhABSUn (ORCPT ); Sat, 2 Jan 2021 13:20:43 -0500 Received: from erwin.inf.tu-dresden.de ([141.76.48.80] helo=l4re.org) by os.inf.tu-dresden.de with esmtp (Exim 4.94) id 1kvlBA-0007bz-Dx; Sat, 02 Jan 2021 18:59:04 +0100 From: Adam Lackorzynski To: maz@kernel.org, tglx@linutronix.de Cc: linux-arm-kernel@lists.infradead.org, linusw@kernel.org, kaloz@openwrt.org, khalasa@piap.pl, andrew@lunn.ch, gregory.clement@bootlin.com, sebastian.hesselbarth@gmail.com, linux-gpio@vger.kernel.org, bgolaszewski@baylibre.com Subject: [PATCH 3/6] irqdomain/msi: Fix return check of __irq_domain_alloc_irqs Date: Sat, 2 Jan 2021 18:58:56 +0100 Message-Id: <20210102175859.335447-3-adam@l4re.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210102175859.335447-1-adam@l4re.org> References: <20210102175859.335447-1-adam@l4re.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org 0 is not a proper IRQ number and also indicates failure. Signed-off-by: Adam Lackorzynski --- kernel/irq/msi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c index 2c0c4d6d0f83..e1fe832e7161 100644 --- a/kernel/irq/msi.c +++ b/kernel/irq/msi.c @@ -416,7 +416,7 @@ int __msi_domain_alloc_irqs(struct irq_domain *domain, struct device *dev, virq = __irq_domain_alloc_irqs(domain, -1, desc->nvec_used, dev_to_node(dev), &arg, false, desc->affinity); - if (virq < 0) { + if (virq <= 0) { ret = -ENOSPC; if (ops->handle_error) ret = ops->handle_error(domain, desc, ret); From patchwork Sat Jan 2 17:58:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Lackorzynski X-Patchwork-Id: 1421775 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=l4re.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4D7Vbk350Kz9sSs for ; Sun, 3 Jan 2021 05:22:10 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726642AbhABSWJ (ORCPT ); Sat, 2 Jan 2021 13:22:09 -0500 Received: from os.inf.tu-dresden.de ([141.76.48.99]:44910 "EHLO os.inf.tu-dresden.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726617AbhABSWJ (ORCPT ); Sat, 2 Jan 2021 13:22:09 -0500 Received: from erwin.inf.tu-dresden.de ([141.76.48.80] helo=l4re.org) by os.inf.tu-dresden.de with esmtp (Exim 4.94) id 1kvlBA-0007bz-Ur; Sat, 02 Jan 2021 18:59:05 +0100 From: Adam Lackorzynski To: maz@kernel.org, tglx@linutronix.de Cc: linux-arm-kernel@lists.infradead.org, linusw@kernel.org, kaloz@openwrt.org, khalasa@piap.pl, andrew@lunn.ch, gregory.clement@bootlin.com, sebastian.hesselbarth@gmail.com, linux-gpio@vger.kernel.org, bgolaszewski@baylibre.com Subject: [PATCH 4/6] irqchip/ixp4xx: Fix return check of __irq_domain_alloc_irqs Date: Sat, 2 Jan 2021 18:58:57 +0100 Message-Id: <20210102175859.335447-4-adam@l4re.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210102175859.335447-1-adam@l4re.org> References: <20210102175859.335447-1-adam@l4re.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org 0 is not a proper IRQ number and also indicates failure. Signed-off-by: Adam Lackorzynski --- drivers/irqchip/irq-ixp4xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-ixp4xx.c b/drivers/irqchip/irq-ixp4xx.c index 37e0749215c7..54dcffe2309f 100644 --- a/drivers/irqchip/irq-ixp4xx.c +++ b/drivers/irqchip/irq-ixp4xx.c @@ -355,7 +355,7 @@ void __init ixp4xx_irq_init(resource_size_t irqbase, &fwspec, false, NULL); - if (ret < 0) { + if (ret <= 0) { pr_crit("IXP4XX: can not allocate irqs in hierarchy %d\n", ret); return; From patchwork Sat Jan 2 17:58:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Lackorzynski X-Patchwork-Id: 1421774 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=l4re.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4D7VZv1d6qz9sVb for ; Sun, 3 Jan 2021 05:21:27 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726640AbhABSV0 (ORCPT ); Sat, 2 Jan 2021 13:21:26 -0500 Received: from os.inf.tu-dresden.de ([141.76.48.99]:44788 "EHLO os.inf.tu-dresden.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726617AbhABSV0 (ORCPT ); Sat, 2 Jan 2021 13:21:26 -0500 Received: from erwin.inf.tu-dresden.de ([141.76.48.80] helo=l4re.org) by os.inf.tu-dresden.de with esmtp (Exim 4.94) id 1kvlBB-0007bz-F2; Sat, 02 Jan 2021 18:59:05 +0100 From: Adam Lackorzynski To: maz@kernel.org, tglx@linutronix.de Cc: linux-arm-kernel@lists.infradead.org, linusw@kernel.org, kaloz@openwrt.org, khalasa@piap.pl, andrew@lunn.ch, gregory.clement@bootlin.com, sebastian.hesselbarth@gmail.com, linux-gpio@vger.kernel.org, bgolaszewski@baylibre.com Subject: [PATCH 5/6] gpiolib: Fix return check of __irq_domain_alloc_irqs Date: Sat, 2 Jan 2021 18:58:58 +0100 Message-Id: <20210102175859.335447-5-adam@l4re.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210102175859.335447-1-adam@l4re.org> References: <20210102175859.335447-1-adam@l4re.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org 0 is not a proper IRQ number and also indicates failure. Signed-off-by: Adam Lackorzynski --- drivers/gpio/gpiolib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index b02cc2abd3b6..9667e1a62626 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -1003,7 +1003,7 @@ static void gpiochip_set_hierarchical_irqchip(struct gpio_chip *gc, &fwspec, false, NULL); - if (ret < 0) { + if (ret <= 0) { chip_err(gc, "can not allocate irq for GPIO line %d parent hwirq %d in hierarchy domain: %d\n", i, parent_hwirq, From patchwork Sat Jan 2 17:58:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Lackorzynski X-Patchwork-Id: 1421772 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=l4re.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4D7VYD6SPFz9sVn for ; Sun, 3 Jan 2021 05:20:00 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726628AbhABSUA (ORCPT ); Sat, 2 Jan 2021 13:20:00 -0500 Received: from os.inf.tu-dresden.de ([141.76.48.99]:44658 "EHLO os.inf.tu-dresden.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726617AbhABSUA (ORCPT ); Sat, 2 Jan 2021 13:20:00 -0500 Received: from erwin.inf.tu-dresden.de ([141.76.48.80] helo=l4re.org) by os.inf.tu-dresden.de with esmtp (Exim 4.94) id 1kvlBB-0007bz-Tx; Sat, 02 Jan 2021 18:59:06 +0100 From: Adam Lackorzynski To: maz@kernel.org, tglx@linutronix.de Cc: linux-arm-kernel@lists.infradead.org, linusw@kernel.org, kaloz@openwrt.org, khalasa@piap.pl, andrew@lunn.ch, gregory.clement@bootlin.com, sebastian.hesselbarth@gmail.com, linux-gpio@vger.kernel.org, bgolaszewski@baylibre.com Subject: [PATCH 6/6] x86/ioapic: Fix return check of __irq_domain_alloc_irqs Date: Sat, 2 Jan 2021 18:58:59 +0100 Message-Id: <20210102175859.335447-6-adam@l4re.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210102175859.335447-1-adam@l4re.org> References: <20210102175859.335447-1-adam@l4re.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org 0 is not a proper IRQ number and also indicates failure. Also check for this case in upwards functions. Signed-off-by: Adam Lackorzynski --- arch/x86/kernel/apic/io_apic.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index e4ab4804b20d..8ae46a092c88 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c @@ -1007,7 +1007,7 @@ static int alloc_isa_irq_from_domain(struct irq_domain *domain, info->flags |= X86_IRQ_ALLOC_LEGACY; irq = __irq_domain_alloc_irqs(domain, irq, 1, node, info, true, NULL); - if (irq >= 0) { + if (irq > 0) { irq_data = irq_domain_get_irq_data(domain, irq); data = irq_data->chip_data; data->isa_irq = true; @@ -1050,10 +1050,11 @@ static int mp_map_pin_to_irq(u32 gsi, int idx, int ioapic, int pin, irq = alloc_irq_from_domain(domain, ioapic, gsi, &tmp); else if (!mp_check_pin_attr(irq, &tmp)) irq = -EBUSY; - if (irq >= 0) { + if (irq > 0) { data = irq_get_chip_data(irq); data->count++; - } + } else if (irq == 0) + irq = -ENOENT; } mutex_unlock(&ioapic_mutex);