From patchwork Thu Jun 8 14:13:28 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Pieralisi X-Patchwork-Id: 9775739 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 48CBC60350 for ; Thu, 8 Jun 2017 14:52:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 393142846F for ; Thu, 8 Jun 2017 14:52:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2DCCB2856E; Thu, 8 Jun 2017 14:52:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B86F12855C for ; Thu, 8 Jun 2017 14:52:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=tfOnUdHnCAtKNDtiCOJkTBV3fC9yj2XI0iYcOCVZxdA=; b=mwj+iR0GPfbq/zlVqiRZ8KcMM0 7AvMqQkGSGvfgQgfEmAcpjcg3Im9yZMnezy3bpLj/s6YbHJO0RRBmvqNFz4auuGWyZLDxV7LEU81I wFueQ/Ij/N4C9OiorVWykgn+BOKCIoLzUyIVb9kG25vp1r3tGFGWUVRGX/29AuMw30UhZcBSY70NN VNRSMmbrXtBVVlljum37Evx8NuWP1q9UXYMmKl9oatSflDp7pWBY4mo1vyvzrzvWpcPecp9ZUqtFw /mwqXFoZoTOYjKEJp8qpuk8qHZGbGHF4s8HRFlWwK+J+3SPFZkFwc1dp+Nm+gu6p0gVtt3jK6VuJG tnFR9C4g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1dIynC-00080K-5g; Thu, 08 Jun 2017 14:52:10 +0000 Received: from merlin.infradead.org ([205.233.59.134]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dIyRm-0002r8-8M for linux-arm-kernel@bombadil.infradead.org; Thu, 08 Jun 2017 14:30:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=YihxPsxDv49nPM0JHuCBt/06UTRD0YiiVmKI5fuSVEI=; b=3C88n/TnR2kGGraZ/kTiPdUfh ntzxRYSKPq/n+TrCHmfb/fw9nPi7GCtFntLUzCR1vB1c66Hoz11gNCM9jtmfkcZ85QMh+PD8Ikbxq MAiqXfRpaSdHjXmaQBpwk0Fl8abnuPjCGCf5xlKytoiFdSUPa9/nKqTZ5bYL8yrISI6aXtoNnnGw8 EuwOWvMZbOvgJ/eoxl256JdutIr2+0aLd6QVedHKVzkt7eUir83k8MQZ8d+yyvqUWCcfZuX+sQtHo Z773CeVu28GnOD0MU5qxXj+dbzegD1J9FosE1CY27b6hYxWnQbyyW/w9KGBteEjAj5yJDTthecbZU kRH2+RQPQ==; Received: from foss.arm.com ([217.140.101.70]) by merlin.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1dIyDL-0008DS-Ph for linux-arm-kernel@lists.infradead.org; Thu, 08 Jun 2017 14:15:10 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7A5071610; Thu, 8 Jun 2017 07:14:46 -0700 (PDT) Received: from red-moon.cambridge.arm.com (red-moon.cambridge.arm.com [10.1.206.55]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 20D873F3E1; Thu, 8 Jun 2017 07:14:41 -0700 (PDT) From: Lorenzo Pieralisi To: linux-pci@vger.kernel.org Subject: [RFT PATCH v2 28/42] PCI: Add a call to pci_assign_irq() in pci_device_probe() Date: Thu, 8 Jun 2017 15:13:28 +0100 Message-Id: <20170608141342.2018-29-lorenzo.pieralisi@arm.com> X-Mailer: git-send-email 2.10.0 In-Reply-To: <20170608141342.2018-1-lorenzo.pieralisi@arm.com> References: <20170608141342.2018-1-lorenzo.pieralisi@arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170608_101507_946481_E31431B7 X-CRM114-Status: GOOD ( 13.01 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Pratyush Anand , Gabriele Paoloni , Shawn Lin , Will Deacon , Michal Simek , Thierry Reding , Tanmay Inamdar , Matthew Minter , Rob Herring , Lorenzo Pieralisi , Wenrui Li , Russell King , Murali Karicheri , Linus Walleij , Arnd Bergmann , Bharat Kumar Gogada , Joao Pinto , Bjorn Helgaas , Mingkai Hu , linux-arm-kernel@lists.infradead.org, Thomas Petazzoni , Jingoo Han , Stanimir Varbanov , Minghuan Lian , Zhou Wang , Simon Horman , Roy Zang MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Matthew Minter The pci_assign_irq() function allows assignment of an irq to devices during device enable time rather than only at boot. Therefore call it in the pci_device_probe() function during the enable device code path so this assignment can be performed. This patch will do nothing on arches which do not set the irq mapping function pointers and is therefore currently a nop, however as support for these function pointers is added to arch specific code this will cause irq assignment to migrate to device enable time allowing the new code paths to be used. Signed-off-by: Matthew Minter [lorenzo.pieralisi@arm.com: moved pci_assign_irq() call site] Signed-off-by: Lorenzo Pieralisi --- drivers/pci/pci-driver.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index 192e7b6..11167c6 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c @@ -412,6 +412,8 @@ static int pci_device_probe(struct device *dev) struct pci_dev *pci_dev = to_pci_dev(dev); struct pci_driver *drv = to_pci_driver(dev->driver); + pci_assign_irq(pci_dev); + error = pcibios_alloc_irq(pci_dev); if (error < 0) return error;