[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4 03/30] xen/PCI: Don't use deprecated function pci_scan_bus_parented()



>> --- 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


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.