[U-Boot] [PATCH 3/4] power: Explicitly select pmic device's bus

Simon Glass sjg at chromium.org
Sat May 11 20:55:00 CEST 2013


Hi Rajeshwari,

On Mon, Apr 1, 2013 at 11:18 PM, Rajeshwari Birje
<rajeshwari.birje at gmail.com> wrote:
> Hi Simon,
>
> Just had one following comment
>
> On Tue, Apr 2, 2013 at 5:34 AM, Simon Glass <sjg at chromium.org> wrote:
>> From: Aaron Durbin <adurbin at chromium.org>
>>
>> The current pmic i2c code assumes the current i2c bus is
>> the same as the pmic device's bus. There is nothing ensuring
>> that to be true. Therefore, select the proper bus before performing
>> a transaction.
>>
>> Signed-off-by: Aaron Durbin <adurbin at chromium.org>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> Reviewed-by: Simon Glass <sjg at chromium.org>
>> ---
>>  drivers/power/power_i2c.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/power/power_i2c.c b/drivers/power/power_i2c.c
>> index 3e5a784..ec9701e 100644
>> --- a/drivers/power/power_i2c.c
>> +++ b/drivers/power/power_i2c.c
>> @@ -39,6 +39,8 @@ int pmic_reg_write(struct pmic *p, u32 reg, u32 val)
>>         if (check_reg(p, reg))
>>                 return -1;
>>
>> +       I2C_SET_BUS(p->bus);
>> +
>
> Do we need to set I2C bus for each register read and write?

It could potentially be done at a higher level, but it is tricky,
since the pmic is supposed to know its bus number. Nothing else should
need to know.

It's just setting a variable so does not take long. I think this sort
of thing will get cleaned up now that Heiko has posted the i2c
clean-up series (which I am going to take a look at).

Regards,
Simon


>>         switch (pmic_i2c_tx_num) {
>>         case 3:
>>                 if (p->sensor_byte_order == PMIC_SENSOR_BYTE_ORDER_BIG) {
>> @@ -82,6 +84,8 @@ int pmic_reg_read(struct pmic *p, u32 reg, u32 *val)
>>         if (check_reg(p, reg))
>>                 return -1;
>>
>> +       I2C_SET_BUS(p->bus);
>> +
>>         if (i2c_read(pmic_i2c_addr, reg, 1, buf, pmic_i2c_tx_num))
>>                 return -1;
>>
>> --
>> 1.8.1.3
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot
> --
> Regards,
> Rajeshwari Shinde


More information about the U-Boot mailing list