Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp763183ybe; Thu, 19 Sep 2019 03:27:47 -0700 (PDT) X-Google-Smtp-Source: APXvYqxDH07M+0LGALAX4QoFRym0hlO6AMTGtYCkCdu09acyzW1tDKljHZLVzCm3Gi8069tJgsca X-Received: by 2002:a17:907:20c4:: with SMTP id qq4mr13617393ejb.161.1568888867610; Thu, 19 Sep 2019 03:27:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568888867; cv=none; d=google.com; s=arc-20160816; b=CNgSEXmduCxLgD2pO8ENNPBMQUtYq7pSGcXVC02l0jIxhHfxjhkJc/olUsz0h9IoEN pHlHy6nbtz4UMy3qqlfKTOfNunZdanO5ZPo+hnyjHdvqJGMDSRRwyfMphBfI4qdXL1hj j4lIhW9rL8sqa9VgDdTcyJs15488zWKziZBmhZlyf9R4dIvKJnxJq7nuGcw2pTRO/h65 bkfxp8oqZqkEGQUS2IfQfOy1XxelpQtwx0r1tOGzEssz88nksj77UrI+N7lv7uPOy9Oy DTOUqqCHlsjXnkv2a3LfzaPTOKAgQVllkLl7QocjDtnvV1f8gFw5gPgBdYU4rMqj4mtf C67g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=rzbvIp+AcXlk/DlB2UfSBIf6toLeOkgy1gD/OVwQ7Wg=; b=qvRvmvqNxl8ZDgrAS7VBmeEH2TfReYbwHvocMj9BLdCErhCTxDwYlANw27mzhe7N7f Avk8HkAFdwoI0SfV4HHsDoJsLgWIe+nRPOlJwBR3DF3ovcVNFzu9OF7VBtTWK7q7XgG6 ENS9n3SZtbs/nKk199THSD0FSbxLGnPXdptAnALl1zlM1aWqIZdqI4drrXhR0W+YCkae kUCqDEk2eNrp/suoSMjR+tesFkG8JFekaf8gPc17BVr00gShmjL7XwQb+OcvZxcLLfke lTwrT2O46AWNJ0A0yjM7uIk/DxJKo9BbvMdM2I5RHLYL8gB8np+b0PYBJ3bilKTDZpAK DcWA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id pv13si4139863ejb.79.2019.09.19.03.27.24; Thu, 19 Sep 2019 03:27:47 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387403AbfISGK5 (ORCPT + 99 others); Thu, 19 Sep 2019 02:10:57 -0400 Received: from inva021.nxp.com ([92.121.34.21]:50096 "EHLO inva021.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725887AbfISGK5 (ORCPT ); Thu, 19 Sep 2019 02:10:57 -0400 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 1D0F82003AB; Thu, 19 Sep 2019 08:10:55 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 38804200053; Thu, 19 Sep 2019 08:10:52 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 53ABA402FC; Thu, 19 Sep 2019 14:10:48 +0800 (SGT) From: Anson Huang To: linus.walleij@linaro.org, bgolaszewski@baylibre.com, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Linux-imx@nxp.com Subject: [PATCH] gpio: mxc: Only getting second IRQ when there is more than one IRQ Date: Thu, 19 Sep 2019 14:09:37 +0800 Message-Id: <1568873377-13433-1-git-send-email-Anson.Huang@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On some of i.MX SoCs like i.MX8QXP, there is ONLY one IRQ for each GPIO bank, so it is better to check the IRQ count before getting second IRQ to avoid below error message during probe: [ 1.070908] gpio-mxc 5d080000.gpio: IRQ index 1 not found [ 1.077420] gpio-mxc 5d090000.gpio: IRQ index 1 not found [ 1.083766] gpio-mxc 5d0a0000.gpio: IRQ index 1 not found [ 1.090122] gpio-mxc 5d0b0000.gpio: IRQ index 1 not found [ 1.096470] gpio-mxc 5d0c0000.gpio: IRQ index 1 not found [ 1.102804] gpio-mxc 5d0d0000.gpio: IRQ index 1 not found [ 1.109144] gpio-mxc 5d0e0000.gpio: IRQ index 1 not found [ 1.115475] gpio-mxc 5d0f0000.gpio: IRQ index 1 not found Signed-off-by: Anson Huang --- drivers/gpio/gpio-mxc.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c index 7907a87..39ba7dd 100644 --- a/drivers/gpio/gpio-mxc.c +++ b/drivers/gpio/gpio-mxc.c @@ -426,9 +426,15 @@ static int mxc_gpio_probe(struct platform_device *pdev) if (IS_ERR(port->base)) return PTR_ERR(port->base); - port->irq_high = platform_get_irq(pdev, 1); - if (port->irq_high < 0) - port->irq_high = 0; + err = platform_irq_count(pdev); + if (err < 0) + return err; + + if (err > 1) { + port->irq_high = platform_get_irq(pdev, 1); + if (port->irq_high < 0) + port->irq_high = 0; + } port->irq = platform_get_irq(pdev, 0); if (port->irq < 0) -- 2.7.4