Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp162175yba; Tue, 23 Apr 2019 21:59:25 -0700 (PDT) X-Google-Smtp-Source: APXvYqwiz5nnSD+VvXTxSYrcAisd0N1uNzMZEy12zqzI3CoZJrF0vFBd26JLbdpKsVwPjVeXToa8 X-Received: by 2002:a17:902:9687:: with SMTP id n7mr30698429plp.105.1556081965739; Tue, 23 Apr 2019 21:59:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556081965; cv=none; d=google.com; s=arc-20160816; b=1Dz27BOOm5LKmmnDitt9RwphMgHwBgGcRkFD+dfIA/RrGMfkGNtk+W10ZSZlp8ceb+ 0Jpndsw96k3DjINECBWpKEdrydnj3jMla7d+nWCgQeve7b5doFesvo7AgC98QLp/BE5f nmAiDn6/y/8L+ZABErryNMI61e2PBknCW9ShB8P664lgtq0JpOe3wFw8/gBJKyoaWasL a5rXFQ5yDokXMZWgvQ/sMTId38fDj42uUDGuxSEjzjZnfiz2kTRZ4AFpnXxt2o06RQDr ZVYKoLThx+o9tPJJ7gBDo7iLukYreq+RIZaaqqPkPpwLin9vIomaipjXcR36KgvFn2gi Akmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=3DaGWKDQP0RZ49DNazWF/85tJ+FHY+eMZAUfnbZBX94=; b=xJY3sj3/4Wlvaf+dWskAxhNve8WXJ75Rr4+ELRWj50uHws27VEEUwyLEbyjy/aUk2u 4lheNgVx5v5pJyuvqrMEOP3gx4IsYhqj27XcLg9z6w+gqh7A1mi2k9znvX/HumlVmqkX /CmZj4a/IFR//n3tlGcw9a3SWlfW10STl5u31Qbsus+y0LEQagi855qyKulfpR5Txrdt YXUSeXKoeewmVgGD7K4JquaYX/CziXRy8GXCzXYESbsKFgCGrL91bnoH+rRjxj2ATzhy dq3/WqkX7q+5tqQ3wYBxPtHVsS9RwEdikUfdaZcrV0mc/HXuX2LODXvQxIQkJr5U+apQ jcfw== 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=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i24si16816684pgh.434.2019.04.23.21.59.10; Tue, 23 Apr 2019 21:59:25 -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=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729278AbfDXE5Z (ORCPT + 99 others); Wed, 24 Apr 2019 00:57:25 -0400 Received: from mga06.intel.com ([134.134.136.31]:48723 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726442AbfDXE5Z (ORCPT ); Wed, 24 Apr 2019 00:57:25 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Apr 2019 21:57:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,388,1549958400"; d="scan'208";a="145352275" Received: from lftan-mobl.gar.corp.intel.com (HELO ubuntu) ([10.226.248.116]) by fmsmga007.fm.intel.com with SMTP; 23 Apr 2019 21:57:21 -0700 Received: by ubuntu (sSMTP sendmail emulation); Wed, 24 Apr 2019 12:57:19 +0800 From: Ley Foon Tan To: Bjorn Helgaas , Lorenzo Pieralisi Cc: linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, devicetree@vger.kernel.org, lftan.linux@gmail.com, Ley Foon Tan Subject: [PATCH] PCI: altera-msi: Allow building as module Date: Wed, 24 Apr 2019 12:57:15 +0800 Message-Id: <1556081835-12921-2-git-send-email-ley.foon.tan@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1556081835-12921-1-git-send-email-ley.foon.tan@intel.com> References: <1556081835-12921-1-git-send-email-ley.foon.tan@intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Altera MSI IP is a soft IP and is only available after FPGA image is programmed. Make driver modulable to support use case FPGA image is programmed after kernel is booted. User proram FPGA image in kernel then only load MSI driver module. Signed-off-by: Ley Foon Tan --- drivers/pci/controller/Kconfig | 2 +- drivers/pci/controller/pcie-altera-msi.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig index 4b550f9cdd56..920546cb84e2 100644 --- a/drivers/pci/controller/Kconfig +++ b/drivers/pci/controller/Kconfig @@ -181,7 +181,7 @@ config PCIE_ALTERA FPGA. config PCIE_ALTERA_MSI - bool "Altera PCIe MSI feature" + tristate "Altera PCIe MSI feature" depends on PCIE_ALTERA depends on PCI_MSI_IRQ_DOMAIN help diff --git a/drivers/pci/controller/pcie-altera-msi.c b/drivers/pci/controller/pcie-altera-msi.c index 025ef7d9a046..16d938920ca5 100644 --- a/drivers/pci/controller/pcie-altera-msi.c +++ b/drivers/pci/controller/pcie-altera-msi.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -288,4 +289,13 @@ static int __init altera_msi_init(void) { return platform_driver_register(&altera_msi_driver); } + +static void __exit altera_msi_exit(void) +{ + platform_driver_unregister(&altera_msi_driver); +} + subsys_initcall(altera_msi_init); +MODULE_DEVICE_TABLE(of, altera_msi_of_match); +module_exit(altera_msi_exit); +MODULE_LICENSE("GPL v2"); -- 2.19.0