diff options
| -rw-r--r-- | arch/frv/mb93090-mb00/pci-frv.c | 32 | ||||
| -rw-r--r-- | arch/frv/mb93090-mb00/pci-frv.h | 1 | ||||
| -rw-r--r-- | arch/frv/mb93090-mb00/pci-vdk.c | 2 |
3 files changed, 1 insertions, 34 deletions
diff --git a/arch/frv/mb93090-mb00/pci-frv.c b/arch/frv/mb93090-mb00/pci-frv.c index edae117fcc2b..43d67534c712 100644 --- a/arch/frv/mb93090-mb00/pci-frv.c +++ b/arch/frv/mb93090-mb00/pci-frv.c | |||
| @@ -201,38 +201,6 @@ void __init pcibios_resource_survey(void) | |||
| 201 | pcibios_assign_resources(); | 201 | pcibios_assign_resources(); |
| 202 | } | 202 | } |
| 203 | 203 | ||
| 204 | int pcibios_enable_resources(struct pci_dev *dev, int mask) | ||
| 205 | { | ||
| 206 | u16 cmd, old_cmd; | ||
| 207 | int idx; | ||
| 208 | struct resource *r; | ||
| 209 | |||
| 210 | pci_read_config_word(dev, PCI_COMMAND, &cmd); | ||
| 211 | old_cmd = cmd; | ||
| 212 | for(idx=0; idx<6; idx++) { | ||
| 213 | /* Only set up the requested stuff */ | ||
| 214 | if (!(mask & (1<<idx))) | ||
| 215 | continue; | ||
| 216 | |||
| 217 | r = &dev->resource[idx]; | ||
| 218 | if (!r->start && r->end) { | ||
| 219 | printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", pci_name(dev)); | ||
| 220 | return -EINVAL; | ||
| 221 | } | ||
| 222 | if (r->flags & IORESOURCE_IO) | ||
| 223 | cmd |= PCI_COMMAND_IO; | ||
| 224 | if (r->flags & IORESOURCE_MEM) | ||
| 225 | cmd |= PCI_COMMAND_MEMORY; | ||
| 226 | } | ||
| 227 | if (dev->resource[PCI_ROM_RESOURCE].start) | ||
| 228 | cmd |= PCI_COMMAND_MEMORY; | ||
| 229 | if (cmd != old_cmd) { | ||
| 230 | printk("PCI: Enabling device %s (%04x -> %04x)\n", pci_name(dev), old_cmd, cmd); | ||
| 231 | pci_write_config_word(dev, PCI_COMMAND, cmd); | ||
| 232 | } | ||
| 233 | return 0; | ||
| 234 | } | ||
| 235 | |||
| 236 | /* | 204 | /* |
| 237 | * If we set up a device for bus mastering, we need to check the latency | 205 | * If we set up a device for bus mastering, we need to check the latency |
| 238 | * timer as certain crappy BIOSes forget to set it properly. | 206 | * timer as certain crappy BIOSes forget to set it properly. |
diff --git a/arch/frv/mb93090-mb00/pci-frv.h b/arch/frv/mb93090-mb00/pci-frv.h index 0c7bf39dc729..f3fe55914793 100644 --- a/arch/frv/mb93090-mb00/pci-frv.h +++ b/arch/frv/mb93090-mb00/pci-frv.h | |||
| @@ -29,7 +29,6 @@ extern unsigned int __nongpreldata pci_probe; | |||
| 29 | extern unsigned int pcibios_max_latency; | 29 | extern unsigned int pcibios_max_latency; |
| 30 | 30 | ||
| 31 | void pcibios_resource_survey(void); | 31 | void pcibios_resource_survey(void); |
| 32 | int pcibios_enable_resources(struct pci_dev *, int); | ||
| 33 | 32 | ||
| 34 | /* pci-vdk.c */ | 33 | /* pci-vdk.c */ |
| 35 | 34 | ||
diff --git a/arch/frv/mb93090-mb00/pci-vdk.c b/arch/frv/mb93090-mb00/pci-vdk.c index f003cfa68b7a..0f41c3a72da5 100644 --- a/arch/frv/mb93090-mb00/pci-vdk.c +++ b/arch/frv/mb93090-mb00/pci-vdk.c | |||
| @@ -412,7 +412,7 @@ int pcibios_enable_device(struct pci_dev *dev, int mask) | |||
| 412 | { | 412 | { |
| 413 | int err; | 413 | int err; |
| 414 | 414 | ||
| 415 | if ((err = pcibios_enable_resources(dev, mask)) < 0) | 415 | if ((err = pci_enable_resources(dev, mask)) < 0) |
| 416 | return err; | 416 | return err; |
| 417 | if (!dev->msi_enabled) | 417 | if (!dev->msi_enabled) |
| 418 | pcibios_enable_irq(dev); | 418 | pcibios_enable_irq(dev); |
