|  | /* | 
|  | * MFD core driver for the RT5033 | 
|  | * | 
|  | * Copyright (C) 2014 Samsung Electronics | 
|  | * Author: Beomho Seo <beomho.seo@samsung.com> | 
|  | * | 
|  | * 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 bythe Free Software Foundation. | 
|  | */ | 
|  |  | 
|  | #ifndef __RT5033_H__ | 
|  | #define __RT5033_H__ | 
|  |  | 
|  | #include <linux/regulator/consumer.h> | 
|  | #include <linux/i2c.h> | 
|  | #include <linux/regmap.h> | 
|  | #include <linux/power_supply.h> | 
|  |  | 
|  | /* RT5033 regulator IDs */ | 
|  | enum rt5033_regulators { | 
|  | RT5033_BUCK = 0, | 
|  | RT5033_LDO, | 
|  | RT5033_SAFE_LDO, | 
|  |  | 
|  | RT5033_REGULATOR_NUM, | 
|  | }; | 
|  |  | 
|  | struct rt5033_dev { | 
|  | struct device *dev; | 
|  |  | 
|  | struct regmap *regmap; | 
|  | struct regmap_irq_chip_data *irq_data; | 
|  | int irq; | 
|  | bool wakeup; | 
|  | }; | 
|  |  | 
|  | struct rt5033_battery { | 
|  | struct i2c_client	*client; | 
|  | struct rt5033_dev	*rt5033; | 
|  | struct regmap		*regmap; | 
|  | struct power_supply	*psy; | 
|  | }; | 
|  |  | 
|  | /* RT5033 charger platform data */ | 
|  | struct rt5033_charger_data { | 
|  | unsigned int pre_uamp; | 
|  | unsigned int pre_uvolt; | 
|  | unsigned int const_uvolt; | 
|  | unsigned int eoc_uamp; | 
|  | unsigned int fast_uamp; | 
|  | }; | 
|  |  | 
|  | struct rt5033_charger { | 
|  | struct device		*dev; | 
|  | struct rt5033_dev	*rt5033; | 
|  | struct power_supply	psy; | 
|  |  | 
|  | struct rt5033_charger_data	*chg; | 
|  | }; | 
|  |  | 
|  | #endif /* __RT5033_H__ */ |