Arun Murthy | 1668f81 | 2012-02-29 21:54:25 +0530 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) ST-Ericsson SA 2012 |
| 3 | * Author: Johan Gardsmark <johan.gardsmark@stericsson.com> for ST-Ericsson. |
| 4 | * License terms: GNU General Public License (GPL), version 2 |
| 5 | */ |
| 6 | |
| 7 | #ifndef _UX500_CHARGALG_H |
| 8 | #define _UX500_CHARGALG_H |
| 9 | |
| 10 | #include <linux/power_supply.h> |
| 11 | |
| 12 | #define psy_to_ux500_charger(x) container_of((x), \ |
| 13 | struct ux500_charger, psy) |
| 14 | |
| 15 | /* Forward declaration */ |
| 16 | struct ux500_charger; |
| 17 | |
| 18 | struct ux500_charger_ops { |
| 19 | int (*enable) (struct ux500_charger *, int, int, int); |
| 20 | int (*kick_wd) (struct ux500_charger *); |
| 21 | int (*update_curr) (struct ux500_charger *, int); |
| 22 | }; |
| 23 | |
| 24 | /** |
| 25 | * struct ux500_charger - power supply ux500 charger sub class |
| 26 | * @psy power supply base class |
| 27 | * @ops ux500 charger operations |
| 28 | * @max_out_volt maximum output charger voltage in mV |
| 29 | * @max_out_curr maximum output charger current in mA |
| 30 | */ |
| 31 | struct ux500_charger { |
| 32 | struct power_supply psy; |
| 33 | struct ux500_charger_ops ops; |
| 34 | int max_out_volt; |
| 35 | int max_out_curr; |
| 36 | }; |
| 37 | |
| 38 | #endif |