All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nicolò Piazzalunga" <nicolopiazzalunga@gmail.com>
To: Sebastian Reichel <sre@kernel.org>
Cc: linux-pm@vger.kernel.org,
	"platform-driver-x86@vger.kernel.org" 
	<platform-driver-x86@vger.kernel.org>,
	Thomas Koch <linrunner@gmx.net>,
	"smclt30p@gmail.com" <smclt30p@gmail.com>
Subject: [RFC] add standardized attributes for force_discharge and inhibit_charge
Date: Tue, 28 Sep 2021 22:11:23 +0200	[thread overview]
Message-ID: <21569a89-8303-8573-05fb-c2fec29983d1@gmail.com> (raw)

Hi Sebastian,

this is a proposal to introduce separate and standardized attributes
for force_discharge and inhibit_charge of a battery.
These are simpler than using status from a user-space perspective,
as discussed on the platform-driver-x86 mail list.

Regards,
Nicolò

---
 Documentation/ABI/testing/sysfs-class-power | 27 +++++++++++++++++++++
 drivers/power/supply/power_supply_sysfs.c   |  2 ++
 include/linux/power_supply.h                |  2 ++
 3 files changed, 31 insertions(+)

diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power
index ca830c6cd809..2c5f48f49273 100644
--- a/Documentation/ABI/testing/sysfs-class-power
+++ b/Documentation/ABI/testing/sysfs-class-power
@@ -455,6 +455,33 @@ Description:
 			      "Unknown", "Charging", "Discharging",
 			      "Not charging", "Full"
 
+What:		/sys/class/power_supply/<supply_name>/force_discharge
+Date:		September 2021
+Contact:	linux-pm@vger.kernel.org
+Description:
+		Represents the forced discharging status of the battery.
+
+		Access: Read, Write
+
+		Valid values:
+			== ====================================
+			0: Force discharge while AC is attached
+			1: Terminate forced discharging
+
+What:		/sys/class/power_supply/<supply_name>/inhibit_charge
+Date:		September 2021
+Contact:	linux-pm@vger.kernel.org
+Description:
+		Represents the presence of a manual override over the threshold
+		attributes of the battery, thus inhibiting battery charge.
+
+		Access: Read, Write
+
+		Valid values:
+			== ======================
+			1: Stop charging
+			0: Terminate the override
+
 What:		/sys/class/power_supply/<supply_name>/technology
 Date:		May 2007
 Contact:	linux-pm@vger.kernel.org
diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c
index c3d7cbcd4fad..6e7303935810 100644
--- a/drivers/power/supply/power_supply_sysfs.c
+++ b/drivers/power/supply/power_supply_sysfs.c
@@ -136,6 +136,8 @@ static const char * const POWER_SUPPLY_SCOPE_TEXT[] = {
 static struct power_supply_attr power_supply_attrs[] = {
 	/* Properties of type `int' */
 	POWER_SUPPLY_ENUM_ATTR(STATUS),
+	POWER_SUPPLY_ENUM_ATTR(FORCE_DISCHARGE),
+	POWER_SUPPLY_ENUM_ATTR(INHIBIT_CHARGE),
 	POWER_SUPPLY_ENUM_ATTR(CHARGE_TYPE),
 	POWER_SUPPLY_ENUM_ATTR(HEALTH),
 	POWER_SUPPLY_ATTR(PRESENT),
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index 9ca1f120a211..4340fe65df4d 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -96,6 +96,8 @@ enum {
 enum power_supply_property {
 	/* Properties of type `int' */
 	POWER_SUPPLY_PROP_STATUS = 0,
+	POWER_SUPPLY_PROP_FORCE_DISCHARGE,
+	POWER_SUPPLY_PROP_INHIBIT_CHARGE,
 	POWER_SUPPLY_PROP_CHARGE_TYPE,
 	POWER_SUPPLY_PROP_HEALTH,
 	POWER_SUPPLY_PROP_PRESENT,
-- 
2.33.0

             reply	other threads:[~2021-09-28 20:11 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-28 20:11 Nicolò Piazzalunga [this message]
2021-09-29  9:38 ` [RFC] add standardized attributes for force_discharge and inhibit_charge Hans de Goede
2021-10-05 16:23   ` Sebastian Reichel
2021-10-05 18:01     ` Hans de Goede
2021-10-05 22:06       ` Sebastian Reichel
2021-10-06  8:10         ` Hans de Goede
2021-10-06 14:39           ` Sebastian Reichel
2021-10-06 14:49           ` Thomas Weißschuh
2021-10-06 15:27             ` Hans de Goede
2021-10-06 16:28               ` Sebastian Reichel
2021-10-06 17:47                 ` Hans de Goede
2021-10-06 19:24                   ` Thomas Koch
2021-10-06 21:39                     ` Thomas Weißschuh
2021-10-07  5:56                       ` Thomas Koch
2021-10-07 11:28                         ` Sebastian Reichel
2021-09-29 16:22 ` Nicolò Piazzalunga

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=21569a89-8303-8573-05fb-c2fec29983d1@gmail.com \
    --to=nicolopiazzalunga@gmail.com \
    --cc=linrunner@gmx.net \
    --cc=linux-pm@vger.kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=smclt30p@gmail.com \
    --cc=sre@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.