devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: Sebastian Reichel <sre@kernel.org>,
	Rob Herring <robh+dt@kernel.org>, Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	David Heidelberg <david@ixit.cz>,
	Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	"Bruce E . Robertson" <bruce.e.robertson@intel.com>
Cc: linux-pm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	Jonghwa Lee <jonghwa3.lee@samsung.com>,
	John Stultz <john.stultz@linaro.org>,
	Vinay Simha BN <simhavcs@gmail.com>,
	linux-tegra@vger.kernel.org
Subject: [PATCH v3 03/10] power: supply: Support battery temperature device-tree properties
Date: Fri, 14 Aug 2020 00:34:02 +0300	[thread overview]
Message-ID: <20200813213409.24222-4-digetx@gmail.com> (raw)
In-Reply-To: <20200813213409.24222-1-digetx@gmail.com>

The generic battery temperature properties are already supported by the
power-supply core. Let's support parsing of the common battery temperature
properties from a device-tree.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 drivers/power/supply/power_supply_core.c | 19 +++++++++++++++++++
 include/linux/power_supply.h             |  6 ++++++
 2 files changed, 25 insertions(+)

diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
index ccbad435ed12..38e3aa642131 100644
--- a/drivers/power/supply/power_supply_core.c
+++ b/drivers/power/supply/power_supply_core.c
@@ -579,6 +579,12 @@ int power_supply_get_battery_info(struct power_supply *psy,
 	info->charge_term_current_ua         = -EINVAL;
 	info->constant_charge_current_max_ua = -EINVAL;
 	info->constant_charge_voltage_max_uv = -EINVAL;
+	info->temp_ambient_alert_min         = INT_MIN;
+	info->temp_ambient_alert_max         = INT_MAX;
+	info->temp_alert_min                 = INT_MIN;
+	info->temp_alert_max                 = INT_MAX;
+	info->temp_min                       = INT_MIN;
+	info->temp_max                       = INT_MAX;
 	info->factory_internal_resistance_uohm  = -EINVAL;
 	info->resist_table = NULL;
 
@@ -639,6 +645,19 @@ int power_supply_get_battery_info(struct power_supply *psy,
 	of_property_read_u32(battery_np, "factory-internal-resistance-micro-ohms",
 			     &info->factory_internal_resistance_uohm);
 
+	of_property_read_u32_index(battery_np, "ambient-celsius",
+				   0, &info->temp_ambient_alert_min);
+	of_property_read_u32_index(battery_np, "ambient-celsius",
+				   1, &info->temp_ambient_alert_max);
+	of_property_read_u32_index(battery_np, "alert-celsius",
+				   0, &info->temp_alert_min);
+	of_property_read_u32_index(battery_np, "alert-celsius",
+				   1, &info->temp_alert_max);
+	of_property_read_u32_index(battery_np, "operating-range-celsius",
+				   0, &info->temp_min);
+	of_property_read_u32_index(battery_np, "operating-range-celsius",
+				   1, &info->temp_max);
+
 	len = of_property_count_u32_elems(battery_np, "ocv-capacity-celsius");
 	if (len < 0 && len != -EINVAL) {
 		err = len;
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index 97cc4b85bf61..d0684362a392 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -365,6 +365,12 @@ struct power_supply_battery_info {
 	int constant_charge_voltage_max_uv; /* microVolts */
 	int factory_internal_resistance_uohm;   /* microOhms */
 	int ocv_temp[POWER_SUPPLY_OCV_TEMP_MAX];/* celsius */
+	int temp_ambient_alert_min;             /* celsius */
+	int temp_ambient_alert_max;             /* celsius */
+	int temp_alert_min;                     /* celsius */
+	int temp_alert_max;                     /* celsius */
+	int temp_min;                           /* celsius */
+	int temp_max;                           /* celsius */
 	struct power_supply_battery_ocv_table *ocv_table[POWER_SUPPLY_OCV_TEMP_MAX];
 	int ocv_table_size[POWER_SUPPLY_OCV_TEMP_MAX];
 	struct power_supply_resistance_temp_table *resist_table;
-- 
2.27.0


  parent reply	other threads:[~2020-08-13 21:35 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-13 21:33 [PATCH v3 00/10] Summit SMB3xx driver & device-tree Dmitry Osipenko
2020-08-13 21:34 ` [PATCH v3 01/10] dt-bindings: battery: Add temperature properties Dmitry Osipenko
2020-08-25  2:05   ` Rob Herring
2020-08-13 21:34 ` [PATCH v3 02/10] dt-bindings: power: supply: Add device-tree binding for Summit SMB3xx Dmitry Osipenko
2020-08-25  2:08   ` Rob Herring
2020-08-13 21:34 ` Dmitry Osipenko [this message]
2020-08-13 21:34 ` [PATCH v3 04/10] power: supply: smb347-charger: Use resource-managed API Dmitry Osipenko
2020-08-13 21:34 ` [PATCH v3 05/10] power: supply: smb347-charger: Implement device-tree support Dmitry Osipenko
2020-08-13 21:34 ` [PATCH v3 06/10] power: supply: smb347-charger: Support SMB345 and SMB358 Dmitry Osipenko
2020-08-13 21:34 ` [PATCH v3 07/10] power: supply: smb347-charger: Remove virtual smb347-battery Dmitry Osipenko
2020-08-13 21:34 ` [PATCH v3 08/10] power: supply: smb347-charger: Replace mutex with IRQ disable/enable Dmitry Osipenko
2020-08-13 21:34 ` [PATCH v3 09/10] ARM: dts: qcom: apq8064-nexus7: Add SMB345 battery charger Dmitry Osipenko
2020-08-13 21:34 ` [PATCH v3 10/10] ARM: tegra: nexus7: Add SMB347 " Dmitry Osipenko
2020-09-17 10:24   ` Thierry Reding
2020-08-26 14:40 ` [PATCH v3 00/10] Summit SMB3xx driver & device-tree Sebastian Reichel

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=20200813213409.24222-4-digetx@gmail.com \
    --to=digetx@gmail.com \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=bruce.e.robertson@intel.com \
    --cc=david@ixit.cz \
    --cc=devicetree@vger.kernel.org \
    --cc=john.stultz@linaro.org \
    --cc=jonathanh@nvidia.com \
    --cc=jonghwa3.lee@samsung.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=robh+dt@kernel.org \
    --cc=simhavcs@gmail.com \
    --cc=sre@kernel.org \
    --cc=thierry.reding@gmail.com \
    /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;
as well as URLs for NNTP newsgroup(s).