Changeset 5972 for lm-sensors/trunk/prog

Show
Ignore:
Timestamp:
05/07/11 13:56:45 (13 months ago)
Author:
khali
Message:

Fix and improve EMC6W201 detection.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/prog/detect/sensors-detect

    r5971 r5972  
    564564        }, { 
    565565                name => "SMSC EMC6W201", 
    566                 driver => "to-be-written", 
     566                driver => "emc6w201", 
    567567                i2c_addrs => [0x2c..0x2e], 
    568568                i2c_detect => sub { emc6w201_detect(@_); }, 
     
    49374937        my $verstep = i2c_smbus_read_byte_data($file, 0x3f); 
    49384938        my $conf = i2c_smbus_read_byte_data($file, 0x40); 
    4939  
    4940         return if $vendor != 0x5c;                      # SMSC 
    4941         return if $verstep < 0xb0 || $verstep < 0xb1;   # EMC6W201 
     4939        my $stepping; 
     4940 
     4941        return if $vendor != 0x5c;              # SMSC 
     4942        return if ($verstep & 0xf0) != 0xb0;    # EMC6W201 
    49424943        return if ($conf & 0xf4) != 0x04; 
    49434944 
    4944         return 6; 
     4945        $stepping = $verstep & 0x0f; 
     4946        return if $stepping > 3; 
     4947 
     4948        # So far we've only seen stepping 1 chips 
     4949        return $stepping <= 1 ? 6 : 3; 
    49454950} 
    49464951