Changeset 326

Show
Ignore:
Timestamp:
03/19/99 08:04:54 (14 years ago)
Author:
frodo
Message:

First bugfixes already

Location:
lm-sensors/trunk/kernel
Files:
2 modified

Legend:

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

    r325 r326  
    295295  const char *type_name = ""; 
    296296  const char *client_name = ""; 
     297  int is_isa = i2c_is_isa_adapter(adapter); 
    297298 
    298299 
     
    300301  /* We need address registration for the I2C bus too. That is not yet 
    301302     implemented. */ 
    302     if (i2c_is_isa_adapter(adapter)) { 
     303    if (is_isa) { 
    303304 
    304305#define REALLY_SLOW_IO 
     
    330331     But it allows us to access lm78_{read,write}_value. */ 
    331332 
    332   if (! (new_client = kmalloc((i2c_is_isa_adapter(adapter)? 
    333                                       sizeof(struct isa_client): 
     333  if (! (new_client = kmalloc((is_isa?sizeof(struct isa_client): 
    334334                                      sizeof(struct i2c_client)) +  
    335                                sizeof(struct lm78_data), 
     335                              sizeof(struct lm78_data), 
    336336                              GFP_KERNEL))) { 
    337337    err = -ENOMEM; 
     
    339339  } 
    340340 
    341   if (i2c_is_isa_adapter(adapter)) { 
     341  if (is_isa) { 
    342342    data = (struct lm78_data *) (((struct isa_client *) new_client) + 1); 
    343343    new_client->addr = 0; 
     
    357357    if (lm78_read_value(new_client,LM78_REG_CONFIG) & 0x80) 
    358358      goto ERROR1; 
    359     if (!i2c_is_isa_adapter(adapter) &&  
    360         (lm78_read_value(new_client,LM78_REG_I2C_ADDR) != address)) 
     359    if (!is_isa && (lm78_read_value(new_client,LM78_REG_I2C_ADDR) != address)) 
    361360      goto ERROR1; 
    362361  } 
     
    365364  if (kind <= 0) { 
    366365    i = lm78_read_value(new_client,LM78_REG_CHIPID); 
    367     if (i == 0x00) { 
     366    if (i == 0x00) 
    368367      kind = lm78; 
    369       type_name = "lm78"; 
    370       client_name = "LM78 chip"; 
    371     } else if (i == 0x40) { 
     368    else if (i == 0x40) 
    372369      kind = lm78j; 
    373       type_name = "lm78-j"; 
    374       client_name = "LM78-J chip"; 
    375     } else if ((i & 0xfe) == 0xc0) { 
     370    else if ((i & 0xfe) == 0xc0) 
    376371      kind = lm79; 
    377       type_name = "lm79"; 
    378       client_name = "LM79 chip"; 
    379     } else 
     372    else 
    380373      goto ERROR1; 
    381374  } 
    382375 
     376  if (kind == lm78) { 
     377    type_name = "lm78"; 
     378    client_name = "LM78 chip"; 
     379  } else if (kind == lm78j) { 
     380    type_name = "lm78-j"; 
     381    client_name = "LM78-J chip"; 
     382  } else if (kind == lm79) { 
     383    type_name = "lm79"; 
     384    client_name = "LM79 chip"; 
     385  } else 
     386    goto ERROR1; 
     387 
    383388  /* Reserve the ISA region */ 
    384   if i2c_is_isa_adapter(adapter) 
     389  if (is_isa) 
    385390    request_region(address, LM78_EXTENT, type_name); 
    386391 
     
    430435      lm78_list[i] = NULL; 
    431436ERROR2: 
    432   if i2c_is_isa_adapter(adapter) 
     437  if (is_isa) 
    433438    release_region(address,LM78_EXTENT); 
    434439ERROR1: 
  • lm-sensors/trunk/kernel/sensors.c

    r325 r326  
    589589  int addr,i,found,j,err; 
    590590  struct sensors_force_data *this_force; 
    591   int adapter_id = i2c_is_isa_adapter(adapter)?SENSORS_ISA_BUS: 
    592                                                i2c_adapter_id(adapter); 
    593  
    594 printk("IGNORE: %04hx %04hx %04hx %04hx %04hx %04hx\n",address_data->ignore[0],address_data->ignore[1],address_data->ignore[2],address_data->ignore[3],address_data->ignore[4],address_data->ignore[5]); 
     591  int is_isa = i2c_is_isa_adapter(adapter); 
     592  int adapter_id = is_isa?SENSORS_ISA_BUS:i2c_adapter_id(adapter); 
     593 
    595594  for (addr = 0x00;  
    596        addr <= (i2c_is_isa_adapter(adapter)?0xffff:0x7f);  
     595       addr <= (is_isa?0xffff:0x7f);  
    597596       addr ++) { 
    598597 
     
    605604      for (j = 0;  
    606605           !found && (this_force->force[j] != SENSORS_I2C_END) ;  
    607            i += 2) { 
     606           j += 2) { 
    608607        if (((adapter_id == this_force->force[j]) ||  
    609              (this_force->force[j] == SENSORS_ANY_I2C_BUS)) && 
     608             ((this_force->force[j] == SENSORS_ANY_I2C_BUS) && !is_isa)) && 
    610609            (addr == this_force->force[j+1])) { 
    611610          if ((err = found_proc(adapter,addr,this_force->kind))) 
     
    624623         i += 2) { 
    625624      if (((adapter_id == address_data->ignore[i]) ||  
    626            (address_data->ignore[i] == SENSORS_ANY_I2C_BUS)) && 
     625           ((address_data->ignore[i] == SENSORS_ANY_I2C_BUS) && !is_isa)) && 
    627626          (addr == address_data->ignore[i+1])) { 
    628627        found = 1; 
     
    633632         i += 3) { 
    634633      if (((adapter_id == address_data->ignore_range[i]) || 
    635            (address_data->ignore_range[i] == SENSORS_ANY_I2C_BUS)) && 
     634           ((address_data->ignore_range[i]==SENSORS_ANY_I2C_BUS) & !is_isa)) && 
    636635          (addr >= address_data->ignore_range[i+1]) && 
    637636          (addr <= address_data->ignore_range[i+2])) 
     
    643642    /* Now, we will do a detection, but only if it is in the normal or  
    644643       probe entries */ 
    645     if (i2c_is_isa_adapter(adapter)) { 
     644    if (is_isa) { 
    646645      for (i = 0; 
    647646           !found && (address_data->normal_isa[i] != SENSORS_ISA_END); 
     
    681680         i += 2) { 
    682681      if (((adapter_id == address_data->probe[i]) || 
    683            (address_data->probe[i] == SENSORS_ANY_I2C_BUS)) && 
     682           ((address_data->probe[i] == SENSORS_ANY_I2C_BUS) & !is_isa)) && 
    684683          (addr == address_data->probe[i+1])) { 
    685684        found = 1; 
     
    689688         i += 3) { 
    690689      if (((adapter_id == address_data->probe_range[i]) || 
    691            (address_data->probe_range[i] == SENSORS_ANY_I2C_BUS)) && 
     690           ((address_data->probe_range[i] == SENSORS_ANY_I2C_BUS) & !is_isa)) && 
    692691          (addr >= address_data->probe_range[i+1]) && 
    693692          (addr <= address_data->probe_range[i+2]))  
     
    700699    /* OK, so we really should examine this address. First check 
    701700       whether there is some client here at all! */ 
    702     if (i2c_is_isa_adapter(adapter) ||  
    703         (smbus_read_byte(adapter,addr) >= 0)) 
     701    if (is_isa || (smbus_read_byte(adapter,addr) >= 0)) 
    704702      if ((err = found_proc(adapter,addr,-1))) 
    705703        return err;