/* Core PCI functionality used only by PCI hotplug */#include <linux/pci.h>#include <linux/export.h>#include "pci.h"int__refpci_hp_add_bridge(structpci_dev*dev){structpci_bus*parent=dev->bus;intpass,busnr,start=parent->busn_res.start;intend=parent->busn_res.end;for(busnr=start;busnr<=end;busnr++){if(!pci_find_bus(pci_domain_nr(parent),busnr))break;}if(busnr-->end){printk(KERN_ERR"No bus number available for hot-added bridge %s\n",pci_name(dev));return-1;}for(pass=0;pass<2;pass++)busnr=pci_scan_bridge(parent,dev,busnr,pass);if(!dev->subordinate)return-1;return0;}EXPORT_SYMBOL_GPL(pci_hp_add_bridge);