[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