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 */ 16struct ux500_charger; 17 18struct 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 */ 31struct 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 39