[U-Boot-Users] RFQ: disable flash writes until after relocation?

Timur Tabi timur at freescale.com
Mon Jul 21 17:48:49 CEST 2008


Wolfgang Denk wrote:

> Which exact driver are you referring to? If any driver has such a bug,
> it should be fixed.

drivers/i2c/fsl_i2c.c

The function is i2c_init().  I recently posted a patch that added this line of code:

	i2c_bus_speed[0] = set_i2c_bus_speed(dev, gd->i2c1_clk, speed);

And this is what causes the problem.  i2c_bus_speed[] is a global variable, and
i2c_init() is called before relocation.  Therefore, this function writes to
flash the first time it's called.

> This is not the way to go. Hushing up problems has never been a
> solution. Instead, let's find and fix the culprit.

I'm working on a patch that blocks i2c_init() from writing to global variables
before relocation has occurred.  But if you're saying that this patch should not
be necessary, then that would be better.

-- 
Timur Tabi
Linux kernel developer at Freescale




More information about the U-Boot mailing list