mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 05:32:00 +00:00
2681bbaa39
Add a utility function for device-managed registration of battery hooks. The function makes it easier to manage the lifecycle of a hook. Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Link: https://lore.kernel.org/r/20240630-cros_ec-charge-control-v5-1-8f649d018c52@weissschuh.net Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
26 lines
768 B
C
26 lines
768 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __ACPI_BATTERY_H
|
|
#define __ACPI_BATTERY_H
|
|
|
|
#include <linux/device.h>
|
|
#include <linux/power_supply.h>
|
|
|
|
#define ACPI_BATTERY_CLASS "battery"
|
|
|
|
#define ACPI_BATTERY_NOTIFY_STATUS 0x80
|
|
#define ACPI_BATTERY_NOTIFY_INFO 0x81
|
|
#define ACPI_BATTERY_NOTIFY_THRESHOLD 0x82
|
|
|
|
struct acpi_battery_hook {
|
|
const char *name;
|
|
int (*add_battery)(struct power_supply *battery, struct acpi_battery_hook *hook);
|
|
int (*remove_battery)(struct power_supply *battery, struct acpi_battery_hook *hook);
|
|
struct list_head list;
|
|
};
|
|
|
|
void battery_hook_register(struct acpi_battery_hook *hook);
|
|
void battery_hook_unregister(struct acpi_battery_hook *hook);
|
|
int devm_battery_hook_register(struct device *dev, struct acpi_battery_hook *hook);
|
|
|
|
#endif
|