patch-2.4.6 linux/drivers/char/i810-tco.c
Next file: linux/drivers/char/n_r3964.c
Previous file: linux/drivers/char/esp.c
Back to the patch index
Back to the overall index
- Lines: 55
- Date:
Mon Jul 2 13:56:41 2001
- Orig file:
v2.4.5/linux/drivers/char/i810-tco.c
- Orig date:
Thu May 24 15:14:08 2001
diff -u --recursive --new-file v2.4.5/linux/drivers/char/i810-tco.c linux/drivers/char/i810-tco.c
@@ -232,19 +232,40 @@
}
}
+/*
+ * Data for PCI driver interface
+ *
+ * This data only exists for exporting the supported
+ * PCI ids via MODULE_DEVICE_TABLE. We do not actually
+ * register a pci_driver, because someone else might one day
+ * want to register another driver on the same PCI id.
+ */
+static struct pci_device_id i810tco_pci_tbl[] __initdata = {
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AA_0, PCI_ANY_ID, PCI_ANY_ID, },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AB_0, PCI_ANY_ID, PCI_ANY_ID, },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, PCI_ANY_ID, PCI_ANY_ID, },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_10, PCI_ANY_ID, PCI_ANY_ID, },
+ { 0, },
+};
+MODULE_DEVICE_TABLE (pci, i810tco_pci_tbl);
+
static struct pci_dev *i810tco_pci;
static unsigned char i810tco_getdevice (void)
{
+ struct pci_dev *dev;
u8 val1, val2;
u16 badr;
/*
- * Find the PCI device which has vendor id 0x8086
- * and device ID 0x2410
+ * Find the PCI device
*/
- i810tco_pci = pci_find_device (PCI_VENDOR_ID_INTEL,
- PCI_DEVICE_ID_INTEL_82801AA_0, NULL);
- if (i810tco_pci) {
+
+ pci_for_each_dev(dev) {
+ if (pci_match_device(i810tco_pci_tbl, dev))
+ break;
+ }
+
+ if ((i810tco_pci = dev)) {
/*
* Find the ACPI base I/O address which is the base
* for the TCO registers (TCOBASE=ACPIBASE + 0x60)
@@ -268,7 +289,7 @@
pci_write_config_byte (i810tco_pci, 0xd4, val1);
pci_read_config_byte (i810tco_pci, 0xd4, &val1);
if (val1 & 0x02) {
- printk (KERN_ERR "i810tco init: failed to reset NO_REBOOT flag\n");
+ printk (KERN_ERR "i810tco init: failed to reset NO_REBOOT flag, reboot disabled by hardware\n");
return 0; /* Cannot reset NO_REBOOT bit */
}
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)