diff options
author | khali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0> | 2012-04-26 10:05:30 +0000 |
---|---|---|
committer | khali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0> | 2012-04-26 10:05:30 +0000 |
commit | 6c1dbcb2a0b1d18a3f75031c303ce90ca8ecf2b4 (patch) | |
tree | f7e9723bd26f06edd0f6763649146431e86c1cfa | |
parent | e53583395c952d1ef001f2c6d8064653b88dad6b (diff) | |
download | i2c-tools-6c1dbcb2a0b1d18a3f75031c303ce90ca8ecf2b4.tar.gz |
i2c-dev.h: Minimize differences with kernel flavor
git-svn-id: http://lm-sensors.org/svn/i2c-tools/trunk@6047 7894878c-1315-0410-8ee3-d5d059ff63e0
-rw-r--r-- | CHANGES | 3 | ||||
-rw-r--r-- | include/linux/i2c-dev.h | 60 |
2 files changed, 29 insertions, 34 deletions
@@ -2,8 +2,9 @@ i2c-tools CHANGES ----------------- SVN HEAD - decode-dumms: Decode module configuration type of DDR2 SDRAM + decode-dimms: Decode module configuration type of DDR2 SDRAM Decode bus width extension of DDR3 SDRAM + i2c-dev.h: Minimize differences with kernel flavor i2c-stub-from-dump: Be more tolerant on input dump format 3.1.0 (2011-12-04) diff --git a/include/linux/i2c-dev.h b/include/linux/i2c-dev.h index fb9b20a..98a49b1 100644 --- a/include/linux/i2c-dev.h +++ b/include/linux/i2c-dev.h @@ -20,10 +20,8 @@ MA 02110-1301 USA. */ -/* $Id$ */ - -#ifndef LIB_I2CDEV_H -#define LIB_I2CDEV_H +#ifndef _LINUX_I2C_DEV_H +#define _LINUX_I2C_DEV_H #include <linux/types.h> #include <sys/ioctl.h> @@ -111,52 +109,48 @@ union i2c_smbus_data { #define I2C_SMBUS_I2C_BLOCK_DATA 8 -/* ----- commands for the ioctl like i2c_command call: - * note that additional calls are defined in the algorithm and hw - * dependent layers - these can be listed here, or see the - * corresponding header files. +/* /dev/i2c-X ioctl commands. The ioctl's parameter is always an + * unsigned long, except for: + * - I2C_FUNCS, takes pointer to an unsigned long + * - I2C_RDWR, takes pointer to struct i2c_rdwr_ioctl_data + * - I2C_SMBUS, takes pointer to struct i2c_smbus_ioctl_data */ - /* -> bit-adapter specific ioctls */ -#define I2C_RETRIES 0x0701 /* number of times a device address */ - /* should be polled when not */ - /* acknowledging */ -#define I2C_TIMEOUT 0x0702 /* set timeout - call with int */ - - -/* this is for i2c-dev.c */ -#define I2C_SLAVE 0x0703 /* Change slave address */ - /* Attn.: Slave address is 7 or 10 bits */ -#define I2C_SLAVE_FORCE 0x0706 /* Change slave address */ - /* Attn.: Slave address is 7 or 10 bits */ - /* This changes the address, even if it */ - /* is already taken! */ -#define I2C_TENBIT 0x0704 /* 0 for 7 bit addrs, != 0 for 10 bit */ +#define I2C_RETRIES 0x0701 /* number of times a device address should + be polled when not acknowledging */ +#define I2C_TIMEOUT 0x0702 /* set timeout in units of 10 ms */ -#define I2C_FUNCS 0x0705 /* Get the adapter functionality */ -#define I2C_RDWR 0x0707 /* Combined R/W transfer (one stop only)*/ -#define I2C_PEC 0x0708 /* != 0 for SMBus PEC */ +/* NOTE: Slave address is 7 or 10 bits, but 10-bit addresses + * are NOT supported! (due to code brokenness) + */ +#define I2C_SLAVE 0x0703 /* Use this slave address */ +#define I2C_SLAVE_FORCE 0x0706 /* Use this slave address, even if it + is already in use by a driver! */ +#define I2C_TENBIT 0x0704 /* 0 for 7 bit addrs, != 0 for 10 bit */ -#define I2C_SMBUS 0x0720 /* SMBus-level access */ +#define I2C_FUNCS 0x0705 /* Get the adapter functionality mask */ -/* -- i2c.h -- */ +#define I2C_RDWR 0x0707 /* Combined R/W transfer (one STOP only) */ +#define I2C_PEC 0x0708 /* != 0 to use PEC with SMBus */ +#define I2C_SMBUS 0x0720 /* SMBus transfer */ -/* Note: 10-bit addresses are NOT supported! */ /* This is the structure as used in the I2C_SMBUS ioctl call */ struct i2c_smbus_ioctl_data { - char read_write; + __u8 read_write; __u8 command; - int size; + __u32 size; union i2c_smbus_data *data; }; /* This is the structure as used in the I2C_RDWR ioctl call */ struct i2c_rdwr_ioctl_data { struct i2c_msg *msgs; /* pointers to i2c_msgs */ - int nmsgs; /* number of i2c_msgs */ + __u32 nmsgs; /* number of i2c_msgs */ }; +#define I2C_RDRW_IOCTL_MAX_MSGS 42 + static inline __s32 i2c_smbus_access(int file, char read_write, __u8 command, int size, union i2c_smbus_data *data) @@ -332,4 +326,4 @@ static inline __s32 i2c_smbus_block_process_call(int file, __u8 command, } -#endif /* LIB_I2CDEV_H */ +#endif /* _LINUX_I2C_DEV_H */ |