rk30:sdk: dvfs add interface "struct regulator* dvfs_get_regulator(char *regulator_na...
authorchenxing <chenxing@rock-chips.com>
Thu, 14 Jun 2012 07:02:46 +0000 (15:02 +0800)
committerchenxing <chenxing@rock-chips.com>
Thu, 14 Jun 2012 07:02:46 +0000 (15:02 +0800)
arch/arm/mach-rk30/dvfs.c
arch/arm/mach-rk30/include/mach/dvfs.h

index 40ef00fcd4366a4034fff1329d6d960ca2ae7586..38932a63ca0fd4ede0886eca56455703bc2ce3e5 100644 (file)
@@ -64,6 +64,17 @@ static void dump_dbg_map(void);
 #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
index bfc646edac77ad7f3e7447f5a28601255a05b729..adfa7de4b36229345814151d818cc2c36c03f16f 100755 (executable)
@@ -15,6 +15,8 @@
 #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
@@ -145,6 +147,8 @@ struct cpufreq_frequency_table *dvfs_get_freq_volt_table(struct clk *clk);
 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
@@ -156,7 +160,7 @@ static inline struct cpufreq_frequency_table *dvfs_get_freq_volt_table(struct cl
 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