From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755977AbbCCDd6 (ORCPT ); Mon, 2 Mar 2015 22:33:58 -0500 Received: from szxga03-in.huawei.com ([119.145.14.66]:29908 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754064AbbCCDdz (ORCPT ); Mon, 2 Mar 2015 22:33:55 -0500 Message-ID: <54F52B8B.1010309@huawei.com> Date: Tue, 3 Mar 2015 11:33:31 +0800 From: Yijing Wang User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.0.1 MIME-Version: 1.0 To: Bjorn Helgaas CC: Jiang Liu , , Yinghai Lu , , Marc Zyngier , , Russell King , , Thomas Gleixner , Benjamin Herrenschmidt , Rusty Russell , Tony Luck , , "David S. Miller" , "Guan Xuetao" , , , Liviu Dudau , "Arnd Bergmann" , Geert Uytterhoeven , "Konrad Rzeszutek Wilk" , Subject: Re: [PATCH v4 03/30] xen/PCI: Don't use deprecated function pci_scan_bus_parented() References: <1424938344-4017-1-git-send-email-wangyijing@huawei.com> <1424938344-4017-4-git-send-email-wangyijing@huawei.com> <20150303020249.GC11978@google.com> In-Reply-To: <20150303020249.GC11978@google.com> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.177.27.212] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020203.54F52B96.0015,ss=1,re=0.001,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-05-26 15:14:31, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 52ecd95bb24c5c6afd6bf3ef1325f320 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >> --- a/drivers/pci/xen-pcifront.c >> +++ b/drivers/pci/xen-pcifront.c >> @@ -446,6 +446,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 +471,20 @@ 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); > > This doesn't add &busn_resource like pci_scan_bus_parented() does. > That might be OK, but I think we'll now emit "No busn resource found for > root bus, will use [bus %02x-ff]" when we didn't before. I don't know how > xen-pcifront works; it would be nice if it could supply the correct > bus resource (and ioport and iomem). Because the pci_scan_bus_parented() add the default busn_resource for it, I would add the default busn_resource in pcifront_scan_root() too to fix the "No busn resource found ..." debug info. > >> 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 +492,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 have > > Please fix the comment typo at the same time ("have a have"). Ok. > >> * devfn==0. The pcifront_scan_bus enumerates all devfn. */ >> err = pcifront_scan_bus(pdev, domain, bus, b); >> >> -- >> 1.7.1 >> > > . > -- Thanks! Yijing