aboutsummaryrefslogtreecommitdiffstats
path: root/arch/frv
diff options
context:
space:
mode:
Diffstat (limited to 'arch/frv')
-rw-r--r--arch/frv/mb93090-mb00/pci-frv.c32
-rw-r--r--arch/frv/mb93090-mb00/pci-frv.h1
-rw-r--r--arch/frv/mb93090-mb00/pci-vdk.c2
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
204int 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;
29extern unsigned int pcibios_max_latency; 29extern unsigned int pcibios_max_latency;
30 30
31void pcibios_resource_survey(void); 31void pcibios_resource_survey(void);
32int 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);