[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170608161137.7kxkriaryr5m323h@earth>
Date: Thu, 8 Jun 2017 18:11:37 +0200
From: Sebastian Reichel <sebastian.reichel@...labora.co.uk>
To: Enric Balletbo i Serra <enric.balletbo@...labora.com>
Cc: robh@...nel.org, mark.rutland@....com, linux-pm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
kernel@...workimprov.net
Subject: Re: [PATCH v3 4/4] power: tps65217_charger: add support for NTC
type, voltage and current charge
Hi Enric,
On Fri, May 26, 2017 at 01:04:13PM +0200, Enric Balletbo i Serra wrote:
> Allow the possibility to configure the charge and the current voltage of
> the charger and also the NTC type for battery temperature measurement.
>
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@...labora.com>
> ---
> Changes since v2:
> - Requested by Sebastian Reichel
> - Use the simple-battery framework
> - Use device_property_read_u32 instead of of_property_read_u32
> Changes since v1:
> - None
>
> drivers/power/supply/tps65217_charger.c | 194 ++++++++++++++++++++++++++++++--
> include/linux/mfd/tps65217.h | 2 +
> 2 files changed, 188 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/power/supply/tps65217_charger.c b/drivers/power/supply/tps65217_charger.c
> index 1f52340..5939e77 100644
> --- a/drivers/power/supply/tps65217_charger.c
> +++ b/drivers/power/supply/tps65217_charger.c
>
> [...]
>
> +#ifdef CONFIG_OF
You can drop the #ifdef CONFIG_OF. device_properties can also be
added via ACPI or boardcode and power_supply_get_battery_info is
always available (but will return -EINVAL values for !OF at the
moment).
> +static struct tps65217_charger_platform_data *tps65217_charger_pdata_init(
> + struct tps65217_charger *charger)
> +{
> + struct tps65217_charger_platform_data *pdata;
> + struct power_supply_battery_info info = {};
> + int ret;
> +
> + pdata = devm_kzalloc(charger->dev, sizeof(*pdata), GFP_KERNEL);
> + if (!pdata)
> + return ERR_PTR(-ENOMEM);
> +
> + /*
> + * If battery info is not supplied just ignore and program default
> + * values.
> + */
> + power_supply_get_battery_info(charger->psy, &info);
> +
> + if (info.charge_voltage_uv > 0)
> + pdata->charge_voltage_uv = info.charge_voltage_uv;
> + else
> + pdata->charge_voltage_uv = 4100000;
> +
> + if (info.charge_current_ua > 0)
> + pdata->charge_current_ua = info.charge_current_ua;
> + else
> + pdata->charge_current_ua = 500000;
> +
> + ret = device_property_read_u32(charger->dev, "ti,ntc-type",
> + &pdata->ntc_type);
> + if (ret)
> + pdata->ntc_type = 1; /* 10k (curve 2, B = 3480) */
> +
> + return pdata;
> +}
> +#else /* CONFIG_OF */
> +static struct tps65217_charger_platform_data *tps65217_charger_pdata_init(
> + struct tps65217_charger *charger)
> +{
> + return NULL;
> +}
> +#endif /* CONFIG_OF */
> +
> [...]
>
Otherwise looks fine to me.
-- Sebastian
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists