Add a generic battery power supply and glue logic for talking to the board battery driver. This driver handles common chores such as: * periodic battery level and health monitoring * kernel log reporting and other debugging features for key properties provided by different charger, fuel gauge, etc. components * ensure properties such as battery health are made available to userspace * common processing for board-level battery/case temperature sensors and policy for charging status based on battery health Based on work by himihee.seo@samsung.com, ms925.kim@samsung.com, and joshua.chang@samsung.com. Change-Id: I5fa8e8d68811d84820b7a130b0245ad2b5b6d36b Signed-off-by: Todd Poynor <toddpoynor@google.com>
42 lines
993 B
C
42 lines
993 B
C
/*
|
|
* android_battery.h
|
|
*
|
|
* Copyright (C) 2012 Samsung Electronics
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef _LINUX_ANDROID_BATTERY_H
|
|
#define _LINUX_ANDROID_BATTERY_H
|
|
|
|
enum {
|
|
CHARGE_SOURCE_NONE = 0,
|
|
CHARGE_SOURCE_AC,
|
|
CHARGE_SOURCE_USB,
|
|
};
|
|
|
|
struct android_bat_callbacks {
|
|
void (*charge_source_changed)
|
|
(struct android_bat_callbacks *, int);
|
|
};
|
|
|
|
struct android_bat_platform_data {
|
|
void (*register_callbacks)(struct android_bat_callbacks *);
|
|
void (*unregister_callbacks)(void);
|
|
void (*set_charging_current) (int);
|
|
void (*set_charging_enable) (int);
|
|
int (*poll_charge_source) (void);
|
|
int (*get_capacity) (void);
|
|
int (*get_temperature) (int *);
|
|
int (*get_voltage_now)(void);
|
|
int (*get_current_now)(int *);
|
|
|
|
int temp_high_threshold;
|
|
int temp_high_recovery;
|
|
int temp_low_recovery;
|
|
int temp_low_threshold;
|
|
};
|
|
|
|
#endif
|