i810 watchdog driver: support for i815/i8[2456]0 chipsets
PATCH 1/1 i810 watchdog driver: support for i815/i8[2456]0 chipsets
Hi all,
this small patch (2.4.5-ac16) adds Intel i815/i820/i840/i850/i860 chipsets support into i810 TCO watchdog driver, also MODULE_DEVICE_TABLE added.
Should work but untested (can't stop server just to test it :)
Best regards.
Signature · 2 lines
Andrey Panin | Embedded systems software engineer [email protected] | PGP key: http://www.orbita1.ru/~pazke/AndreyPanin.asc
drivers/char/i810-tco.c +26 -4
@@ -232,18 +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 ); + +pci_for_each_dev (dev) { + i810tco_pci =pci_match_device (i810tco_pci_tbl, dev); +if (i810tco_pci !=NULL ) +break ; + } +if (i810tco_pci) {/* * Find the ACPI base I/O address which is the base