]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] 2.5.33 dmi_scan blacklist ibm thinkpad for i2c/sensors
authorAlbert Cranford <ac9410@attbi.com>
Tue, 3 Sep 2002 11:37:22 +0000 (04:37 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Tue, 3 Sep 2002 11:37:22 +0000 (04:37 -0700)
This adds IBM thinkpads to a list of mainboards that should not be
scanned by i2c sensors during detection phase.

arch/i386/kernel/dmi_scan.c

index 2064e73278f122dbaf3c12729fc398bc347cdbe0..760e341dc9c17645b81f8cf24613f7c958de0f8f 100644 (file)
@@ -12,6 +12,7 @@
 
 unsigned long dmi_broken;
 int is_sony_vaio_laptop;
+int is_unsafe_smbus;
 
 struct dmi_header
 {
@@ -459,6 +460,19 @@ static int __init apm_kills_local_apic_timer(struct dmi_blacklist *d)
        return 0;
 }
 
+/* 
+ * Don't access SMBus on IBM systems which get corrupted eeproms 
+ */
+
+static __init int disable_smbus(struct dmi_blacklist *d)
+{
+       if (is_unsafe_smbus == 0) {
+               is_unsafe_smbus = 1;
+               printk(KERN_INFO "%s machine detected. Disabling SMBus accesses.\n", d->ident);
+       }
+       return 0;
+}
+
 /*
  *     Simple "print if true" callback
  */
@@ -732,6 +746,15 @@ static __initdata struct dmi_blacklist dmi_blacklist[]={
                        NO_MATCH, NO_MATCH, NO_MATCH
                        } },
 
+       /*
+        *      SMBus / sensors settings
+        */
+        
+       { disable_smbus, "IBM", {
+                       MATCH(DMI_SYS_VENDOR, "IBM"),
+                       NO_MATCH, NO_MATCH, NO_MATCH
+                       } },
+
        { NULL, }
 };