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

Stephen Warren swarren at wwwdotorg.org
Mon Aug 5 19:59:36 CEST 2013


On 08/02/2013 09:55 PM, Heiko Schocher wrote:
> Hello Stephen,
> 
> Am 02.08.2013 23:43, schrieb Stephen Warren:
>> 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?
> 
> I do not know this ... and what happen if you make init_func_i2c()
> weak and default just dummy?
> 
>> 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
> 
> nobody = only tegra boards ... I am working fine with current mainline
> on other arm targets ...

Sure, that is a valid distinction.

However, just because the problem doesn't affect all boards, that surely
doesn't make it any more acceptable?


More information about the U-Boot mailing list