diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-09-19 19:15:08 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-09-19 19:15:08 +0000 |
commit | 03ba4131783cc9e872f8bb26a03f15bc11f27564 (patch) | |
tree | 88db8dba75ae06ba3bad08e42c5e52efc162535c /drivers/pci | |
parent | 257730f99381dd26e10b832fce4c94cae7ac1176 (diff) |
- Merge with Linux 2.1.121.
- Bugfixes.
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/oldproc.c | 4 | ||||
-rw-r--r-- | drivers/pci/pci.c | 14 | ||||
-rw-r--r-- | drivers/pci/proc.c | 1 |
3 files changed, 12 insertions, 7 deletions
diff --git a/drivers/pci/oldproc.c b/drivers/pci/oldproc.c index a71f26bbe..95e904a40 100644 --- a/drivers/pci/oldproc.c +++ b/drivers/pci/oldproc.c @@ -1,5 +1,5 @@ /* - * $Id: oldproc.c,v 1.16 1998/07/19 17:50:18 davem Exp $ + * $Id: oldproc.c,v 1.20 1998/08/23 12:12:01 mj Exp $ * * Backward-compatible procfs interface for PCI. * @@ -122,7 +122,9 @@ struct pci_dev_info dev_info[] = { DEVICE( IBM, IBM_82351, "82351"), DEVICE( IBM, IBM_SERVERAID, "ServeRAID"), DEVICE( IBM, IBM_TR_WAKE, "Wake On LAN Token Ring"), + DEVICE( IBM, IBM_MPIC, "MPIC-2 Interrupt Controller"), DEVICE( IBM, IBM_3780IDSP, "MWave DSP"), + DEVICE( IBM, IBM_MPIC_2, "MPIC-2 ASIC Interrupt Controller"), DEVICE( WD, WD_7197, "WD 7197"), DEVICE( AMD, AMD_LANCE, "79C970"), DEVICE( AMD, AMD_SCSI, "53C974"), diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index b70b879ab..0f62a76c1 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -1,5 +1,5 @@ /* - * $Id: pci.c,v 1.86 1998/07/15 20:34:47 mj Exp $ + * $Id: pci.c,v 1.90 1998/09/05 12:39:39 mj Exp $ * * PCI Bus Services, see include/linux/pci.h for further explanation. * @@ -138,7 +138,8 @@ __initfunc(void pci_read_bases(struct pci_dev *dev, unsigned int howmany)) if (l == 0xffffffff) continue; dev->base_address[reg] = l; - if ((l & PCI_MEMORY_RANGE_TYPE_MASK) == PCI_BASE_ADDRESS_MEM_TYPE_64) { + if ((l & (PCI_BASE_ADDRESS_SPACE | PCI_BASE_ADDRESS_MEM_TYPE_MASK)) + == (PCI_BASE_ADDRESS_SPACE_MEMORY | PCI_BASE_ADDRESS_MEM_TYPE_64)) { reg++; pci_read_config_dword(dev, PCI_BASE_ADDRESS_0 + (reg << 2), &l); if (l) { @@ -170,13 +171,14 @@ __initfunc(unsigned int pci_scan_bus(struct pci_bus *bus)) /* not a multi-function device */ continue; } - pcibios_read_config_byte(bus->number, devfn, PCI_HEADER_TYPE, &hdr_type); + if (pcibios_read_config_byte(bus->number, devfn, PCI_HEADER_TYPE, &hdr_type)) + continue; if (!PCI_FUNC(devfn)) is_multi = hdr_type & 0x80; - pcibios_read_config_dword(bus->number, devfn, PCI_VENDOR_ID, &l); - /* some broken boards return 0 if a slot is empty: */ - if (l == 0xffffffff || l == 0x00000000 || l == 0x0000ffff || l == 0xffff0000) { + if (pcibios_read_config_dword(bus->number, devfn, PCI_VENDOR_ID, &l) || + /* some broken boards return 0 if a slot is empty: */ + l == 0xffffffff || l == 0x00000000 || l == 0x0000ffff || l == 0xffff0000) { is_multi = 0; continue; } diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c index b9362798f..d1a78fe53 100644 --- a/drivers/pci/proc.c +++ b/drivers/pci/proc.c @@ -204,6 +204,7 @@ static struct file_operations proc_bus_pci_operations = { NULL, /* ioctl */ NULL, /* mmap */ NULL, /* no special open code */ + NULL, /* flush */ NULL, /* no special release code */ NULL /* can't fsync */ }; |