/*
 *  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);
	void (*battery_set_full)(struct android_bat_callbacks *);
};

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;

	unsigned long full_charging_time;
	unsigned long recharging_time;
	unsigned int recharging_voltage;
};

#endif
