Changeset 5657

Show
Ignore:
Timestamp:
02/18/09 21:26:20 (4 years ago)
Author:
jwrdegoede
Message:

sensors-detect: Add a special case for probing i2c address 0x73 for FSC chips,
as at least the Syleus locks up with our regular probe code. Note that to our
current knowledge only FSC chips live on this address, and for them
this probe method is safe.

Location:
lm-sensors/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/CHANGES

    r5655 r5657  
    7979                  Add nNidia nForce MCP67, MCP73, MCP79 SMBus support 
    8080                  Exclude auto-loaded PCI and USB drivers from list (#2368) 
     81                  Special case probing i2c address 0x73 (to not crash FSC ICs) 
    8182  sensors-detect-stat.pl: Delete (functionality merged into sensors-detect) 
    8283  sysconfig-lm_sensors-convert: Sample config file conversion script (#2246) 
  • lm-sensors/trunk/prog/detect/sensors-detect

    r5635 r5657  
    25172517use constant I2C_FUNC_SMBUS_QUICK       => 0x00010000; 
    25182518use constant I2C_FUNC_SMBUS_READ_BYTE   => 0x00020000; 
     2519use constant I2C_FUNC_SMBUS_READ_BYTE_DATA      => 0x00080000; 
    25192520 
    25202521# Get the i2c adapter's functionalities 
     
    26402641                return 0 unless ($funcs & I2C_FUNC_SMBUS_READ_BYTE); 
    26412642                return i2c_smbus_access($file, SMBUS_READ, 0, SMBUS_BYTE, []); 
     2643        } elsif ($addr == 0x73) { 
     2644                # Special case for FSC chips, as at least the Syleus locks 
     2645                # up with our regular probe code. Note that to our current 
     2646                # knowledge only FSC chips live on this address, and for them 
     2647                # this probe method is safe. 
     2648                return 0 unless ($funcs & I2C_FUNC_SMBUS_READ_BYTE_DATA); 
     2649                return i2c_smbus_access($file, SMBUS_READ, 0, SMBUS_BYTE_DATA, []); 
    26422650        } else { 
    26432651                return 0 unless ($funcs & I2C_FUNC_SMBUS_QUICK);