From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8D28AC433EF for ; Thu, 10 Feb 2022 09:26:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238498AbiBJJ0b (ORCPT ); Thu, 10 Feb 2022 04:26:31 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:49712 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229534AbiBJJ02 (ORCPT ); Thu, 10 Feb 2022 04:26:28 -0500 Received: from qq.com (smtpbg480.qq.com [59.36.132.97]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B7EE91039 for ; Thu, 10 Feb 2022 01:26:27 -0800 (PST) X-QQ-mid: bizesmtp7t1644485113tmirrnd0j Received: from localhost.localdomain (unknown [123.114.60.34]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 10 Feb 2022 17:25:11 +0800 (CST) X-QQ-SSF: 01400000002000B0L000B00A0000000 X-QQ-FEAT: F3yR32iATbhAQRozjq/gd6A+ycs4suDR+IjPdybesPlhivT2B/iKjlYafIKa1 1gbjBK7a9XUT5dF0hcYVcCXggTGbuooygvM7JwTfr5hDTSLTs1M+bPZWXDEIjT9maGOFsO2 Co+dQ9S+7O19b0DtaYh2STMxy/YXPSAaiqGb1JSqozfIZUrNsVIu5ie6X5m3swdJRFEFm8I CRSo+S4fBfh8iTkloFw/8EA5YjNl2CWtfzipZU7mlVZhPf6tKR6y2I0X45b4XaohQCpRs+h nUkqwkRQTMyKkQauyWjsKMd41VACYmGI6ljvdtW3Z2jCs3xS4KEAqbjrFdg1RDr4AOTWgMJ ApMVPbz98T0rYwAWCDD8+LcTFeTcQ== X-QQ-GoodBg: 2 From: zhaoxiao To: f.fainelli@gmail.com, rjui@broadcom.com, sbranden@broadcom.com, nsaenz@kernel.org Cc: linux-i2c@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, zhaoxiao Subject: [PATCH] i2c: bcm2835: Use platform_get_irq() to get the interrupt Date: Thu, 10 Feb 2022 17:25:06 +0800 Message-Id: <20220210092506.21251-1-zhaoxiao@uniontech.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:uniontech.com:qybgforeign:qybgforeign1 X-QQ-Bgrelay: 1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org platform_get_resource(pdev, IORESOURCE_IRQ, ..) relies on static allocation of IRQ resources in DT core code, this causes an issue when using hierarchical interrupt domains using "interrupts" property in the node as this bypassed the hierarchical setup and messed up the irq chaining. In preparation for removal of static setup of IRQ resource from DT core code use platform_get_irq(). Signed-off-by: zhaoxiao --- drivers/i2c/busses/i2c-bcm2835.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c index 37443edbf754..dfc534065595 100644 --- a/drivers/i2c/busses/i2c-bcm2835.c +++ b/drivers/i2c/busses/i2c-bcm2835.c @@ -402,7 +402,7 @@ static const struct i2c_adapter_quirks bcm2835_i2c_quirks = { static int bcm2835_i2c_probe(struct platform_device *pdev) { struct bcm2835_i2c_dev *i2c_dev; - struct resource *mem, *irq; + struct resource *mem; int ret; struct i2c_adapter *adap; struct clk *mclk; @@ -452,12 +452,9 @@ static int bcm2835_i2c_probe(struct platform_device *pdev) return ret; } - irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); - if (!irq) { - dev_err(&pdev->dev, "No IRQ resource\n"); - return -ENODEV; - } - i2c_dev->irq = irq->start; + i2c_dev->irq = platform_get_irq(pdev, 0); + if (i2c_dev->irq < 0) + return i2c_dev->irq; ret = request_irq(i2c_dev->irq, bcm2835_i2c_isr, IRQF_SHARED, dev_name(&pdev->dev), i2c_dev); -- 2.20.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3EE2AC433EF for ; Thu, 10 Feb 2022 09:27:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=8AtRFF5SAP3rl58PV49r5Fcgl0O9Kq96QsO2okAXhRg=; b=BrnC94o+Trjzo4 +HrzgVlvCWBETMiSu40AKV9Pa+y3ABmQKI9QJTtHpXBRTlPxYQCtLXefX/eXdzC8gNnj4oI7+xBhT cDXcwaVhGVx6b2wu+yg5xy1+rOLPr/wPW1mz+W6FO5sfawKv5hv6fngixCcRzUokBUUemgMO0aIv8 grkM/n524Q1vKEeIb0sQiG8l1yQWZCO/Iwh7/I4aEPXj20gtt28rRxCySPiB32YdoSbUjQyJ5X0xM d0214ui05vdGTNcc4rYTDzJimrBiWKLLeFVq0h5wn0gM0QOwTMZNf1ZOkYt5RPrY1zHR7FWrz7qII jD7N56ASx8WQqBL7dbfA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nI5iW-003Gwo-Kt; Thu, 10 Feb 2022 09:26:20 +0000 Received: from smtpbguseast2.qq.com ([54.204.34.130]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nI5iS-003GtJ-E5 for linux-arm-kernel@lists.infradead.org; Thu, 10 Feb 2022 09:26:17 +0000 X-QQ-mid: bizesmtp7t1644485113tmirrnd0j Received: from localhost.localdomain (unknown [123.114.60.34]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 10 Feb 2022 17:25:11 +0800 (CST) X-QQ-SSF: 01400000002000B0L000B00A0000000 X-QQ-FEAT: F3yR32iATbhAQRozjq/gd6A+ycs4suDR+IjPdybesPlhivT2B/iKjlYafIKa1 1gbjBK7a9XUT5dF0hcYVcCXggTGbuooygvM7JwTfr5hDTSLTs1M+bPZWXDEIjT9maGOFsO2 Co+dQ9S+7O19b0DtaYh2STMxy/YXPSAaiqGb1JSqozfIZUrNsVIu5ie6X5m3swdJRFEFm8I CRSo+S4fBfh8iTkloFw/8EA5YjNl2CWtfzipZU7mlVZhPf6tKR6y2I0X45b4XaohQCpRs+h nUkqwkRQTMyKkQauyWjsKMd41VACYmGI6ljvdtW3Z2jCs3xS4KEAqbjrFdg1RDr4AOTWgMJ ApMVPbz98T0rYwAWCDD8+LcTFeTcQ== X-QQ-GoodBg: 2 From: zhaoxiao To: f.fainelli@gmail.com, rjui@broadcom.com, sbranden@broadcom.com, nsaenz@kernel.org Cc: linux-i2c@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, zhaoxiao Subject: [PATCH] i2c: bcm2835: Use platform_get_irq() to get the interrupt Date: Thu, 10 Feb 2022 17:25:06 +0800 Message-Id: <20220210092506.21251-1-zhaoxiao@uniontech.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:uniontech.com:qybgforeign:qybgforeign1 X-QQ-Bgrelay: 1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220210_012616_629773_6CA65423 X-CRM114-Status: GOOD ( 12.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org platform_get_resource(pdev, IORESOURCE_IRQ, ..) relies on static allocation of IRQ resources in DT core code, this causes an issue when using hierarchical interrupt domains using "interrupts" property in the node as this bypassed the hierarchical setup and messed up the irq chaining. In preparation for removal of static setup of IRQ resource from DT core code use platform_get_irq(). Signed-off-by: zhaoxiao --- drivers/i2c/busses/i2c-bcm2835.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c index 37443edbf754..dfc534065595 100644 --- a/drivers/i2c/busses/i2c-bcm2835.c +++ b/drivers/i2c/busses/i2c-bcm2835.c @@ -402,7 +402,7 @@ static const struct i2c_adapter_quirks bcm2835_i2c_quirks = { static int bcm2835_i2c_probe(struct platform_device *pdev) { struct bcm2835_i2c_dev *i2c_dev; - struct resource *mem, *irq; + struct resource *mem; int ret; struct i2c_adapter *adap; struct clk *mclk; @@ -452,12 +452,9 @@ static int bcm2835_i2c_probe(struct platform_device *pdev) return ret; } - irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); - if (!irq) { - dev_err(&pdev->dev, "No IRQ resource\n"); - return -ENODEV; - } - i2c_dev->irq = irq->start; + i2c_dev->irq = platform_get_irq(pdev, 0); + if (i2c_dev->irq < 0) + return i2c_dev->irq; ret = request_irq(i2c_dev->irq, bcm2835_i2c_isr, IRQF_SHARED, dev_name(&pdev->dev), i2c_dev); -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel