static int rt5033_regulator_set_voltage(struct regulator_dev *rdev, int min_uV, int max_uV,int *selector) { struct rt5033_regulator_info *info = rdev_get_drvdata(rdev); unsigned char data; if (rt5033_regulator_check_range(info, min_uV, max_uV)) { dev_err(info->chip->dev, "invalid voltage range (%d, %d) uV\n", min_uV, max_uV); return -EINVAL; } data = rt5033_regulator_find_voltage(rdev,min_uV,max_uV); data <<= info->vol_shift; return rt5033_assign_bits(info->i2c, info->vol_reg, info->vol_mask, data); }
static int rt5033_regulator_set_voltage(struct regulator_dev *rdev, int min_uV, int max_uV,unsigned *selector) { struct rt5033_regulator_info *info = rdev_get_drvdata(rdev); unsigned char data; if (rt5033_regulator_check_range(info, min_uV, max_uV)) { pr_err("%s %s invalid voltage range (%d, %d) uV\n", ALIAS_NAME, rdev->desc->name, min_uV, max_uV); return -EINVAL; } *selector = rt5033_regulator_find_voltage(rdev,min_uV,max_uV); data = *selector << info->vol_shift; return rt5033_assign_bits(info->i2c, info->vol_reg, info->vol_mask, data); }