
Hi Fabio,
On Tue, Oct 16, 2012 at 11:39 AM, Stefano Babic sbabic@denx.de wrote:
--- a/drivers/misc/pmic_fsl.c +++ b/drivers/misc/pmic_fsl.c @@ -53,7 +53,7 @@ int pmic_init(void) #elif defined(CONFIG_PMIC_I2C) p->interface = PMIC_I2C; p->hw.i2c.addr = CONFIG_SYS_FSL_PMIC_I2C_ADDR;
p->hw.i2c.tx_num = 3;
p->hw.i2c.tx_num = CONFIG_SYS_FSL_PMIC_I2C_LENGTH;
The bad thing with it is that it seems that each board can have a different value. However, this is bound to the selected pmic and not to the board. So IMHO it should not go into the board configuration file, but in the pmic specific initialization.
Ok, understood.
What about putting CONFIG_SYS_FSL_PMIC_I2C_LENGTH inside the PMIC include file, such as include/dialog_pmic.h include/mc13783.h include/mc13892.h ?
I totally agree.
This definition looks like PMIC device specific and shall be defined at proper *.h file (as you proposed).
Moreover the p->hw.i2c.tx_num = CONFIG_SYS_FSL_PMIC_I2C_LENGTH;
shall be assigned at per pmic instantiation:
int pmic_init(bus) { ... p->hw.i2c.tx_num = CONFIG_SYS_FSL_PMIC_I2C_LENGTH; ...
}
This should solve your problem.