summaryrefslogtreecommitdiff
path: root/include/linux/pda_power.h
diff options
context:
space:
mode:
authorAnton Vorontsov <cbou@mail.ru>2007-05-04 00:32:17 +0400
committerDavid Woodhouse <dwmw2@infradead.org>2007-07-10 11:25:59 +0100
commitb2998049cfae4f4a81c4bb048814d34912017bb9 (patch)
treece56af8b6600a31bd78de03787848e1cecc044c8 /include/linux/pda_power.h
parent4a11b59d8283662193a9c6a9c14c58d1b9bf0617 (diff)
[BATTERY] pda_power platform driver
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. It's used to stop logic duplication through different embedded devices. So, power supply *logic* is here. pda_power register power supplies, and will take care about notifying batteries about power changes through external power interface. Currently, power consumption legal limits (including USB power consumption) should be handled by platform code, inside set_charge function. Signed-off-by: Anton Vorontsov <cbou@mail.ru> Signed-off-by: Roman Moravcik <roman.moravcik@gmail.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'include/linux/pda_power.h')
-rw-r--r--include/linux/pda_power.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/linux/pda_power.h b/include/linux/pda_power.h
new file mode 100644
index 000000000000..1375f15797e7
--- /dev/null
+++ b/include/linux/pda_power.h
@@ -0,0 +1,31 @@
+/*
+ * 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>
+ *
+ * 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 __PDA_POWER_H__
+#define __PDA_POWER_H__
+
+#define PDA_POWER_CHARGE_AC (1 << 0)
+#define PDA_POWER_CHARGE_USB (1 << 1)
+
+struct pda_power_pdata {
+ int (*is_ac_online)(void);
+ int (*is_usb_online)(void);
+ void (*set_charge)(int flags);
+
+ 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 */
+};
+
+#endif /* __PDA_POWER_H__ */