Commit c36ecf3a authored by Peng Fan's avatar Peng Fan Committed by Tom Rini
Browse files

i2c:mxc fix array size of i2c_data



We should not hardcode array size of i2c_data to 3. To CONFIG_FSL_LSCH3,
there are 4 i2c interface, but not 3. So the size of i2c_data array should
be calculated using "ARRAY_SIZE(i2c_bases)".

To avoid compile error, move i2c_bases before sram_data structure which
contains i2c_data array.
Signed-off-by: default avatarPeng Fan <Peng.Fan@freescale.com>
parent 5ea01961
......@@ -402,17 +402,6 @@ int bus_i2c_write(void *base, uchar chip, uint addr, int alen,
return ret;
}
struct i2c_parms {
void *base;
void *idle_bus_data;
int (*idle_bus_fn)(void *p);
};
struct sram_data {
unsigned curr_i2c_bus;
struct i2c_parms i2c_data[3];
};
static void * const i2c_bases[] = {
#if defined(CONFIG_MX25)
(void *)IMX_I2C_BASE,
......@@ -439,6 +428,17 @@ static void * const i2c_bases[] = {
#endif
};
struct i2c_parms {
void *base;
void *idle_bus_data;
int (*idle_bus_fn)(void *p);
};
struct sram_data {
unsigned curr_i2c_bus;
struct i2c_parms i2c_data[ARRAY_SIZE(i2c_bases)];
};
void *i2c_get_base(struct i2c_adapter *adap)
{
return i2c_bases[adap->hwadapnr];
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment