From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bjorn Helgaas Subject: Re: [PATCH v6 04/30] xen/PCI: Don't use deprecated function pci_scan_bus_parented() Date: Wed, 11 Mar 2015 17:32:11 -0500 Message-ID: <20150311223211.GB1082@google.com> References: <1425868467-9667-1-git-send-email-wangyijing@huawei.com> <1425868467-9667-5-git-send-email-wangyijing@huawei.com> Mime-Version: 1.0 Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=eVAFQHao8ROHQ2ChGJPR6/y5wDcsoX69esLtdp0NF74=; b=OxuIrX12LN6Ys3pa+tt3V1w50yxkxQkqom6kUIXUD2XR7XB9Kd16+6bLrjW2J9C2JH oFSealM6YXztm38gfqiKd91bNrFUOtce97rtbLd4NAr6m0F3cJcjfUIZhqmjxn4osHYx Nrc7K8gg8saMTHqdyMfeeM0ruEXjIuTDvnQDiOIQg0fuanMmQaShgqSjMMjyefQav19s il/FNB1eyp5ZgwQTM/Vo2nE80a7kpMPamwiBMflfoCs/Q83N/DM48kUUh4Pm26PmS4AP 9WSJM77t5ck+NOzUC8vJAHsBDKKGSkZAoVbpqxY/Fs99FRLOTFqN6PmDKBSB4LfR0BxP uWiQ== Content-Disposition: inline In-Reply-To: <1425868467-9667-5-git-send-email-wangyijing@huawei.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Yijing Wang Cc: Jiang Liu , linux-pci@vger.kernel.org, Yinghai Lu , linux-kernel@vger.kernel.org, Marc Zyngier , linux-arm-kernel@lists.infradead.org, Russell King , x86@kernel.org, Thomas Gleixner , Benjamin Herrenschmidt , Rusty Russell , Tony Luck , linux-ia64@vger.kernel.org, "David S. Miller" , Guan Xuetao , linux-alpha@vger.kernel.org, linux-m68k@lists.linux-m68k.org, Liviu Dudau , Arnd Bergmann , Geert Uytterhoeven , Konrad Rzeszutek Wilk , xen-devel@lists.xenproject.org On Mon, Mar 09, 2015 at 10:34:01AM +0800, Yijing Wang wrote: > From: Arnd Bergmann > > Use pci_scan_root_bus() instead of deprecated function > pci_scan_bus_parented(). > > Signed-off-by: Arnd Bergmann > Signed-off-by: Yijing Wang > CC: Konrad Rzeszutek Wilk > CC: xen-devel@lists.xenproject.org > Signed-off-by: Bjorn Helgaas > --- > drivers/pci/xen-pcifront.c | 12 +++++++++--- > 1 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c > index b1ffebe..9e7c28b 100644 > --- a/drivers/pci/xen-pcifront.c > +++ b/drivers/pci/xen-pcifront.c > @@ -21,6 +21,7 @@ > #include > #include > #include > +#include "pci.h" > > #include > #define INVALID_GRANT_REF (0) > @@ -446,6 +447,7 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > unsigned int domain, unsigned int bus) > { > struct pci_bus *b; > + LIST_HEAD(resources); > struct pcifront_sd *sd = NULL; > struct pci_bus_entry *bus_entry = NULL; > int err = 0; > @@ -470,17 +472,21 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > err = -ENOMEM; > goto err_out; > } > + pci_add_resource(&resources, &ioport_resource); > + pci_add_resource(&resources, &iomem_resource); > + pci_add_resource(&resources, &busn_resource); Since I don't want to export busn_resource, you might have to allocate your own struct resource for it here. And, of course, figure out the details of which PCI domain you're in and whether you need to share one struct resource across several host bridges in the same domain. > pcifront_init_sd(sd, domain, bus, pdev); > > pci_lock_rescan_remove(); > > - b = pci_scan_bus_parented(&pdev->xdev->dev, bus, > - &pcifront_bus_ops, sd); > + b = pci_scan_root_bus(&pdev->xdev->dev, bus, > + &pcifront_bus_ops, sd, &resources); > if (!b) { > dev_err(&pdev->xdev->dev, > "Error creating PCI Frontend Bus!\n"); > err = -ENOMEM; > pci_unlock_rescan_remove(); > + pci_free_resource_list(&resources); > goto err_out; > } > > @@ -488,7 +494,7 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > > list_add(&bus_entry->list, &pdev->root_buses); > > - /* pci_scan_bus_parented skips devices which do not have a have > + /* pci_scan_root_bus skips devices which do not have a > * devfn==0. The pcifront_scan_bus enumerates all devfn. */ > err = pcifront_scan_bus(pdev, domain, bus, b); > > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bjorn Helgaas Date: Wed, 11 Mar 2015 22:32:11 +0000 Subject: Re: [PATCH v6 04/30] xen/PCI: Don't use deprecated function pci_scan_bus_parented() Message-Id: <20150311223211.GB1082@google.com> List-Id: References: <1425868467-9667-1-git-send-email-wangyijing@huawei.com> <1425868467-9667-5-git-send-email-wangyijing@huawei.com> In-Reply-To: <1425868467-9667-5-git-send-email-wangyijing@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Yijing Wang Cc: Jiang Liu , linux-pci@vger.kernel.org, Yinghai Lu , linux-kernel@vger.kernel.org, Marc Zyngier , linux-arm-kernel@lists.infradead.org, Russell King , x86@kernel.org, Thomas Gleixner , Benjamin Herrenschmidt , Rusty Russell , Tony Luck , linux-ia64@vger.kernel.org, "David S. Miller" , Guan Xuetao , linux-alpha@vger.kernel.org, linux-m68k@vger.kernel.org, Liviu Dudau , Arnd Bergmann , Geert Uytterhoeven , Konrad Rzeszutek Wilk , xen-devel@lists.xenproject.org On Mon, Mar 09, 2015 at 10:34:01AM +0800, Yijing Wang wrote: > From: Arnd Bergmann > > Use pci_scan_root_bus() instead of deprecated function > pci_scan_bus_parented(). > > Signed-off-by: Arnd Bergmann > Signed-off-by: Yijing Wang > CC: Konrad Rzeszutek Wilk > CC: xen-devel@lists.xenproject.org > Signed-off-by: Bjorn Helgaas > --- > drivers/pci/xen-pcifront.c | 12 +++++++++--- > 1 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c > index b1ffebe..9e7c28b 100644 > --- a/drivers/pci/xen-pcifront.c > +++ b/drivers/pci/xen-pcifront.c > @@ -21,6 +21,7 @@ > #include > #include > #include > +#include "pci.h" > > #include > #define INVALID_GRANT_REF (0) > @@ -446,6 +447,7 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > unsigned int domain, unsigned int bus) > { > struct pci_bus *b; > + LIST_HEAD(resources); > struct pcifront_sd *sd = NULL; > struct pci_bus_entry *bus_entry = NULL; > int err = 0; > @@ -470,17 +472,21 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > err = -ENOMEM; > goto err_out; > } > + pci_add_resource(&resources, &ioport_resource); > + pci_add_resource(&resources, &iomem_resource); > + pci_add_resource(&resources, &busn_resource); Since I don't want to export busn_resource, you might have to allocate your own struct resource for it here. And, of course, figure out the details of which PCI domain you're in and whether you need to share one struct resource across several host bridges in the same domain. > pcifront_init_sd(sd, domain, bus, pdev); > > pci_lock_rescan_remove(); > > - b = pci_scan_bus_parented(&pdev->xdev->dev, bus, > - &pcifront_bus_ops, sd); > + b = pci_scan_root_bus(&pdev->xdev->dev, bus, > + &pcifront_bus_ops, sd, &resources); > if (!b) { > dev_err(&pdev->xdev->dev, > "Error creating PCI Frontend Bus!\n"); > err = -ENOMEM; > pci_unlock_rescan_remove(); > + pci_free_resource_list(&resources); > goto err_out; > } > > @@ -488,7 +494,7 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > > list_add(&bus_entry->list, &pdev->root_buses); > > - /* pci_scan_bus_parented skips devices which do not have a have > + /* pci_scan_root_bus skips devices which do not have a > * devfn=0. The pcifront_scan_bus enumerates all devfn. */ > err = pcifront_scan_bus(pdev, domain, bus, b); > > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 From: bhelgaas@google.com (Bjorn Helgaas) Date: Wed, 11 Mar 2015 17:32:11 -0500 Subject: [PATCH v6 04/30] xen/PCI: Don't use deprecated function pci_scan_bus_parented() In-Reply-To: <1425868467-9667-5-git-send-email-wangyijing@huawei.com> References: <1425868467-9667-1-git-send-email-wangyijing@huawei.com> <1425868467-9667-5-git-send-email-wangyijing@huawei.com> Message-ID: <20150311223211.GB1082@google.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Mon, Mar 09, 2015 at 10:34:01AM +0800, Yijing Wang wrote: > From: Arnd Bergmann > > Use pci_scan_root_bus() instead of deprecated function > pci_scan_bus_parented(). > > Signed-off-by: Arnd Bergmann > Signed-off-by: Yijing Wang > CC: Konrad Rzeszutek Wilk > CC: xen-devel at lists.xenproject.org > Signed-off-by: Bjorn Helgaas > --- > drivers/pci/xen-pcifront.c | 12 +++++++++--- > 1 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c > index b1ffebe..9e7c28b 100644 > --- a/drivers/pci/xen-pcifront.c > +++ b/drivers/pci/xen-pcifront.c > @@ -21,6 +21,7 @@ > #include > #include > #include > +#include "pci.h" > > #include > #define INVALID_GRANT_REF (0) > @@ -446,6 +447,7 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > unsigned int domain, unsigned int bus) > { > struct pci_bus *b; > + LIST_HEAD(resources); > struct pcifront_sd *sd = NULL; > struct pci_bus_entry *bus_entry = NULL; > int err = 0; > @@ -470,17 +472,21 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > err = -ENOMEM; > goto err_out; > } > + pci_add_resource(&resources, &ioport_resource); > + pci_add_resource(&resources, &iomem_resource); > + pci_add_resource(&resources, &busn_resource); Since I don't want to export busn_resource, you might have to allocate your own struct resource for it here. And, of course, figure out the details of which PCI domain you're in and whether you need to share one struct resource across several host bridges in the same domain. > pcifront_init_sd(sd, domain, bus, pdev); > > pci_lock_rescan_remove(); > > - b = pci_scan_bus_parented(&pdev->xdev->dev, bus, > - &pcifront_bus_ops, sd); > + b = pci_scan_root_bus(&pdev->xdev->dev, bus, > + &pcifront_bus_ops, sd, &resources); > if (!b) { > dev_err(&pdev->xdev->dev, > "Error creating PCI Frontend Bus!\n"); > err = -ENOMEM; > pci_unlock_rescan_remove(); > + pci_free_resource_list(&resources); > goto err_out; > } > > @@ -488,7 +494,7 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > > list_add(&bus_entry->list, &pdev->root_buses); > > - /* pci_scan_bus_parented skips devices which do not have a have > + /* pci_scan_root_bus skips devices which do not have a > * devfn==0. The pcifront_scan_bus enumerates all devfn. */ > err = pcifront_scan_bus(pdev, domain, bus, b); > > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753060AbbCKWdL (ORCPT ); Wed, 11 Mar 2015 18:33:11 -0400 Received: from mail-ie0-f169.google.com ([209.85.223.169]:34371 "EHLO mail-ie0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752974AbbCKWdE (ORCPT ); Wed, 11 Mar 2015 18:33:04 -0400 Date: Wed, 11 Mar 2015 17:32:11 -0500 From: Bjorn Helgaas To: Yijing Wang Cc: Jiang Liu , linux-pci@vger.kernel.org, Yinghai Lu , linux-kernel@vger.kernel.org, Marc Zyngier , linux-arm-kernel@lists.infradead.org, Russell King , x86@kernel.org, Thomas Gleixner , Benjamin Herrenschmidt , Rusty Russell , Tony Luck , linux-ia64@vger.kernel.org, "David S. Miller" , Guan Xuetao , linux-alpha@vger.kernel.org, linux-m68k@vger.kernel.org, Liviu Dudau , Arnd Bergmann , Geert Uytterhoeven , Konrad Rzeszutek Wilk , xen-devel@lists.xenproject.org Subject: Re: [PATCH v6 04/30] xen/PCI: Don't use deprecated function pci_scan_bus_parented() Message-ID: <20150311223211.GB1082@google.com> References: <1425868467-9667-1-git-send-email-wangyijing@huawei.com> <1425868467-9667-5-git-send-email-wangyijing@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1425868467-9667-5-git-send-email-wangyijing@huawei.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Mar 09, 2015 at 10:34:01AM +0800, Yijing Wang wrote: > From: Arnd Bergmann > > Use pci_scan_root_bus() instead of deprecated function > pci_scan_bus_parented(). > > Signed-off-by: Arnd Bergmann > Signed-off-by: Yijing Wang > CC: Konrad Rzeszutek Wilk > CC: xen-devel@lists.xenproject.org > Signed-off-by: Bjorn Helgaas > --- > drivers/pci/xen-pcifront.c | 12 +++++++++--- > 1 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c > index b1ffebe..9e7c28b 100644 > --- a/drivers/pci/xen-pcifront.c > +++ b/drivers/pci/xen-pcifront.c > @@ -21,6 +21,7 @@ > #include > #include > #include > +#include "pci.h" > > #include > #define INVALID_GRANT_REF (0) > @@ -446,6 +447,7 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > unsigned int domain, unsigned int bus) > { > struct pci_bus *b; > + LIST_HEAD(resources); > struct pcifront_sd *sd = NULL; > struct pci_bus_entry *bus_entry = NULL; > int err = 0; > @@ -470,17 +472,21 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > err = -ENOMEM; > goto err_out; > } > + pci_add_resource(&resources, &ioport_resource); > + pci_add_resource(&resources, &iomem_resource); > + pci_add_resource(&resources, &busn_resource); Since I don't want to export busn_resource, you might have to allocate your own struct resource for it here. And, of course, figure out the details of which PCI domain you're in and whether you need to share one struct resource across several host bridges in the same domain. > pcifront_init_sd(sd, domain, bus, pdev); > > pci_lock_rescan_remove(); > > - b = pci_scan_bus_parented(&pdev->xdev->dev, bus, > - &pcifront_bus_ops, sd); > + b = pci_scan_root_bus(&pdev->xdev->dev, bus, > + &pcifront_bus_ops, sd, &resources); > if (!b) { > dev_err(&pdev->xdev->dev, > "Error creating PCI Frontend Bus!\n"); > err = -ENOMEM; > pci_unlock_rescan_remove(); > + pci_free_resource_list(&resources); > goto err_out; > } > > @@ -488,7 +494,7 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > > list_add(&bus_entry->list, &pdev->root_buses); > > - /* pci_scan_bus_parented skips devices which do not have a have > + /* pci_scan_root_bus skips devices which do not have a > * devfn==0. The pcifront_scan_bus enumerates all devfn. */ > err = pcifront_scan_bus(pdev, domain, bus, b); > > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html