linux-uconsole/include/linux/platform_data/android_battery.h
Todd Poynor a4ef8bd7d8 power: android battery: add generic android battery driver
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>
2013-07-01 13:40:54 -07:00

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