diff options
Diffstat (limited to 'arch/sparc/kernel/pci.c')
| -rw-r--r-- | arch/sparc/kernel/pci.c | 11 | 
1 files changed, 3 insertions, 8 deletions
| diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c index c928bc64b4ba..b91d7f146175 100644 --- a/arch/sparc/kernel/pci.c +++ b/arch/sparc/kernel/pci.c @@ -231,8 +231,7 @@ static void pci_parse_of_addrs(struct platform_device *op,  			res = &dev->resource[(i - PCI_BASE_ADDRESS_0) >> 2];  		} else if (i == dev->rom_base_reg) {  			res = &dev->resource[PCI_ROM_RESOURCE]; -			flags |= IORESOURCE_READONLY | IORESOURCE_CACHEABLE -			      | IORESOURCE_SIZEALIGN; +			flags |= IORESOURCE_READONLY | IORESOURCE_SIZEALIGN;  		} else {  			printk(KERN_ERR "PCI: bad cfg reg num 0x%x\n", i);  			continue; @@ -249,7 +248,6 @@ static struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm,  					 struct pci_bus *bus, int devfn)  {  	struct dev_archdata *sd; -	struct pci_slot *slot;  	struct platform_device *op;  	struct pci_dev *dev;  	const char *type; @@ -290,10 +288,7 @@ static struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm,  	dev->multifunction = 0;		/* maybe a lie? */  	set_pcie_port_type(dev); -	list_for_each_entry(slot, &dev->bus->slots, list) -		if (PCI_SLOT(dev->devfn) == slot->number) -			dev->slot = slot; - +	pci_dev_assign_slot(dev);  	dev->vendor = of_getintprop_default(node, "vendor-id", 0xffff);  	dev->device = of_getintprop_default(node, "device-id", 0xffff);  	dev->subsystem_vendor = @@ -918,7 +913,7 @@ int arch_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)  void arch_teardown_msi_irq(unsigned int irq)  {  	struct msi_desc *entry = irq_get_msi_desc(irq); -	struct pci_dev *pdev = entry->dev; +	struct pci_dev *pdev = msi_desc_to_pci_dev(entry);  	struct pci_pbm_info *pbm = pdev->dev.archdata.host_controller;  	if (pbm->teardown_msi_irq) |