#define I2C_DEV_SCL_RATE 100 * 1000
-struct completion i2c_dev_complete;
+struct completion i2c_dev_complete = {
+ .done = -1,
+};
struct i2c_dump_info g_dump;
static void i2c_dev_get_list(struct i2c_list_info *list)
g_dump.get_value[j] = msgs[i].buf[j];
}
}
- complete(&i2c_dev_complete);
+ if(i2c_dev_complete.done == 0)
+ complete(&i2c_dev_complete);
return;
}
EXPORT_SYMBOL(i2c_dev_dump_stop);
int ret = 0;
struct i2c_adapter *adap = NULL;
- if(get->num >= MAX_VALUE_NUM)
+ if(get->num > MAX_VALUE_NUM)
return -1;
adap = i2c_get_adapter(get->id);
if(adap == NULL)
struct i2c_adapter *adap = NULL;
printk("id=%d, addr=0x%x, mode = %c, num = %d, reg = 0x%x, value[0] = %d,",set->id, set->addr, set->mode, set->num, set->reg, set->value[0]);
- if(set->num >= MAX_VALUE_NUM)
+ if(set->num > MAX_VALUE_NUM)
return -1;
adap = i2c_get_adapter(set->id);
if(adap == NULL)