Changeset 2693

Show
Ignore:
Timestamp:
09/19/04 19:39:08 (9 years ago)
Author:
khali
Message:

Fix init: no chip reset, discard usless code.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/kernel/chips/lm78.c

    r2445 r2693  
    476476} 
    477477 
    478 /* Called when we have found a new LM78. It should set limits, etc. */ 
     478/* Called when we have found a new LM78. */ 
    479479static void lm78_init_client(struct i2c_client *client) 
    480480{ 
    481         int vid; 
    482  
    483         /* Reset all except Watchdog values and last conversion values 
    484            This sets fan-divs to 2, among others */ 
    485         lm78_write_value(client, LM78_REG_CONFIG, 0x80); 
    486  
    487         vid = lm78_read_value(client, LM78_REG_VID_FANDIV) & 0x0f; 
    488         if (((struct lm78_data *) (client->data))->type == lm79) 
    489                 vid |= 
    490                     (lm78_read_value(client, LM78_REG_CHIPID) & 0x01) << 4; 
    491         else 
    492                 vid |= 0x10; 
    493         vid = VID_FROM_REG(vid); 
     481        u8 config = lm78_read_value(client, LM78_REG_CONFIG); 
    494482 
    495483        /* Start monitoring */ 
    496         lm78_write_value(client, LM78_REG_CONFIG, 
    497                          (lm78_read_value(client, LM78_REG_CONFIG) & 0xf7) 
    498                          | 0x01); 
    499  
     484        if (!(config & 0x01)) 
     485                lm78_write_value(client, LM78_REG_CONFIG, 
     486                                 (config & 0xf7) | 0x01); 
    500487} 
    501488