Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1150072yba; Thu, 4 Apr 2019 05:21:47 -0700 (PDT) X-Google-Smtp-Source: APXvYqyZS3Ypb2GblCgb8PWlTaxLzSCUiqq96d1rFiQrAa0Dv7Kip5xWKn3nC9Cjto2q726Mff2S X-Received: by 2002:a62:f24e:: with SMTP id y14mr5396884pfl.209.1554380507087; Thu, 04 Apr 2019 05:21:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554380507; cv=none; d=google.com; s=arc-20160816; b=zFuOhvy5jxps5tAW4z6ILUl3WFAx9+KRG+XWLt2Ie053O/MF0iWH76RIkLx+M4XCa3 KxseaiLSZkCT0EjGOCaJ3q9nBaq+VF6j3by/qkeZ1zAw0WqAkFCTn5NUdD0hvbEsG8UO VIUPTAoFxkEOo4mfEpokEFUGvfpHjmDY/AervTXpQ99BaYKSzLDbmHZ7Hv0OLvfZMJva TzSWC0+2HPdNf9VdRykavMHG5VSgRzGHGap+w8jBNMPvoNmyylmLbnOoWTpCDT80bTP1 KthaTKIROdzOR7KgPseZxaFWO8cGvnhKurQRPkOb2Vv7v8Kub3+uIUfxhSYMxnrMYmGb 4Njg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:dkim-signature:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from; bh=l3qukOoFZdlyyKPDCqt1jD+ayD6fA0VPt6yvZb0u4T4=; b=Kw4oAuH4DkUFMo/mnRudpZgo7hywsckTXWGqTKQ/Xam+MqukPsBH5z8uAAW8A729c2 vejA5rRAFuNq+nZ/uq6kkn+JKu6lTDR8eKJXhrpPUjuBqM0SJ9dD/6IdhQ30S0C/AS95 pPU7U5HEnT4/bs7BaYLRg9b2DfNqdrGL2/txhPRb1U7dUYBG4FL/WsIjpLf4QNG6+RMV PoxiW8ModjdGKsO9fMsBBCmkdTGZohyFVpUeP45fq3UBsrPXekhqPgMTphRcIN278d/C /BkqBeslWSG8qnL6eOAamo/8v/bF/+KKxoh8ZwHeBdMkiDfpHZZ6g+XAeHKsoZRNanhz UXxQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b="DzUsm6/p"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 186si16827013pfe.262.2019.04.04.05.21.32; Thu, 04 Apr 2019 05:21: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; dkim=pass header.i=@nvidia.com header.s=n1 header.b="DzUsm6/p"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729556AbfDDMUj (ORCPT + 99 others); Thu, 4 Apr 2019 08:20:39 -0400 Received: from hqemgate14.nvidia.com ([216.228.121.143]:3796 "EHLO hqemgate14.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727039AbfDDMUj (ORCPT ); Thu, 4 Apr 2019 08:20:39 -0400 Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by hqemgate14.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Thu, 04 Apr 2019 05:20:42 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate102.nvidia.com (PGP Universal service); Thu, 04 Apr 2019 05:20:38 -0700 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Thu, 04 Apr 2019 05:20:38 -0700 Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL106.nvidia.com (172.18.146.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 4 Apr 2019 12:20:38 +0000 Received: from HQMAIL108.nvidia.com (172.18.146.13) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 4 Apr 2019 12:20:38 +0000 Received: from hqnvemgw02.nvidia.com (172.16.227.111) by HQMAIL108.nvidia.com (172.18.146.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Thu, 4 Apr 2019 12:20:38 +0000 Received: from vidyas-desktop.nvidia.com (Not Verified[10.24.37.38]) by hqnvemgw02.nvidia.com with Trustwave SEG (v7,5,8,10121) id ; Thu, 04 Apr 2019 05:20:37 -0700 From: Vidya Sagar To: , , , , , CC: , , , , , Subject: [PATCH 1/2] PCI: dwc: Add API support to de-initialize host Date: Thu, 4 Apr 2019 17:50:23 +0530 Message-ID: <1554380425-29215-2-git-send-email-vidyas@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1554380425-29215-1-git-send-email-vidyas@nvidia.com> References: <1554380425-29215-1-git-send-email-vidyas@nvidia.com> X-NVConfidentiality: public MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1554380442; bh=l3qukOoFZdlyyKPDCqt1jD+ayD6fA0VPt6yvZb0u4T4=; h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: In-Reply-To:References:X-NVConfidentiality:MIME-Version: Content-Type; b=DzUsm6/p9vyZ3T80GWXLQT0b7bagS/VS/tE2r15nBi2IXqaF4AxR2zTpsNmFRuhts IDyaWSNEiRaOBEo/2y811ScQWCmCQxYq/cFWjAZVbJ+Sph5vuYh2RROs8AnWAfFLOm P8MU6khAFx0Vln7g7QhaH7STVwIKiT8NeVlhabVrnvAcEDdrygxLG69PGcGHpSjp/5 owOjmKfCQvvzmXt9++4WsVDEbt6G8o2Vd56O5vaSF7rCZeReKgm6EFahgdyQuxF2Qb qwHGw8zQRJN2BHH7a0XUYCwTeoqVxIhJIAEwpFmyf6cwRO2t/+bsFMV7SgIjKO9AjG 8v1MydK4p52gw== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add an API to group all the tasks to be done to de-initialize host which can then be called by any Designware core based driver implementations while adding .remove() support in their respective drivers. Signed-off-by: Vidya Sagar --- drivers/pci/controller/dwc/pcie-designware-host.c | 7 +++++++ drivers/pci/controller/dwc/pcie-designware.h | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index 3e4169e738a5..d7881490282d 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -516,6 +516,13 @@ int dw_pcie_host_init(struct pcie_port *pp) return ret; } +void dw_pcie_host_deinit(struct pcie_port *pp) +{ + pci_stop_root_bus(pp->root_bus); + pci_remove_root_bus(pp->root_bus); + dw_pcie_free_msi(pp); +} + static int dw_pcie_access_other_conf(struct pcie_port *pp, struct pci_bus *bus, u32 devfn, int where, int size, u32 *val, bool write) diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h index adff0c713665..ea8d1caf11c5 100644 --- a/drivers/pci/controller/dwc/pcie-designware.h +++ b/drivers/pci/controller/dwc/pcie-designware.h @@ -343,6 +343,7 @@ void dw_pcie_msi_init(struct pcie_port *pp); void dw_pcie_free_msi(struct pcie_port *pp); void dw_pcie_setup_rc(struct pcie_port *pp); int dw_pcie_host_init(struct pcie_port *pp); +void dw_pcie_host_deinit(struct pcie_port *pp); int dw_pcie_allocate_domains(struct pcie_port *pp); #else static inline irqreturn_t dw_handle_msi_irq(struct pcie_port *pp) @@ -367,6 +368,10 @@ static inline int dw_pcie_host_init(struct pcie_port *pp) return 0; } +static inline void dw_pcie_host_deinit(struct pcie_port *pp) +{ +} + static inline int dw_pcie_allocate_domains(struct pcie_port *pp) { return 0; -- 2.7.4