Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

David Brownell and committed by
Jean Delvare
08fb68bb 53be7959

+29 -32
+29 -2
include/linux/i2c-dev.h
··· 25 25 #include <linux/types.h> 26 26 #include <linux/compiler.h> 27 27 28 - /* Some IOCTL commands are defined in <linux/i2c.h> */ 29 - /* Note: 10-bit addresses are NOT supported! */ 28 + /* /dev/i2c-X ioctl commands. The ioctl's parameter is always an 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 54 /* This is the structure as used in the I2C_SMBUS ioctl call */ 32 55 struct i2c_smbus_ioctl_data { ··· 66 43 }; 67 44 68 45 #define I2C_RDRW_IOCTL_MAX_MSGS 42 46 + 47 + #ifdef __KERNEL__ 48 + #define I2C_MAJOR 89 /* Device major number */ 49 + #endif 69 50 70 51 #endif /* _LINUX_I2C_DEV_H */
-30
include/linux/i2c.h
··· 557 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 560 #ifdef __KERNEL__ 589 - 590 - #define I2C_MAJOR 89 /* Device major number */ 591 561 592 562 /* These defines are used for probing i2c client addresses */ 593 563 /* The length of the option lists */