[U-Boot] [PATCH v3 8/9] tegra: i2c: Enable new CONFIG_SYS_I2C framework

Stephen Warren swarren at wwwdotorg.org
Fri Aug 2 23:43:44 CEST 2013


On 08/01/2013 10:40 PM, Heiko Schocher wrote:
> Am 01.08.2013 22:32, schrieb Stephen Warren:
...
>> Given how long this discussion is going on, can we please just revert
>> the commit so that the code works for everyone who's trying to use it,
>> then fix the problem later?
> 
> Yes, but not reverting the hole commit, please just remove the
> i2c_init_board() call in i2c_init_all() and test it, and send a
> new patch, thanks!
> 
> diff --git a/drivers/i2c/i2c_core.c b/drivers/i2c/i2c_core.c
> index d1072e8..5f10eb3 100644
> --- a/drivers/i2c/i2c_core.c
> +++ b/drivers/i2c/i2c_core.c
> @@ -246,7 +246,6 @@ void i2c_init_board(void)
>   */
>  void i2c_init_all(void)
>  {
> -       i2c_init_board();
>         i2c_set_bus_num(CONFIG_SYS_SPD_BUS_NUM);
>         return;
>  }

That change doesn't work. Instead of hanging immediately after printing
"I2C:", it hangs after printing:

I2C:   Caller requested bad clock: periph=-49, parent=2

I guess now various data is simply uninitialized since DT parsing hasn't
been run at all?

This is exactly why I suggest a full revert of the problematic patch. If
we do that, it should immediately allow all Tegra boards to actually
work again. Right now, nobody can use or test u-boot.git/master is
completely blocked by this issue. This is dangerous, since it could
easily allow all manner of other problems to appear in other areas
without anyone being able to notice. It's my opinion we should
immediately unblock them by a revert, and then later work out how to
resolve the issues.

For the record, "git revert 1f2ba722ac06393d6abe6d4734824d3b98ea9108"
has one simple conflict in README, and certainly allows at least Beaver
to work without issue.


More information about the U-Boot mailing list