Re: [PATCH 1/4] power: supply: add support for max77759 fuel gauge

Thomas Antoine
2024-12-03T09:26:00Z

On 12/3/24 08:35, Dimitri Fedrau wrote:
> Hi Antoine,
>
> Am Mon, Dec 02, 2024 at 02:07:15PM +0100 schrieb Thomas Antoine via B4 Relay:
>> From: Thomas Antoine <t.antoine@uclouvain.be>
>> +#include <linux/types.h>
>>
> No need to include it, it is done by <linux/i2.c> which includes
> <linux/device.h> which includes <linux/types.h>

Hi,
Will remove for v2.

>> static const char *const max17201_model = "MAX17201";
>> static const char *const max17205_model = "MAX17205";
>> +static const char *const max77759_model = "MAX77759";
>>
>> struct max1720x_device_info {
>> struct regmap *regmap;
>> @@ -54,6 +57,21 @@ struct max1720x_device_info {
>> int rsense;
>> };
>>
>> +struct chip_data {
>> + u16 default_nrsense; /* in regs in 10^-5 */
>> + u8 has_nvmem;
>> +};
>> +
>> +static const struct chip_data max1720x_data = {
>> + .default_nrsense = 1000,
>> + .has_nvmem = 1,
>> +};
>> +
>> +static const struct chip_data max77759_data = {
>> + .default_nrsense = 500,
>> + .has_nvmem = 0,
>> +};
>> +
> You can get rid of chip_data by reading rsense from DT and moving
> has_nvmem to max1720x_device_info. By doing so you don't have to rely on
> default values. Either it is specified by DT or by rsense value in
> nvmem.

I guess I can just get has_nvmem by seeing if of_property_read of the
rsense value fails. As long as the binding is well defined as to not
allow a rsense value for the max1720x, there should be no problem.
Will do that for v2.

Thanks, best regards,
Thomas