int regulator_set_voltage_byid(int id, int min_uV, int max_uV, int type) { struct regulator *regulator = NULL; int ret = -EINVAL; id = (type << REGULATOR_SHIFT) | id; regulator = regulator_get_by_id(id); if (NULL == regulator) { regu_pr_err("get regulator failed---->id is :%d\n", id); ret = -EINVAL; goto out; } if ((min_uV > max_uV) || (min_uV < 0) || max_uV < 0) { regu_pr_err("regulator uV is error---->id is :%d,---->min_uV is : %d,---->max_uV is : %d\n", id, min_uV, max_uV); ret = -EINVAL; goto out; } ret = regulator_set_voltage(regulator, min_uV, max_uV); if (ret < 0) { regu_pr_err("set regulator voltage failed---->id is :%d\n", id); } regu_pr_debug("ret-->%d, regu_id--->%d, name--->%s\n", ret, regulator->id, regulator->name); out: return ret; }
/* 获取当前电压 */ int regulator_get_voltage_byid(int id, int type) { struct regulator *regulator = NULL; int ret = -EINVAL; id = (type << REGULATOR_SHIFT) | id; regulator = regulator_get_by_id(id); if (NULL == regulator) { regu_pr_err("get regulator failed---->id is :%d\n", id); ret = -EINVAL; goto out; } ret = regulator_get_voltage(regulator); regu_pr_debug("ret-->%d, regu_id--->%d, name--->%s\n", ret, regulator->id, regulator->name); out: return ret; }
void regulator_get_current_status(void) { int id = 0; regu_pr_err("******************regulator status*******************\n", id); for(id = HI6451_BUCK1; id <= HI6451_DR3; id++) { regulator_status(id, REGULATOR_TYPE_HI6451); } for(id = HI6551_BUCK1; id <= HI6551_LVS10; id++) { regulator_status(id, REGULATOR_TYPE_HI6551); } for(id = P531_MTCMOS1; id <= P531_MTCMOS10; id++) { regulator_status(id, REGULATOR_TYPE_P531_MTCMOS); } for(id = V7R2_MTCMOS1; id <= V7R2_MTCMOS13; id++) { regulator_status(id, REGULATOR_TYPE_V7R2_MTCMOS); } }
void regulator_print_status(int id, int type) { struct regulator *regulator = NULL; int ret = 0; id = (type << REGULATOR_SHIFT) | id; regulator = regulator_get_by_id(id); if (NULL == regulator) { regu_pr_err("get regulator failed---->id is :%d\n", id); return; } printf("******************regulator id %d's status*******************\n\r", id); printf("regulator id------------>%d\n", (regulator->id & REGULATOR_TYPE_FLAG)); printf("regulator name---------->%s\n", regulator->name); ret = regulator_is_enabled(regulator); printf("regulator status-------->%d\n", ret); printf("regulator use_count----->%d\n", regulator->use_count); ret = regulator_get_voltage(regulator); printf("regulator voltage------->%d\n", ret); printf("******************regulator status end***********************\n\r"); }
static int dummy_set_mode(int volt_id, unsigned int mode) { regu_pr_err("dummy_set_mode id:%d \n", volt_id); return 0; }
static unsigned int dummy_get_mode(int volt_id) { regu_pr_err("dummy get_mode id:%d \n", volt_id); return 0; }
static int dummy_disable(int volt_id) { regu_pr_err("dummy_disable id:%d \n", volt_id); return 0; }
static int dummy_is_enabled(int volt_id) { regu_pr_err("dummy_is_enabled id:%d \n", volt_id); return 0; }
static int dummy_get_voltage(int volt_id) { regu_pr_err("dummy_get_voltage id:%d \n", volt_id); return 0; }
static int dummy_set_voltage(int volt_id, int min_uV, int max_uV, unsigned *selector) { regu_pr_err("dummy_set_voltage id:%d \n", volt_id); return 0; }
static int dummy_list_voltage(int volt_id, unsigned selector) { regu_pr_err("dummy list id:%d \n", volt_id); return 0; }