Changeset 4190

Show
Ignore:
Timestamp:
09/28/06 14:56:50 (2 years ago)
Author:
khali
Message:

i2c-algo-bit: Cleanups (2.6 backport)

* Uninline long functions (saves around 1 kB or 15%)
* Refactor code in sclhi()
* Drop redundant udelay on repeated start
* Delete ifdef'd out code

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • i2c/trunk/CHANGES

    r4189 r4190  
    1111  i2c.h: Drop declaration of unimplemented slave functions (2.6 backport) 
    1212  i2c-core: Drop useless bitmasking (2.6 backport) 
     13  i2c-algo-bit: Cleanups (2.6 backport) 
    1314 
    14152.10.1 (20060924) 
  • i2c/trunk/kernel/i2c-algo-bit.c

    r4072 r4190  
    7979 * devices. 
    8080 */ 
    81 static inline int sclhi(struct i2c_algo_bit_data *adap) 
     81static int sclhi(struct i2c_algo_bit_data *adap) 
    8282{ 
    8383        int start; 
     
    8686 
    8787        /* Not all adapters have scl sense line... */ 
    88         if (adap->getscl == NULL ) { 
    89                 udelay(adap->udelay); 
    90                 return 0; 
    91         } 
     88        if (!adap->getscl) 
     89                goto done; 
    9290 
    9391        start=jiffies; 
     
    105103        } 
    106104        DEBSTAT(printk(KERN_DEBUG "needed %ld jiffies\n", jiffies-start)); 
     105 
     106done: 
    107107        udelay(adap->udelay); 
    108108        return 0; 
     
    125125        setsda(adap,1); 
    126126        sclhi(adap); 
    127         udelay(adap->udelay); 
    128127         
    129128        sdalo(adap); 
     
    310309 * -x transmission error 
    311310 */ 
    312 static inline int try_address(struct i2c_adapter *i2c_adap, 
     311static int try_address(struct i2c_adapter *i2c_adap, 
    313312                       unsigned char addr, int retries) 
    314313{ 
     
    360359                                /* got a better one ?? */ 
    361360                } 
    362 #if 0 
    363                 /* from asm/delay.h */ 
    364                 __delay(adap->mdelay * (loops_per_sec / 1000) ); 
    365 #endif 
    366361        } 
    367362        return wrcount; 
    368363} 
    369364 
    370 static inline int readbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msg) 
     365static int readbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msg) 
    371366{ 
    372367        int inval; 
     
    433428 *      -ETIMEDOUT, for example if the lines are stuck...)  
    434429 */ 
    435 static inline int bit_doAddress(struct i2c_adapter *i2c_adap, struct i2c_msg *msg)  
     430static int bit_doAddress(struct i2c_adapter *i2c_adap, struct i2c_msg *msg)  
    436431{ 
    437432        unsigned short flags = msg->flags;