patches/linux/2.6.11.3/160-linux-2.6.11-allow-gcc-4.0-i2c.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 13 10:32:38 2008 +0000 (2008-07-13)
changeset 645 8e58024f8e37
permissions -rw-r--r--
Ioannis E. VENETIS <venetis@mail.capsl.udel.edu> pointed out that GMP and MPFR were not used by gcc.
Turned out that none could use GMP and MPFR as the config option changed its name, but the change was not propagated to all users.

/trunk/scripts/build/binutils.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/300-gdb.sh | 2 1 1 0 +-
/trunk/scripts/build/cc_gcc.sh | 6 3 3 0 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
     1 Fixes
     2 
     3 In file included from fs/compat_ioctl.c:69,
     4                  from arch/ppc64/kernel/ioctl32.c:24:
     5 include/linux/i2c.h:58: error: array type has incomplete element type
     6 include/linux/i2c.h:197: error: array type has incomplete element type
     7 
     8 when compiling with gcc-4.0.
     9 
    10 --- linux-2.6.11.3/include/linux/i2c.h.old	2005-03-19 10:59:09.000000000 -0800
    11 +++ linux-2.6.11.3/include/linux/i2c.h	2005-03-19 11:01:37.000000000 -0800
    12 @@ -36,7 +36,22 @@
    13  
    14  /* --- General options ------------------------------------------------	*/
    15  
    16 -struct i2c_msg;
    17 +/*
    18 + * I2C Message - used for pure i2c transaction, also from /dev interface
    19 + */
    20 +struct i2c_msg {
    21 +	__u16 addr;	/* slave address			*/
    22 + 	__u16 flags;		
    23 +#define I2C_M_TEN	0x10	/* we have a ten bit chip address	*/
    24 +#define I2C_M_RD	0x01
    25 +#define I2C_M_NOSTART	0x4000
    26 +#define I2C_M_REV_DIR_ADDR	0x2000
    27 +#define I2C_M_IGNORE_NAK	0x1000
    28 +#define I2C_M_NO_RD_ACK		0x0800
    29 + 	__u16 len;		/* msg length				*/
    30 + 	__u8 *buf;		/* pointer to msg data			*/
    31 +};
    32 +
    33  struct i2c_algorithm;
    34  struct i2c_adapter;
    35  struct i2c_client;
    36 @@ -379,22 +394,6 @@
    37  /* Return 1 if adapter supports everything we need, 0 if not. */
    38  extern int i2c_check_functionality (struct i2c_adapter *adap, u32 func);
    39  
    40 -/*
    41 - * I2C Message - used for pure i2c transaction, also from /dev interface
    42 - */
    43 -struct i2c_msg {
    44 -	__u16 addr;	/* slave address			*/
    45 - 	__u16 flags;		
    46 -#define I2C_M_TEN	0x10	/* we have a ten bit chip address	*/
    47 -#define I2C_M_RD	0x01
    48 -#define I2C_M_NOSTART	0x4000
    49 -#define I2C_M_REV_DIR_ADDR	0x2000
    50 -#define I2C_M_IGNORE_NAK	0x1000
    51 -#define I2C_M_NO_RD_ACK		0x0800
    52 - 	__u16 len;		/* msg length				*/
    53 - 	__u8 *buf;		/* pointer to msg data			*/
    54 -};
    55 -
    56  /* To determine what functionality is present */
    57  
    58  #define I2C_FUNC_I2C			0x00000001