Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Common power driver for PDAs and phones with one or two external
0004  * power supplies (AC/USB) connected to main and backup batteries,
0005  * and optional builtin charger.
0006  *
0007  * Copyright © 2007 Anton Vorontsov <cbou@mail.ru>
0008  */
0009 
0010 #ifndef __PDA_POWER_H__
0011 #define __PDA_POWER_H__
0012 
0013 #define PDA_POWER_CHARGE_AC  (1 << 0)
0014 #define PDA_POWER_CHARGE_USB (1 << 1)
0015 
0016 struct device;
0017 
0018 struct pda_power_pdata {
0019     int (*init)(struct device *dev);
0020     int (*is_ac_online)(void);
0021     int (*is_usb_online)(void);
0022     void (*set_charge)(int flags);
0023     void (*exit)(struct device *dev);
0024     int (*suspend)(pm_message_t state);
0025     int (*resume)(void);
0026 
0027     char **supplied_to;
0028     size_t num_supplicants;
0029 
0030     unsigned int wait_for_status; /* msecs, default is 500 */
0031     unsigned int wait_for_charger; /* msecs, default is 500 */
0032     unsigned int polling_interval; /* msecs, default is 2000 */
0033 
0034     unsigned long ac_max_uA; /* current to draw when on AC */
0035 
0036     bool use_otg_notifier;
0037 };
0038 
0039 #endif /* __PDA_POWER_H__ */