[U-Boot] [PATCH 1/4] power: make pfuze100 be able to coexist with other pmics

Tim Harvey tharvey at gateworks.com
Thu Apr 24 10:19:42 CEST 2014


On Thu, Apr 24, 2014 at 1:03 AM, Stefano Babic <sbabic at denx.de> wrote:
> Hi Tim,
>
> On 23/04/2014 06:53, Tim Harvey wrote:
>> Avoid uding pmic_init() as this forces the model of only allowing a
>> single PMIC driver to be built at a time.
>>
>> Signed-off-by: Tim Harvey <tharvey at gateworks.com>
>> ---
>>  drivers/power/pmic/pmic_pfuze100.c | 2 +-
>>  include/power/pfuze100_pmic.h      | 1 +
>>  2 files changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/power/pmic/pmic_pfuze100.c b/drivers/power/pmic/pmic_pfuze100.c
>> index 22c1f15..21f12d2 100644
>> --- a/drivers/power/pmic/pmic_pfuze100.c
>> +++ b/drivers/power/pmic/pmic_pfuze100.c
>> @@ -11,7 +11,7 @@
>>  #include <power/pmic.h>
>>  #include <power/pfuze100_pmic.h>
>>
>> -int pmic_init(unsigned char bus)
>> +int power_pfuze100_init(unsigned char bus)
>>  {
>>       static const char name[] = "PFUZE100_PMIC";
>>       struct pmic *p = pmic_alloc();
>> diff --git a/include/power/pfuze100_pmic.h b/include/power/pfuze100_pmic.h
>> index 2a9032a..444aba6 100644
>> --- a/include/power/pfuze100_pmic.h
>> +++ b/include/power/pfuze100_pmic.h
>> @@ -93,4 +93,5 @@ enum {
>>  #define SWBST_MODE_AUTO      (2 << 2)
>>  #define SWBST_MODE_APS       (2 << 3)
>>
>> +int power_pfuze100_init(unsigned char bus);
>
> This is a change in the PMIC framework API and must be documented.
>
> Currently, we support multiple instances of the same PMIC, but not
> different PMIC on the same board.
>

Stefano,

Hmm... I see several pmic's that use their own namespace for init:

grep init include/power/*.h shows a few (power_bat_init,
power_fg_init, power_muic_init, pmic_init_max77693). And if you look
at trats.c or trats2.c boards you will see how they call several of
them. Granted, both of those do also call a generic pmic_init() thats
implemented by pmic_max77686 'or' pmic_max8977. So in the case of
those two boards, they have several pmic's, one that uses the generic
pmic_init() namespace, and 2 others that use their own unique
namespace.

Regards,

Tim

> We could add a CONFIG_MULTIPLE_PMIC, that must be added to the
> documentation, and each driver will define pmic_init() if it is not define:
>
> #ifndef CONFIG_MULTIPLE_PMIC
> #define pmic_init power_pfuze100_init
> #endif
>
> Best regards,
> Stefano Babic
>


More information about the U-Boot mailing list