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 */ 27struct 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 38void power_state_active_enable(void); 39int power_state_active_disable(void); 40 41 42#ifdef CONFIG_REGULATOR_DEBUG 43int ux500_regulator_debug_init(struct platform_device *pdev, 44 struct dbx500_regulator_info *regulator_info, 45 int num_regulators); 46 47int ux500_regulator_debug_exit(void); 48#else 49 50static 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 57static inline int ux500_regulator_debug_exit(void) 58{ 59 return 0; 60} 61 62#endif 63#endif 64