[U-Boot] [PATCH]fsl_i2c: Add i2c_board_late_init
Heiko Schocher
hs at denx.de
Wed Apr 14 09:02:43 CEST 2010
Hello Wolfgang, Richard,
Wolfgang Denk wrote:
> Dear richardretanubun at ruggedcom.com,
>
> In message <20100412191703.GA30835 at richardretanubun.eng.lan> you wrote:
>> From d0d9e0df99ce9035db43ebcf9d48601fa6f096d4 Mon Sep 17 00:00:00 2001
>> From: Richard Retanubun <RichardRetanubun at RuggedCom.com>
>> Date: Mon, 12 Apr 2010 15:08:17 -0400
>> Subject: [PATCH] fsl_i2c: Added a callpoint for i2c_board_late_init
>>
>> This patch adds a callpoint in i2c_init that allows board specific
>> i2c board initialization (typically for i2c bus reset) that is called
>> after i2c_init operations, allowing the i2c_board_late_init function
>> to use the pre-configured i2c bus speed and slave address.
>> ---
>>
>> Hi Wolfgang & Heiko,
>>
>> This is the patch that adds another callpoint. Thanks for
>> all the feedback.
>>
>> - Richard
>>
>> drivers/i2c/fsl_i2c.c | 8 ++++++++
>> 1 files changed, 8 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/i2c/fsl_i2c.c b/drivers/i2c/fsl_i2c.c
>> index 2241990..a1a62fa 100644
>> --- a/drivers/i2c/fsl_i2c.c
>> +++ b/drivers/i2c/fsl_i2c.c
>> @@ -249,6 +249,14 @@ i2c_init(int speed, int slaveadd)
>> writeb(0x0, &dev->sr); /* clear status register */
>> writeb(I2C_CR_MEN, &dev->cr); /* start I2C controller */
>> #endif
>> +
>> +#ifdef CONFIG_SYS_I2C_BOARD_LATE_INIT
>> + /* Call board specific i2c bus reset routine after the bus has been */
>> + /* initialized. Use either this callpoint or i2c_init_board; which is */
>> + /* called before i2c_init operations. */
>> + /* For details about this problem see doc/I2C_Edge_Conditions. */
>> + i2c_board_late_init();
>> +#endif
>
> Incorrect multiline comment style.
Yep, Richard please fix this. Also it would be nice to have an
entry in the README for your new callpoint.
> Instead of adding more #ifdef'ery we now tend to use weak symbols -
> but I'm not sure about this here in this context, though. Heiko, what
> do you think about this?
I would prefer here the define version, but common uboot style
is, as you said, using weak symbols ... If using here weak symbols,
I vote for changing the "#ifdef CONFIG_SYS_I2C_INIT_BOARD" case
also to weak.
Thanks.
bye
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the U-Boot
mailing list