Show
Ignore:
Timestamp:
07/07/02 17:45:14 (11 years ago)
Author:
mds
Message:

flush PCI posted writes on algo-bit PCI drivers.

Also check return code on ioremap_nocache().

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/kernel/busses/i2c-i810.c

    r1281 r1427  
    130130        outlong((val ? SCL_VAL_OUT : 0) | SCL_DIR | SCL_DIR_MASK | SCL_VAL_MASK, 
    131131             I810_GPIOB); 
     132        readlong(I810_GPIOB);   /* flush posted write */ 
    132133} 
    133134 
     
    136137        outlong((val ? SDA_VAL_OUT : 0) | SDA_DIR | SDA_DIR_MASK | SDA_VAL_MASK, 
    137138             I810_GPIOB); 
     139        readlong(I810_GPIOB);   /* flush posted write */ 
    138140} 
    139141 
     
    162164        outlong((val ? SCL_VAL_OUT : 0) | SCL_DIR | SCL_DIR_MASK | SCL_VAL_MASK, 
    163165             I810_GPIOA); 
     166        readlong(I810_GPIOA);   /* flush posted write */ 
    164167} 
    165168 
     
    168171        outlong((val ? SDA_VAL_OUT : 0) | SDA_DIR | SDA_DIR_MASK | SDA_VAL_MASK, 
    169172             I810_GPIOA); 
     173        readlong(I810_GPIOA);   /* flush posted write */ 
    170174} 
    171175 
     
    237241        cadr &= PCI_BASE_ADDRESS_MEM_MASK; 
    238242        mem = ioremap_nocache(cadr, 0x1000); 
    239         bit_i810i2c_setscl(NULL, 1); 
    240         bit_i810i2c_setsda(NULL, 1); 
    241         bit_i810ddc_setscl(NULL, 1); 
    242         bit_i810ddc_setsda(NULL, 1); 
     243        if(mem) { 
     244                bit_i810i2c_setscl(NULL, 1); 
     245                bit_i810i2c_setsda(NULL, 1); 
     246                bit_i810ddc_setscl(NULL, 1); 
     247                bit_i810ddc_setsda(NULL, 1); 
     248        } 
    243249} 
    244250 
     
    254260                                           *num++, dev))) { 
    255261                        config_i810(dev); 
     262                        if(!mem) 
     263                                return -ENOMEM; 
    256264                        printk("i2c-i810.o: i810/i815 found.\n"); 
    257265                        return 0;