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;
}