#define PD_ON 1\r
#define PD_OFF 0\r
\r
+struct regulator* dvfs_get_regulator(char *regulator_name)\r
+{\r
+ struct vd_node *vd;\r
+ list_for_each_entry(vd, &rk_dvfs_tree, node) {\r
+ if (strcmp(regulator_name, vd->regulator_name) == 0) {\r
+ return vd->regulator;\r
+ }\r
+ }\r
+ return NULL;\r
+}\r
+\r
int is_support_dvfs(struct clk_node *dvfs_info)\r
{\r
return (dvfs_info->vd && dvfs_info->vd->vd_dvfs_target && dvfs_info->enable_dvfs);\r
#ifndef _RK30_DVFS_H_\r
#define _RK30_DVFS_H_\r
\r
+#include <mach/clock.h>\r
+\r
typedef int (*vd_dvfs_target_callback)(struct clk *clk, unsigned long rate);\r
\r
typedef int (*dvfs_set_rate_callback)(struct clk *clk, unsigned long rate);\r
int dvfs_set_freq_volt_table(struct clk *clk, struct cpufreq_frequency_table *table);\r
int dvfs_set_depend_table(struct clk *clk, char *vd_name, struct cpufreq_frequency_table *table);\r
int dvfs_set_arm_logic_volt(struct dvfs_arm_table *dvfs_cpu_logic_table, struct cpufreq_frequency_table *cpu_dvfs_table, struct cpufreq_frequency_table *dep_cpu2core_table);\r
+struct regulator* dvfs_get_regulator(char *regulator_name);\r
+\r
#else\r
static inline int rk30_dvfs_init(void) { return 0; }\r
static inline int is_support_dvfs(struct clk_node *dvfs_info) { return 0; }\r
static inline int dvfs_set_freq_volt_table(struct clk *clk, struct cpufreq_frequency_table *table) { return 0; }\r
static inline int dvfs_set_depend_table(struct clk *clk, char *vd_name, struct cpufreq_frequency_table *table) {return 0;}\r
static inline int dvfs_set_arm_logic_volt(struct dvfs_arm_table *dvfs_cpu_logic_table, struct cpufreq_frequency_table *cpu_dvfs_table, struct cpufreq_frequency_table *dep_cpu2core_table){ return 0; }\r
-\r
+static inline struct regulator* dvfs_get_regulator(char *regulator_name){ return NULL; }\r
#endif\r
\r
#endif\r