2019-06-04 11:11:33 +03:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
2007-05-04 00:32:17 +04:00
|
|
|
/*
|
|
|
|
* Common power driver for PDAs and phones with one or two external
|
|
|
|
* power supplies (AC/USB) connected to main and backup batteries,
|
|
|
|
* and optional builtin charger.
|
|
|
|
*
|
|
|
|
* Copyright © 2007 Anton Vorontsov <cbou@mail.ru>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __PDA_POWER_H__
|
|
|
|
#define __PDA_POWER_H__
|
|
|
|
|
|
|
|
#define PDA_POWER_CHARGE_AC (1 << 0)
|
|
|
|
#define PDA_POWER_CHARGE_USB (1 << 1)
|
|
|
|
|
2008-04-12 15:47:45 +04:00
|
|
|
struct device;
|
|
|
|
|
2007-05-04 00:32:17 +04:00
|
|
|
struct pda_power_pdata {
|
2008-04-12 15:47:45 +04:00
|
|
|
int (*init)(struct device *dev);
|
2007-05-04 00:32:17 +04:00
|
|
|
int (*is_ac_online)(void);
|
|
|
|
int (*is_usb_online)(void);
|
|
|
|
void (*set_charge)(int flags);
|
2008-04-12 15:47:45 +04:00
|
|
|
void (*exit)(struct device *dev);
|
2010-04-13 01:33:22 +04:00
|
|
|
int (*suspend)(pm_message_t state);
|
|
|
|
int (*resume)(void);
|
2007-05-04 00:32:17 +04:00
|
|
|
|
|
|
|
char **supplied_to;
|
|
|
|
size_t num_supplicants;
|
|
|
|
|
|
|
|
unsigned int wait_for_status; /* msecs, default is 500 */
|
|
|
|
unsigned int wait_for_charger; /* msecs, default is 500 */
|
2008-01-13 02:44:20 +03:00
|
|
|
unsigned int polling_interval; /* msecs, default is 2000 */
|
2009-01-18 19:40:27 +03:00
|
|
|
|
|
|
|
unsigned long ac_max_uA; /* current to draw when on AC */
|
2011-07-11 03:01:15 +04:00
|
|
|
|
|
|
|
bool use_otg_notifier;
|
2007-05-04 00:32:17 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* __PDA_POWER_H__ */
|