int matrix[CMATRIX_LEN])
 {
        int i, ret;
-       unsigned char signbits;
+       unsigned char signbits = 0;
 
        /*
         * Weird crap seems to exist in the upper part of
 
 static int ov7670_t_brightness(struct i2c_client *client, int value)
 {
-       unsigned char com8, v;
+       unsigned char com8 = 0, v;
        int ret;
 
        ov7670_read(client, REG_COM8, &com8);
 
 static int ov7670_q_brightness(struct i2c_client *client, __s32 *value)
 {
-       unsigned char v;
+       unsigned char v = 0;
        int ret = ov7670_read(client, REG_BRIGHT, &v);
 
        *value = ov7670_sm_to_abs(v);
 
 static int ov7670_q_contrast(struct i2c_client *client, __s32 *value)
 {
-       unsigned char v;
+       unsigned char v = 0;
        int ret = ov7670_read(client, REG_CONTRAS, &v);
 
        *value = v;
 static int ov7670_q_hflip(struct i2c_client *client, __s32 *value)
 {
        int ret;
-       unsigned char v;
+       unsigned char v = 0;
 
        ret = ov7670_read(client, REG_MVFP, &v);
        *value = (v & MVFP_MIRROR) == MVFP_MIRROR;
 
 static int ov7670_t_hflip(struct i2c_client *client, int value)
 {
-       unsigned char v;
+       unsigned char v = 0;
        int ret;
 
        ret = ov7670_read(client, REG_MVFP, &v);
 static int ov7670_q_vflip(struct i2c_client *client, __s32 *value)
 {
        int ret;
-       unsigned char v;
+       unsigned char v = 0;
 
        ret = ov7670_read(client, REG_MVFP, &v);
        *value = (v & MVFP_FLIP) == MVFP_FLIP;
 
 static int ov7670_t_vflip(struct i2c_client *client, int value)
 {
-       unsigned char v;
+       unsigned char v = 0;
        int ret;
 
        ret = ov7670_read(client, REG_MVFP, &v);