diff --git a/kernel/busses/i2c-sis645.c b/kernel/busses/i2c-sis645.c index ea80d88d..dff8203e 100644 --- a/kernel/busses/i2c-sis645.c +++ b/kernel/busses/i2c-sis645.c @@ -62,6 +62,10 @@ #define PCI_DEVICE_ID_SI_651 0x0651 #endif +/* SiS85C503/5513 (LPC Bridge) */ +#ifndef PCI_DEVICE_ID_SI_LPC +#define PCI_DEVICE_ID_SI_LPC 0x0018 +#endif /* SiS961 south bridge */ #ifndef PCI_DEVICE_ID_SI_961 @@ -235,6 +239,7 @@ static int __devinit sis645_probe(struct pci_dev *dev, const struct pci_device_i break; case PCI_DEVICE_ID_SI_503: + case PCI_DEVICE_ID_SI_LPC: printk(KERN_INFO DRV_NAME ": Found SiS south bridge in compatability mode(?)\n"); /* look for known compatible north bridges */ @@ -249,7 +254,9 @@ static int __devinit sis645_probe(struct pci_dev *dev, const struct pci_device_i && (NULL == pci_find_device(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_651, NULL)) && (NULL == pci_find_device(PCI_VENDOR_ID_SI, - PCI_DEVICE_ID_SI_735, NULL))) { + PCI_DEVICE_ID_SI_735, NULL)) + && (NULL == pci_find_device(PCI_VENDOR_ID_SI, + PCI_DEVICE_ID_SI_745, NULL))) { printk(KERN_ERR DRV_NAME ": Can't find suitable host bridge!\n"); return -ENODEV; } @@ -508,8 +515,10 @@ static struct pci_device_id sis645_ids[] __devinitdata = { /* look for these south bridges */ { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503, PCI_ANY_ID, PCI_ANY_ID, }, + { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_LPC, PCI_ANY_ID, PCI_ANY_ID, }, { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_961, PCI_ANY_ID, PCI_ANY_ID, }, { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_962, PCI_ANY_ID, PCI_ANY_ID, }, + { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_963, PCI_ANY_ID, PCI_ANY_ID, }, { 0, } }; diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect index 8d9f4d85..4b549ece 100755 --- a/prog/detect/sensors-detect +++ b/prog/detect/sensors-detect @@ -180,6 +180,14 @@ use vars qw(@pci_adapters @chip_ids @superio_ids @undetectable_adapters @dmideco driver => "i2c-sis5595", match => sub { $_[0] =~ /^SMBus SIS5595 adapter at [0-9,a-f]{4}/ }, } , + { + vendid => 0x1039, + devid => 0x0018, + func => 0, + procid => "Silicon Integrated Systems 85C503/5513 (LPC Bridge)", + driver => "i2c-sis645", + match => sub { $_[0] =~ /^SMBus SiS645 adapter at 0x[0-9,a-f]{4}/ }, + } , { vendid => 0x1039, devid => 0x5597, @@ -260,6 +268,14 @@ use vars qw(@pci_adapters @chip_ids @superio_ids @undetectable_adapters @dmideco driver => "i2c-sis645", match => sub { $_[0] =~ /^SMBus SiS645 adapter at 0x[0-9,a-f]{4}/ }, } , + { + vendid => 0x1039, + devid => 0x0745, + func => 0, + procid => "Silicon Integrated Systems SIS745", + driver => "i2c-sis645", + match => sub { $_[0] =~ /^SMBus SiS645 adapter at 0x[0-9,a-f]{4}/ }, + } , { vendid => 0x1039, devid => 0x0730,