1 /* 2 * Copyright (C) ST-Ericsson SA 2010 3 * 4 * Author: Bengt Jonsson <bengt.jonsson@stericsson.com> for ST-Ericsson, 5 * Jonas Aaberg <jonas.aberg@stericsson.com> for ST-Ericsson 6 * 7 * License Terms: GNU General Public License v2 8 * 9 */ 10 11 #ifndef DBX500_REGULATOR_H 12 #define DBX500_REGULATOR_H 13 14 #include <linux/platform_device.h> 15 16 /** 17 * struct dbx500_regulator_info - dbx500 regulator information 18 * @dev: device pointer 19 * @desc: regulator description 20 * @rdev: regulator device pointer 21 * @is_enabled: status of the regulator 22 * @epod_id: id for EPOD (power domain) 23 * @is_ramret: RAM retention switch for EPOD (power domain) 24 * @operating_point: operating point (only for vape, to be removed) 25 * 26 */ 27 struct dbx500_regulator_info { 28 struct device *dev; 29 struct regulator_desc desc; 30 struct regulator_dev *rdev; 31 bool is_enabled; 32 u16 epod_id; 33 bool is_ramret; 34 bool exclude_from_power_state; 35 unsigned int operating_point; 36 }; 37 38 void power_state_active_enable(void); 39 int power_state_active_disable(void); 40 41 42 #ifdef CONFIG_REGULATOR_DEBUG 43 int ux500_regulator_debug_init(struct platform_device *pdev, 44 struct dbx500_regulator_info *regulator_info, 45 int num_regulators); 46 47 int ux500_regulator_debug_exit(void); 48 #else 49 50 static inline int ux500_regulator_debug_init(struct platform_device *pdev, 51 struct dbx500_regulator_info *regulator_info, 52 int num_regulators) 53 { 54 return 0; 55 } 56 57 static inline int ux500_regulator_debug_exit(void) 58 { 59 return 0; 60 } 61 62 #endif 63 #endif 64