aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Brownell <david-b@pacbell.net>2007-10-13 17:56:32 -0400
committerJean Delvare <khali@hyperion.delvare>2007-10-13 17:56:32 -0400
commit08fb68bb4bbc9c5970e4ed4920cb6144a70684cd (patch)
tree531d027132f87ec878473a68afec556b423327e4
parent53be79593452e568a856f8393985131848d59b72 (diff)
i2c: Move i2c-dev interfaces to i2c-dev.h
Move the i2c-dev support into <linux/i2c-dev.h> where it should always have lived. Now <linux/i2c.h> no longer holds stuff related to the optional userspace /dev/i2c-X interface. Improve the descriptions for these ioctl requests. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Jean Delvare <khali@linux-fr.org>
-rw-r--r--include/linux/i2c-dev.h31
-rw-r--r--include/linux/i2c.h30
2 files changed, 29 insertions, 32 deletions
diff --git a/include/linux/i2c-dev.h b/include/linux/i2c-dev.h
index 81c229a0fbca..311315b56b61 100644
--- a/include/linux/i2c-dev.h
+++ b/include/linux/i2c-dev.h
@@ -25,8 +25,31 @@
25#include <linux/types.h> 25#include <linux/types.h>
26#include <linux/compiler.h> 26#include <linux/compiler.h>
27 27
28/* Some IOCTL commands are defined in <linux/i2c.h> */ 28/* /dev/i2c-X ioctl commands. The ioctl's parameter is always an
29/* Note: 10-bit addresses are NOT supported! */ 29 * unsigned long, except for:
30 * - I2C_FUNCS, takes pointer to an unsigned long
31 * - I2C_RDWR, takes pointer to struct i2c_rdwr_ioctl_data
32 * - I2C_SMBUS, takes pointer to struct i2c_smbus_ioctl_data
33 */
34#define I2C_RETRIES 0x0701 /* number of times a device address should
35 be polled when not acknowledging */
36#define I2C_TIMEOUT 0x0702 /* set timeout in jiffies - call with int */
37
38/* NOTE: Slave address is 7 or 10 bits, but 10-bit addresses
39 * are NOT supported! (due to code brokenness)
40 */
41#define I2C_SLAVE 0x0703 /* Use this slave address */
42#define I2C_SLAVE_FORCE 0x0706 /* Use this slave address, even if it
43 is already in use by a driver! */
44#define I2C_TENBIT 0x0704 /* 0 for 7 bit addrs, != 0 for 10 bit */
45
46#define I2C_FUNCS 0x0705 /* Get the adapter functionality mask */
47
48#define I2C_RDWR 0x0707 /* Combined R/W transfer (one STOP only) */
49
50#define I2C_PEC 0x0708 /* != 0 to use PEC with SMBus */
51#define I2C_SMBUS 0x0720 /* SMBus transfer */
52
30 53
31/* This is the structure as used in the I2C_SMBUS ioctl call */ 54/* This is the structure as used in the I2C_SMBUS ioctl call */
32struct i2c_smbus_ioctl_data { 55struct i2c_smbus_ioctl_data {
@@ -44,4 +67,8 @@ struct i2c_rdwr_ioctl_data {
44 67
45#define I2C_RDRW_IOCTL_MAX_MSGS 42 68#define I2C_RDRW_IOCTL_MAX_MSGS 42
46 69
70#ifdef __KERNEL__
71#define I2C_MAJOR 89 /* Device major number */
72#endif
73
47#endif /* _LINUX_I2C_DEV_H */ 74#endif /* _LINUX_I2C_DEV_H */
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index ae477b3106a2..e43d99d7551f 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -557,38 +557,8 @@ union i2c_smbus_data {
557#define I2C_SMBUS_I2C_BLOCK_DATA 8 557#define I2C_SMBUS_I2C_BLOCK_DATA 8
558 558
559 559
560/* ----- commands for the ioctl like i2c_command call:
561 * note that additional calls are defined in the algorithm and hw
562 * dependent layers - these can be listed here, or see the
563 * corresponding header files.
564 */
565 /* -> bit-adapter specific ioctls */
566#define I2C_RETRIES 0x0701 /* number of times a device address */
567 /* should be polled when not */
568 /* acknowledging */
569#define I2C_TIMEOUT 0x0702 /* set timeout - call with int */
570
571
572/* this is for i2c-dev.c */
573#define I2C_SLAVE 0x0703 /* Change slave address */
574 /* Attn.: Slave address is 7 or 10 bits */
575#define I2C_SLAVE_FORCE 0x0706 /* Change slave address */
576 /* Attn.: Slave address is 7 or 10 bits */
577 /* This changes the address, even if it */
578 /* is already taken! */
579#define I2C_TENBIT 0x0704 /* 0 for 7 bit addrs, != 0 for 10 bit */
580
581#define I2C_FUNCS 0x0705 /* Get the adapter functionality */
582#define I2C_RDWR 0x0707 /* Combined R/W transfer (one stop only)*/
583#define I2C_PEC 0x0708 /* != 0 for SMBus PEC */
584
585#define I2C_SMBUS 0x0720 /* SMBus-level access */
586
587/* ----- I2C-DEV: char device interface stuff ------------------------- */
588#ifdef __KERNEL__ 560#ifdef __KERNEL__
589 561
590#define I2C_MAJOR 89 /* Device major number */
591
592/* These defines are used for probing i2c client addresses */ 562/* These defines are used for probing i2c client addresses */
593/* The length of the option lists */ 563/* The length of the option lists */
594#define I2C_CLIENT_MAX_OPTS 48 564#define I2C_CLIENT_MAX_OPTS 48