|
@@ -457,13 +457,16 @@ static inline void max17042_write_model_data(struct max17042_chip *chip,
|
|
|
}
|
|
|
|
|
|
static inline void max17042_read_model_data(struct max17042_chip *chip,
|
|
|
- u8 addr, u32 *data, int size)
|
|
|
+ u8 addr, u16 *data, int size)
|
|
|
{
|
|
|
struct regmap *map = chip->regmap;
|
|
|
int i;
|
|
|
+ u32 tmp;
|
|
|
|
|
|
- for (i = 0; i < size; i++)
|
|
|
- regmap_read(map, addr + i, &data[i]);
|
|
|
+ for (i = 0; i < size; i++) {
|
|
|
+ regmap_read(map, addr + i, &tmp);
|
|
|
+ data[i] = (u16)tmp;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
static inline int max17042_model_data_compare(struct max17042_chip *chip,
|
|
@@ -486,7 +489,7 @@ static int max17042_init_model(struct max17042_chip *chip)
|
|
|
{
|
|
|
int ret;
|
|
|
int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl);
|
|
|
- u32 *temp_data;
|
|
|
+ u16 *temp_data;
|
|
|
|
|
|
temp_data = kcalloc(table_size, sizeof(*temp_data), GFP_KERNEL);
|
|
|
if (!temp_data)
|
|
@@ -501,7 +504,7 @@ static int max17042_init_model(struct max17042_chip *chip)
|
|
|
ret = max17042_model_data_compare(
|
|
|
chip,
|
|
|
chip->pdata->config_data->cell_char_tbl,
|
|
|
- (u16 *)temp_data,
|
|
|
+ temp_data,
|
|
|
table_size);
|
|
|
|
|
|
max10742_lock_model(chip);
|
|
@@ -514,7 +517,7 @@ static int max17042_verify_model_lock(struct max17042_chip *chip)
|
|
|
{
|
|
|
int i;
|
|
|
int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl);
|
|
|
- u32 *temp_data;
|
|
|
+ u16 *temp_data;
|
|
|
int ret = 0;
|
|
|
|
|
|
temp_data = kcalloc(table_size, sizeof(*temp_data), GFP_KERNEL);
|