Changeset 3737
- Timestamp:
- 12/03/02 23:31:34 (10 years ago)
- Location:
- i2c/trunk
- Files:
-
- 4 modified
-
CHANGES (modified) (2 diffs)
-
doc/i2c-protocol (modified) (2 diffs)
-
kernel/i2c-algo-bit.c (modified) (2 diffs)
-
kernel/i2c.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
i2c/trunk/CHANGES
r3732 r3737 20 20 2.7.0 (200211??) 21 21 drivers (several): C99 initializers (sync w/ kernel 2.5.49); HZ fixes 22 i2c.h: Add I2C_M_IGNORE_NAK .22 i2c.h: Add I2C_M_IGNORE_NAK, I2C_M_NO_RD_ACK to flags. 23 23 i2c-algo-bit.c: Support I2C_M_IGNORE_NAK. Use time_after() with jiffies. 24 Debug message improvements. 24 Debug message improvements. Fix clock high time in sclhi(). 25 25 i2c-algo-8xx.c: Several updates and cleanups 26 26 i2c-algo-ibm_ocp.[ch], i2c-adap-ibm_ocp.c: Rename i2c_iic_[add,del]_bus to … … 32 32 i2c-proc.h: Add SENSORS_INSMOD_8; add naming for new dummy adapters 33 33 mkpatch: Fix export-objs 34 doc/i2c-protocol: Comment new client flags, fix I2C_M_NOSTART samples. 34 35 Makefile: Take kernel source location from /lib/modules/x.x.x/build 35 36 -
i2c/trunk/doc/i2c-protocol
r3490 r3737 53 53 54 54 Flag I2C_M_NOSTART: 55 In a combined transaction, no 'S Addr ' is generated at some point.56 For example, setting I2C_M_NOSTART on the second partial message55 In a combined transaction, no 'S Addr Wr/Rd [A]' is generated at some 56 point. For example, setting I2C_M_NOSTART on the second partial message 57 57 generates something like: 58 S Addr Rd [A] [Data] NA Wr [A]Data [A] P58 S Addr Rd [A] [Data] NA Data [A] P 59 59 If you set the I2C_M_NOSTART variable for the first partial message, 60 60 we do not generate Addr, but we do generate the startbit S. This will … … 66 66 flag. For example: 67 67 S Addr Rd [A] Data [A] Data [A] ... [A] Data [A] P 68 68 69 Flags I2C_M_IGNORE_NAK 70 Normally message is interrupted immediately if there is [NA] from the 71 client. Setting this flag treats any [NA] as [A], and all of 72 message is sent. 73 These messages may still fail to SCL lo->hi timeout. 74 75 Flags I2C_M_NO_RD_ACK 76 In a read message, master A/NA bit is skipped. -
i2c/trunk/kernel/i2c-algo-bit.c
r3732 r3737 103 103 104 104 setscl(adap,1); 105 udelay(adap->udelay);106 105 107 106 /* Not all adapters have scl sense line... */ … … 127 126 } 128 127 DEBSTAT(printk(KERN_DEBUG "needed %ld jiffies\n", jiffies-start)); 128 udelay(adap->udelay); 129 129 #ifdef SLO_IO 130 130 SLO_IO -
i2c/trunk/kernel/i2c.h
r3732 r3737 398 398 #define I2C_M_NOSTART 0x4000 399 399 #define I2C_M_REV_DIR_ADDR 0x2000 400 #define I2C_M_IGNORE_NAK 0x1000 400 #define I2C_M_IGNORE_NAK 0x1000 401 #define I2C_M_NO_RD_ACK 0x0800 401 402 short len; /* msg length */ 402 403 char *buf; /* pointer to msg data */ … … 407 408 #define I2C_FUNC_I2C 0x00000001 408 409 #define I2C_FUNC_10BIT_ADDR 0x00000002 409 #define I2C_FUNC_PROTOCOL_MANGLING 0x00000004 /* I2C_M_{REV_DIR_ADDR,NOSTART } */410 #define I2C_FUNC_PROTOCOL_MANGLING 0x00000004 /* I2C_M_{REV_DIR_ADDR,NOSTART,..} */ 410 411 #define I2C_FUNC_SMBUS_HWPEC_CALC 0x00000008 /* SMBus 2.0 */ 411 412 #define I2C_FUNC_SMBUS_READ_WORD_DATA_PEC 0x00000800 /* SMBus 2.0 */
