aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/power_supply.h
diff options
context:
space:
mode:
authorOgnjen Galic <smclt30p@gmail.com>2018-02-07 15:58:27 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2018-02-21 23:27:13 +0100
commit285995d15d3b1725d021a8a274e55f2ce30ccfa0 (patch)
tree1aefa04c3ce461968403105edc9e7f5bada19475 /include/linux/power_supply.h
parentbattery: Add the battery hooking API (diff)
downloadwireguard-linux-285995d15d3b1725d021a8a274e55f2ce30ccfa0.tar.xz
wireguard-linux-285995d15d3b1725d021a8a274e55f2ce30ccfa0.zip
power: add to_power_supply macro to the API
This patch adds the to_power_supply macro to upcast a device to a power_supply struct. This is needed because the same piece of code using container_of is used in various other places, so we abstract away such low-level operations via a macro. Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Ognjen Galic <smclt30p@gmail.com> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
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 79e90b3d3288..f0139b460a72 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -371,6 +371,8 @@ devm_power_supply_register_no_ws(struct device *parent,
extern void power_supply_unregister(struct power_supply *psy);
extern int power_supply_powers(struct power_supply *psy, struct device *dev);
+#define to_power_supply(device) container_of(device, struct power_supply, dev)
+
extern void *power_supply_get_drvdata(struct power_supply *psy);
/* For APM emulation, think legacy userspace. */
extern struct class *power_supply_class;