GCC4 fixes, see bug #147388. Patch from upstream SVN --- /trunk/drv_SimpleLCD.c (revision 547) +++ /trunk/drv_SimpleLCD.c (revision 581) @@ -199,4 +202,5 @@ { int rows = -1, cols = -1; + int value; unsigned int flags = 0; char *s; @@ -210,7 +214,8 @@ } - cfg_number(section, "BarCharValue", 0, 0, 255, &flags); - bar_char = flags; - cfg_number(section, "Options", 0, 0, 0xffff, &flags); + cfg_number(section, "BarCharValue", 0, 0, 255, &value); + bar_char = value; + cfg_number(section, "Options", 0, 0, 0xffff, &value); + flags = value; if (drv_generic_serial_open(section, Name, flags) < 0) return -1; Index: /trunk/lcd4linux_i2c.h =================================================================== --- /trunk/lcd4linux_i2c.h (revision 562) +++ /trunk/lcd4linux_i2c.h (revision 581) @@ -79,5 +82,5 @@ /* Transfer num messages. */ -extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[], int num); +extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msg, int num); /*