soft_i2c: prevent compiler warnings if driver does not use CPU Pins.
authorHeiko Schocher <hs@denx.de>
Wed, 15 Oct 2008 07:35:26 +0000 (09:35 +0200)
committerWolfgang Denk <wd@denx.de>
Sat, 18 Oct 2008 19:54:01 +0000 (21:54 +0200)
This patch fixes the following warnings, when using
the soft_i2c driver using no CPU pins on MPC82xx or MPC8xx
systems:

soft_i2c.c: In function 'send_reset':
soft_i2c.c:93: warning: unused variable 'immr'
soft_i2c.c: In function 'send_start':
soft_i2c.c:124: warning: unused variable 'immr'
soft_i2c.c: In function 'send_stop':
soft_i2c.c:146: warning: unused variable 'immr'
soft_i2c.c: In function 'send_ack':
soft_i2c.c:171: warning: unused variable 'immr'
soft_i2c.c: In function 'write_byte':
soft_i2c.c:196: warning: unused variable 'immr'
soft_i2c.c: In function 'read_byte':
soft_i2c.c:244: warning: unused variable 'immr'

Signed-off-by: Heiko Schocher <hs@denx.de>
drivers/i2c/soft_i2c.c
include/i2c.h

index 57736da42486d2c8384b8d4c8f24dd3c4a1dad44..19c364b136e5c196f5f70d15885ab7b23cf98927 100644 (file)
@@ -82,7 +82,6 @@ static void  send_ack (int);
 static int   write_byte        (uchar byte);
 static uchar read_byte (int);
 
-
 /*-----------------------------------------------------------------------
  * Send a reset sequence consisting of 9 clocks with the data signal high
  * to clock any confused device back into an idle state.  Also send a
@@ -90,12 +89,7 @@ static uchar read_byte       (int);
  */
 static void send_reset(void)
 {
-#ifdef CONFIG_MPC8260
-       volatile ioport_t *iop = ioport_addr((immap_t *)CFG_IMMR, I2C_PORT);
-#endif
-#ifdef CONFIG_8xx
-       volatile immap_t *immr = (immap_t *)CFG_IMMR;
-#endif
+       I2C_SOFT_DECLARATIONS   /* intentional without ';' */
        int j;
 
        I2C_SCL(1);
@@ -121,12 +115,7 @@ static void send_reset(void)
  */
 static void send_start(void)
 {
-#ifdef CONFIG_MPC8260
-       volatile ioport_t *iop = ioport_addr((immap_t *)CFG_IMMR, I2C_PORT);
-#endif
-#ifdef CONFIG_8xx
-       volatile immap_t *immr = (immap_t *)CFG_IMMR;
-#endif
+       I2C_SOFT_DECLARATIONS   /* intentional without ';' */
 
        I2C_DELAY;
        I2C_SDA(1);
@@ -143,12 +132,7 @@ static void send_start(void)
  */
 static void send_stop(void)
 {
-#ifdef CONFIG_MPC8260
-       volatile ioport_t *iop = ioport_addr((immap_t *)CFG_IMMR, I2C_PORT);
-#endif
-#ifdef CONFIG_8xx
-       volatile immap_t *immr = (immap_t *)CFG_IMMR;
-#endif
+       I2C_SOFT_DECLARATIONS   /* intentional without ';' */
 
        I2C_SCL(0);
        I2C_DELAY;
@@ -168,12 +152,7 @@ static void send_stop(void)
  */
 static void send_ack(int ack)
 {
-#ifdef CONFIG_MPC8260
-       volatile ioport_t *iop = ioport_addr((immap_t *)CFG_IMMR, I2C_PORT);
-#endif
-#ifdef CONFIG_8xx
-       volatile immap_t *immr = (immap_t *)CFG_IMMR;
-#endif
+       I2C_SOFT_DECLARATIONS   /* intentional without ';' */
 
        I2C_SCL(0);
        I2C_DELAY;
@@ -193,12 +172,7 @@ static void send_ack(int ack)
  */
 static int write_byte(uchar data)
 {
-#ifdef CONFIG_MPC8260
-       volatile ioport_t *iop = ioport_addr((immap_t *)CFG_IMMR, I2C_PORT);
-#endif
-#ifdef CONFIG_8xx
-       volatile immap_t *immr = (immap_t *)CFG_IMMR;
-#endif
+       I2C_SOFT_DECLARATIONS   /* intentional without ';' */
        int j;
        int nack;
 
@@ -273,12 +247,7 @@ int i2c_set_bus_speed(unsigned int speed)
  */
 static uchar read_byte(int ack)
 {
-#ifdef CONFIG_MPC8260
-       volatile ioport_t *iop = ioport_addr((immap_t *)CFG_IMMR, I2C_PORT);
-#endif
-#ifdef CONFIG_8xx
-       volatile immap_t *immr = (immap_t *)CFG_IMMR;
-#endif
+       I2C_SOFT_DECLARATIONS   /* intentional without ';' */
        int  data;
        int  j;
 
index a51c16464ffbb3069dca9dcdebfec81d37cbfb11..a6e797a3835e90ec2989607cc27520c1d3df46c9 100644 (file)
 #define CFG_SPD_BUS_NUM                0
 #endif
 
+#ifndef I2C_SOFT_DECLARATIONS
+# if defined(CONFIG_MPC8260)
+#  define I2C_SOFT_DECLARATIONS volatile ioport_t *iop = ioport_addr((immap_t *)CFG_IMMR, I2C_PORT);
+# elif defined(CONFIG_8xx)
+#  define I2C_SOFT_DECLARATIONS        volatile immap_t *immr = (immap_t *)CFG_IMMR;
+# else
+#  define I2C_SOFT_DECLARATIONS
+# endif
+#endif
 /*
  * Initialization, must be called once on start up, may be called
  * repeatedly to change the speed and slave addresses.