powerpc/pci: Add calls to set_pcie_port_type() and set_pcie_hotplug_bridge()
We are missing these when building the pci_dev from scratch off the Open Firmware device-tree Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
		
							parent
							
								
									b04da8bfdf
								
							
						
					
					
						commit
						bb209c8287
					
				| @ -140,6 +140,7 @@ struct pci_dev *of_create_pci_dev(struct device_node *node, | ||||
| 	dev->devfn = devfn; | ||||
| 	dev->multifunction = 0;		/* maybe a lie? */ | ||||
| 	dev->needs_freset = 0;		/* pcie fundamental reset required */ | ||||
| 	set_pcie_port_type(dev); | ||||
| 
 | ||||
| 	dev->vendor = get_int_prop(node, "vendor-id", 0xffff); | ||||
| 	dev->device = get_int_prop(node, "device-id", 0xffff); | ||||
| @ -164,6 +165,7 @@ struct pci_dev *of_create_pci_dev(struct device_node *node, | ||||
| 		/* a PCI-PCI bridge */ | ||||
| 		dev->hdr_type = PCI_HEADER_TYPE_BRIDGE; | ||||
| 		dev->rom_base_reg = PCI_ROM_ADDRESS1; | ||||
| 		set_pcie_hotplug_bridge(dev); | ||||
| 	} else if (!strcmp(type, "cardbus")) { | ||||
| 		dev->hdr_type = PCI_HEADER_TYPE_CARDBUS; | ||||
| 	} else { | ||||
|  | ||||
| @ -681,7 +681,7 @@ static void pci_read_irq(struct pci_dev *dev) | ||||
| 	dev->irq = irq; | ||||
| } | ||||
| 
 | ||||
| static void set_pcie_port_type(struct pci_dev *pdev) | ||||
| void set_pcie_port_type(struct pci_dev *pdev) | ||||
| { | ||||
| 	int pos; | ||||
| 	u16 reg16; | ||||
| @ -695,7 +695,7 @@ static void set_pcie_port_type(struct pci_dev *pdev) | ||||
| 	pdev->pcie_type = (reg16 & PCI_EXP_FLAGS_TYPE) >> 4; | ||||
| } | ||||
| 
 | ||||
| static void set_pcie_hotplug_bridge(struct pci_dev *pdev) | ||||
| void set_pcie_hotplug_bridge(struct pci_dev *pdev) | ||||
| { | ||||
| 	int pos; | ||||
| 	u16 reg16; | ||||
|  | ||||
| @ -756,6 +756,10 @@ pci_power_t pci_target_state(struct pci_dev *dev); | ||||
| int pci_prepare_to_sleep(struct pci_dev *dev); | ||||
| int pci_back_from_sleep(struct pci_dev *dev); | ||||
| 
 | ||||
| /* For use by arch with custom probe code */ | ||||
| void set_pcie_port_type(struct pci_dev *pdev); | ||||
| void set_pcie_hotplug_bridge(struct pci_dev *pdev); | ||||
| 
 | ||||
| /* Functions for PCI Hotplug drivers to use */ | ||||
| int pci_bus_find_capability(struct pci_bus *bus, unsigned int devfn, int cap); | ||||
| #ifdef CONFIG_HOTPLUG | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user