From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: Icenowy Zheng <icenowy@aosc.xyz>
Cc: "Rob Herring" <robh+dt@kernel.org>,
"Chen-Yu Tsai" <wens@csie.org>,
"Lee Jones" <lee.jones@linaro.org>,
"Bruno Prémont" <bonbons@linux-vserser.org>,
"Michael Haas" <haas@computerlinguist.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"Russell King" <linux@armlinux.org.uk>,
"Sebastian Reichel" <sre@kernel.org>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
quentin@lukather.free-electrons.com
Subject: Re: [PATCH v2 2/4] power: add axp20x-battery driver
Date: Mon, 10 Oct 2016 14:57:26 +0200 [thread overview]
Message-ID: <20161010125726.GJ3462@lukather> (raw)
In-Reply-To: <20161009062714.5085-2-icenowy@aosc.xyz>
[-- Attachment #1: Type: text/plain, Size: 1442 bytes --]
Hi Icenowy,
On Sun, Oct 09, 2016 at 02:27:12PM +0800, Icenowy Zheng wrote:
> + case POWER_SUPPLY_PROP_CURRENT_NOW:
> + ret = regmap_read(power->regmap, AXP20X_BATT_DISCHRG_I_H, &dh);
> + if (ret)
> + return ret;
> + ret = regmap_read(power->regmap, AXP20X_BATT_DISCHRG_I_L, &dl);
> + if (ret)
> + return ret;
> + /* it's a 12 bit integer, high 8-bit is stored in dh */
> + val->intval = dh << 4 | dl >> 4;
> + break;
> + case POWER_SUPPLY_PROP_VOLTAGE_NOW:
> + ret = regmap_read(power->regmap, AXP20X_BATT_V_H, &dh);
> + if (ret)
> + return ret;
> + ret = regmap_read(power->regmap, AXP20X_BATT_V_L, &dl);
> + if (ret)
> + return ret;
> + /* it's a 12 bit integer, high 8-bit is stored in dh */
> + val->intval = dh << 4 | dl >> 4;
> + /* The formula below is from axp22_vbat_to_mV function
> + * of Allwinner 3.4 kernel.
> + */
> + val->intval = val->intval * 1100 / 1000;
> + break;
I really feel that this should be implemented through a IIO driver
(like the AXP288). This is especially true for the AXP209 and its
multiple GPIOs that can be muxed to a general purpose ADC, but it's
also true for the AXP221 / 223 TS pin that can also be used as an ADC.
Quentin has been working on this lately for the AXP209, feel free to
sync with him to support the AXP22*
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next parent reply other threads:[~2016-10-10 12:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20161009062714.5085-1-icenowy@aosc.xyz>
[not found] ` <20161009062714.5085-2-icenowy@aosc.xyz>
2016-10-10 12:57 ` Maxime Ripard [this message]
2016-10-10 13:12 ` [PATCH v2 2/4] power: add axp20x-battery driver Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161010125726.GJ3462@lukather \
--to=maxime.ripard@free-electrons.com \
--cc=bonbons@linux-vserser.org \
--cc=devicetree@vger.kernel.org \
--cc=haas@computerlinguist.org \
--cc=icenowy@aosc.xyz \
--cc=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=mark.rutland@arm.com \
--cc=quentin@lukather.free-electrons.com \
--cc=robh+dt@kernel.org \
--cc=sre@kernel.org \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox