Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
abx500_chargalg.c File Reference
#include <linux/init.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <linux/power_supply.h>
#include <linux/completion.h>
#include <linux/workqueue.h>
#include <linux/kobject.h>
#include <linux/mfd/abx500.h>
#include <linux/mfd/abx500/ux500_chargalg.h>
#include <linux/mfd/abx500/ab8500-bm.h>

Go to the source code of this file.

Data Structures

struct  abx500_chargalg_charger_info
 
struct  abx500_chargalg_suspension_status
 
struct  abx500_chargalg_battery_data
 
struct  abx500_chargalg_events
 
struct  abx500_charge_curr_maximization
 
struct  abx500_chargalg
 

Macros

#define CHG_WD_INTERVAL   (6 * HZ)
 
#define EOC_COND_CNT   10
 
#define RCH_COND_CNT   3
 
#define to_abx500_chargalg_device_info(x)
 
#define abx500_chargalg_suspend   NULL
 
#define abx500_chargalg_resume   NULL
 

Enumerations

enum  abx500_chargers { NO_CHG, AC_CHG, USB_CHG }
 
enum  abx500_chargalg_states {
  STATE_HANDHELD_INIT, STATE_HANDHELD, STATE_CHG_NOT_OK_INIT, STATE_CHG_NOT_OK,
  STATE_HW_TEMP_PROTECT_INIT, STATE_HW_TEMP_PROTECT, STATE_NORMAL_INIT, STATE_NORMAL,
  STATE_WAIT_FOR_RECHARGE_INIT, STATE_WAIT_FOR_RECHARGE, STATE_MAINTENANCE_A_INIT, STATE_MAINTENANCE_A,
  STATE_MAINTENANCE_B_INIT, STATE_MAINTENANCE_B, STATE_TEMP_UNDEROVER_INIT, STATE_TEMP_UNDEROVER,
  STATE_TEMP_LOWHIGH_INIT, STATE_TEMP_LOWHIGH, STATE_SUSPENDED_INIT, STATE_SUSPENDED,
  STATE_OVV_PROTECT_INIT, STATE_OVV_PROTECT, STATE_SAFETY_TIMER_EXPIRED_INIT, STATE_SAFETY_TIMER_EXPIRED,
  STATE_BATT_REMOVED_INIT, STATE_BATT_REMOVED, STATE_WD_EXPIRED_INIT, STATE_WD_EXPIRED
}
 
enum  maxim_ret { MAXIM_RET_NOACTION, MAXIM_RET_CHANGE, MAXIM_RET_IBAT_TOO_HIGH }
 

Functions

 module_init (abx500_chargalg_init)
 
 module_exit (abx500_chargalg_exit)
 
 MODULE_LICENSE ("GPL v2")
 
 MODULE_AUTHOR ("Johan Palsson, Karl Komierowski")
 
 MODULE_ALIAS ("platform:abx500-chargalg")
 
 MODULE_DESCRIPTION ("abx500 battery charging algorithm")
 

Macro Definition Documentation

#define abx500_chargalg_resume   NULL

Definition at line 1782 of file abx500_chargalg.c.

#define abx500_chargalg_suspend   NULL

Definition at line 1781 of file abx500_chargalg.c.

#define CHG_WD_INTERVAL   (6 * HZ)

Definition at line 29 of file abx500_chargalg.c.

#define EOC_COND_CNT   10

Definition at line 32 of file abx500_chargalg.c.

#define RCH_COND_CNT   3

Definition at line 35 of file abx500_chargalg.c.

#define to_abx500_chargalg_device_info (   x)
Value:
struct abx500_chargalg, chargalg_psy);

Definition at line 37 of file abx500_chargalg.c.

Enumeration Type Documentation

Enumerator:
STATE_HANDHELD_INIT 
STATE_HANDHELD 
STATE_CHG_NOT_OK_INIT 
STATE_CHG_NOT_OK 
STATE_HW_TEMP_PROTECT_INIT 
STATE_HW_TEMP_PROTECT 
STATE_NORMAL_INIT 
STATE_NORMAL 
STATE_WAIT_FOR_RECHARGE_INIT 
STATE_WAIT_FOR_RECHARGE 
STATE_MAINTENANCE_A_INIT 
STATE_MAINTENANCE_A 
STATE_MAINTENANCE_B_INIT 
STATE_MAINTENANCE_B 
STATE_TEMP_UNDEROVER_INIT 
STATE_TEMP_UNDEROVER 
STATE_TEMP_LOWHIGH_INIT 
STATE_TEMP_LOWHIGH 
STATE_SUSPENDED_INIT 
STATE_SUSPENDED 
STATE_OVV_PROTECT_INIT 
STATE_OVV_PROTECT 
STATE_SAFETY_TIMER_EXPIRED_INIT 
STATE_SAFETY_TIMER_EXPIRED 
STATE_BATT_REMOVED_INIT 
STATE_BATT_REMOVED 
STATE_WD_EXPIRED_INIT 
STATE_WD_EXPIRED 

Definition at line 78 of file abx500_chargalg.c.

Enumerator:
NO_CHG 
AC_CHG 
USB_CHG 

Definition at line 40 of file abx500_chargalg.c.

enum maxim_ret
Enumerator:
MAXIM_RET_NOACTION 
MAXIM_RET_CHANGE 
MAXIM_RET_IBAT_TOO_HIGH 

Definition at line 186 of file abx500_chargalg.c.

Function Documentation

MODULE_ALIAS ( "platform:abx500-chargalg"  )
MODULE_AUTHOR ( "Johan  Palsson,
Karl Komierowski"   
)
MODULE_DESCRIPTION ( "abx500 battery charging algorithm )
module_exit ( abx500_chargalg_exit  )
module_init ( abx500_chargalg_init  )
MODULE_LICENSE ( "GPL v2 )