summaryrefslogtreecommitdiffstats
path: root/include/linux/power_supply.h
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2017-08-15 22:04:56 +0200
committerSebastian Reichel <sebastian.reichel@collabora.co.uk>2017-08-29 12:24:52 +0200
commitc3142dd8bedb8b78ee13c885dd92093fc8a50277 (patch)
tree81a9b0594e82eb018aaa598d4484a6a8aa3a0bcf /include/linux/power_supply.h
parent4f1e0cb78810afab889fc407ff18c112663a1579 (diff)
downloadlinux-stable-c3142dd8bedb8b78ee13c885dd92093fc8a50277.tar.gz
linux-stable-c3142dd8bedb8b78ee13c885dd92093fc8a50277.tar.bz2
linux-stable-c3142dd8bedb8b78ee13c885dd92093fc8a50277.zip
power: supply: Add power_supply_set_input_current_limit_from_supplier helper
On some devices the USB Type-C port power (USB PD 2.0) negotiation is done by a separate port-controller IC, while the current limit is controlled through another (charger) IC. It has been decided to model this by modelling the external Type-C power brick (adapter/charger) as a power-supply class device which supplies the charger-IC, with its voltage-now and current-max representing the negotiated voltage and max current draw. This commit adds a power_supply_set_input_current_limit_from_supplier helper function which charger power-supply drivers can call to get the max-current from their supplier and have this applied through their set_property call-back to their input-current-limit. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Diffstat (limited to 'include/linux/power_supply.h')
-rw-r--r--include/linux/power_supply.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index de89066b72b1..79e90b3d3288 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -332,6 +332,8 @@ extern int power_supply_get_battery_info(struct power_supply *psy,
struct power_supply_battery_info *info);
extern void power_supply_changed(struct power_supply *psy);
extern int power_supply_am_i_supplied(struct power_supply *psy);
+extern int power_supply_set_input_current_limit_from_supplier(
+ struct power_supply *psy);
extern int power_supply_set_battery_charged(struct power_supply *psy);
#ifdef CONFIG_POWER_SUPPLY