Re: [PATCH v5 1/2] mfd: act8945a: add Active-semi ACT8945A PMIC MFD driver

From: Krzysztof Kozlowski
Date: Wed Jan 20 2016 - 02:53:19 EST


On 20.01.2016 16:50, Yang, Wenyou wrote:
> Hi Peter,
>
> On 2016/1/20 15:40, Peter Korsgaard wrote:
>>>>>>> "Yang," == Yang, Wenyou <Wenyou.Yang@xxxxxxxxx> writes:
>> Hi,
>>
>>>> But the charger driver can just as well do:
>> >>
>> >> dev_get_regmap(dev->parent);
>> >>
>> >> instead of:
>> >>
>> >> dev_get_drvdata(pdev->dev.parent)->regmap.
>>
>> > For regulator, it works use the core do dev_get_regmap(dev->parent),
>> > but for charger, it need to export *act8945a.
>>
>> Why?
>
> There is a callback (*get_property)(...), who will read the charger
> register via regmap,
>
> but it doesn't provide the argument for regmap.
>
> include/linux/power_supply.h
>
> struct power_supply_desc {
> [ ... ]
> int (*get_property)(struct power_supply *psy,
> enum power_supply_property psp,
> union power_supply_propval *val);
> [ ... ]
>
> }
>
>>
>> Just like the regulator core does, your battery driver can do:
>>
>> dev_get_regmap(dev->parent);
>>

Why can't you store the pointer to regmap as power supply driver data?
There is really no need for the structure containing only one pointer.

BR,
Krzysztof