diff options
Diffstat (limited to 'arch/arm/kernel/bios32.c')
-rw-r--r-- | arch/arm/kernel/bios32.c | 37 |
1 files changed, 3 insertions, 34 deletions
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c index 317da88ae65b..91f48804e3bb 100644 --- a/arch/arm/kernel/bios32.c +++ b/arch/arm/kernel/bios32.c | |||
@@ -608,41 +608,10 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res, | |||
608 | */ | 608 | */ |
609 | int pcibios_enable_device(struct pci_dev *dev, int mask) | 609 | int pcibios_enable_device(struct pci_dev *dev, int mask) |
610 | { | 610 | { |
611 | u16 cmd, old_cmd; | 611 | if (pci_has_flag(PCI_PROBE_ONLY)) |
612 | int idx; | 612 | return 0; |
613 | struct resource *r; | ||
614 | |||
615 | pci_read_config_word(dev, PCI_COMMAND, &cmd); | ||
616 | old_cmd = cmd; | ||
617 | for (idx = 0; idx < 6; idx++) { | ||
618 | /* Only set up the requested stuff */ | ||
619 | if (!(mask & (1 << idx))) | ||
620 | continue; | ||
621 | |||
622 | r = dev->resource + idx; | ||
623 | if (!r->start && r->end) { | ||
624 | printk(KERN_ERR "PCI: Device %s not available because" | ||
625 | " of resource collisions\n", pci_name(dev)); | ||
626 | return -EINVAL; | ||
627 | } | ||
628 | if (r->flags & IORESOURCE_IO) | ||
629 | cmd |= PCI_COMMAND_IO; | ||
630 | if (r->flags & IORESOURCE_MEM) | ||
631 | cmd |= PCI_COMMAND_MEMORY; | ||
632 | } | ||
633 | 613 | ||
634 | /* | 614 | return pci_enable_resources(dev, mask); |
635 | * Bridges (eg, cardbus bridges) need to be fully enabled | ||
636 | */ | ||
637 | if ((dev->class >> 16) == PCI_BASE_CLASS_BRIDGE) | ||
638 | cmd |= PCI_COMMAND_IO | PCI_COMMAND_MEMORY; | ||
639 | |||
640 | if (cmd != old_cmd) { | ||
641 | printk("PCI: enabling device %s (%04x -> %04x)\n", | ||
642 | pci_name(dev), old_cmd, cmd); | ||
643 | pci_write_config_word(dev, PCI_COMMAND, cmd); | ||
644 | } | ||
645 | return 0; | ||
646 | } | 615 | } |
647 | 616 | ||
648 | int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, | 617 | int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, |