Patchwork [U-Boot,04/39] GCC4.6: Squash warning in cmd_date.c

login
register
mail settings
Submitter Marek Vasut
Date Oct. 22, 2011, 12:16 a.m.
Message ID <1319242654-15534-5-git-send-email-marek.vasut@gmail.com>
Download mbox | patch
Permalink /patch/121100/
State Accepted
Commit cd7b4e82a2969e3db4f9b7b902191a10661409bd
Headers show

Comments

Marek Vasut - Oct. 22, 2011, 12:16 a.m.
cmd_date.c: In function ‘do_date’:
cmd_date.c:50:6: warning: variable ‘old_bus’ set but not used
[-Wunused-but-set-variable]

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Mike Frysinger <vapier@gentoo.org>
---
 include/i2c.h |   32 +++++++++++++++++++++++---------
 1 files changed, 23 insertions(+), 9 deletions(-)
Mike Frysinger - Oct. 30, 2011, 7:59 p.m.
On Friday 21 October 2011 20:16:59 Marek Vasut wrote:
> +static inline unsigned int I2C_GET_BUS(void)
> __attribute__((always_inline));
> +static inline unsigned int I2C_GET_BUS(void)
> +{

there's no need to have these prototypes double up.  if you really truly need 
the "always inline" markings, then use:
static __always_inline unsigned int I2C_GET_BUS(void)
-mike

Patch

diff --git a/include/i2c.h b/include/i2c.h
index 8ceb4c8..ee31034 100644
--- a/include/i2c.h
+++ b/include/i2c.h
@@ -46,16 +46,16 @@ 
  */
 #define I2C_RXTX_LEN	128	/* maximum tx/rx buffer length */
 
-#if defined(CONFIG_I2C_MULTI_BUS)
-#if !defined(CONFIG_SYS_MAX_I2C_BUS)
-#define CONFIG_SYS_MAX_I2C_BUS		2
-#endif
-#define I2C_GET_BUS()		i2c_get_bus_num()
-#define I2C_SET_BUS(a)		i2c_set_bus_num(a)
+#ifdef	CONFIG_I2C_MULTI_BUS
+#define	MAX_I2C_BUS			2
+#define	I2C_MULTI_BUS			1
 #else
-#define CONFIG_SYS_MAX_I2C_BUS		1
-#define I2C_GET_BUS()		0
-#define I2C_SET_BUS(a)
+#define	MAX_I2C_BUS			1
+#define	I2C_MULTI_BUS			0
+#endif
+
+#if !defined(CONFIG_SYS_MAX_I2C_BUS)
+#define CONFIG_SYS_MAX_I2C_BUS		MAX_I2C_BUS
 #endif
 
 /* define the I2C bus number for RTC and DTT if not already done */
@@ -236,4 +236,18 @@  int i2c_set_bus_speed(unsigned int);
 
 unsigned int i2c_get_bus_speed(void);
 
+/* NOTE: These two functions MUST be always_inline to avoid code growth! */
+static inline unsigned int I2C_GET_BUS(void) __attribute__((always_inline));
+static inline unsigned int I2C_GET_BUS(void)
+{
+	return I2C_MULTI_BUS ? i2c_get_bus_num() : 0;
+}
+
+static inline void I2C_SET_BUS(unsigned int bus) __attribute__((always_inline));
+static inline void I2C_SET_BUS(unsigned int bus)
+{
+	if (I2C_MULTI_BUS)
+		i2c_set_bus_num(bus);
+}
+
 #endif	/* _I2C_H_ */