Changeset 5970 for lm-sensors/trunk/prog

Show
Ignore:
Timestamp:
05/07/11 09:52:59 (13 months ago)
Author:
khali
Message:

Drop unreliable detection of Maxim MAX6650 and MAX6651.

Files:
1 modified

Legend:

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

    r5968 r5970  
    848848                i2c_addrs => [0x2c, 0x2e, 0x2f], 
    849849                i2c_detect => sub { max6639_detect(@_); }, 
    850         }, { 
    851                 name => "Maxim MAX6650/MAX6651", 
    852                 driver => "max6650", 
    853                 i2c_addrs => [0x1b, 0x1f, 0x48, 0x4b], 
    854                 i2c_detect => sub { max6650_detect(@_); }, 
    855850        }, { 
    856851                name => "Maxim MAX6655/MAX6656", 
     
    57775772} 
    57785773 
    5779 # The max6650 has no device ID register. However, a few registers have 
    5780 # spare bits, which are documented as being always zero on read. We read 
    5781 # all of these registers check the spare bits. Any non-zero means this 
    5782 # is not a max6650/1. 
    5783 # 
    5784 # The always zero bits are: 
    5785 #   configuration byte register (0x02) - top 2 bits 
    5786 #   gpio status register (0x14) - top 3 bits 
    5787 #   alarm enable register (0x08) - top 3 bits 
    5788 #   alarm status register (0x0A) - top 3 bits 
    5789 #   tachometer count time register (0x16) - top 6 bits 
    5790 # Additionally, not all values are possible for lower 3 bits of 
    5791 # the configuration register. 
    5792 sub max6650_detect 
    5793 { 
    5794         my ($file, $addr) = @_; 
    5795  
    5796         my $conf = i2c_smbus_read_byte_data($file, 0x02); 
    5797  
    5798         return if i2c_smbus_read_byte_data($file, 0x16) & 0xFC; 
    5799         return if i2c_smbus_read_byte_data($file, 0x0A) & 0xE0; 
    5800         return if i2c_smbus_read_byte_data($file, 0x08) & 0xE0; 
    5801         return if i2c_smbus_read_byte_data($file, 0x14) & 0xE0; 
    5802         return if ($conf & 0xC0) or ($conf & 0x07) > 4; 
    5803  
    5804         return 2; 
    5805 } 
    5806  
    58075774sub max6655_detect 
    58085775{