mfd: fix undefined twl4030-power resconfig value checks
Aaro Koskinen [Mon, 19 Oct 2009 19:24:02 +0000 (21:24 +0200)]
The code tries to skip values initialized with -1, but since the values
are unsigned the comparison is always true.

The patch eliminates the following compiler warnings:

drivers/mfd/twl4030-power.c: In function 'twl4030_configure_resource':
drivers/mfd/twl4030-power.c:338: warning: comparison is always true due to
limited range of data type
drivers/mfd/twl4030-power.c:358: warning: comparison is always true due to
limited range of data type
drivers/mfd/twl4030-power.c:363: warning: comparison is always true due to
limited range of data type

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

drivers/mfd/twl4030-power.c
include/linux/i2c/twl4030.h

index 3e41e0c..9f98c36 100644 (file)
@@ -352,7 +352,7 @@ static int __init twl4030_configure_resource(struct twl4030_resconfig *rconfig)
                return err;
        }
 
-       if (rconfig->devgroup >= 0) {
+       if (rconfig->devgroup != TWL4030_RESCONFIG_UNDEF) {
                grp &= ~DEV_GRP_MASK;
                grp |= rconfig->devgroup << DEV_GRP_SHIFT;
                err = twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
@@ -372,12 +372,12 @@ static int __init twl4030_configure_resource(struct twl4030_resconfig *rconfig)
                return err;
        }
 
-       if (rconfig->type >= 0) {
+       if (rconfig->type != TWL4030_RESCONFIG_UNDEF) {
                type &= ~TYPE_MASK;
                type |= rconfig->type << TYPE_SHIFT;
        }
 
-       if (rconfig->type2 >= 0) {
+       if (rconfig->type2 != TWL4030_RESCONFIG_UNDEF) {
                type &= ~TYPE2_MASK;
                type |= rconfig->type2 << TYPE2_SHIFT;
        }
index e87cb27..8a4a58f 100644 (file)
@@ -400,6 +400,7 @@ struct twl4030_power_data {
        struct twl4030_script **scripts;
        unsigned num;
        struct twl4030_resconfig *resource_config;
+#define TWL4030_RESCONFIG_UNDEF        ((u8)-1)
 };
 
 extern void twl4030_power_init(struct twl4030_power_data *triton2_scripts);