static int max77650_regulator_disable(struct regulator_dev *rdev) { struct max77650_regulator_desc *rdesc; struct regmap *map; rdesc = rdev_get_drvdata(rdev); map = rdev_get_regmap(rdev); return regmap_update_bits(map, rdesc->regB, MAX77650_REGULATOR_EN_CTRL_MASK, MAX77650_REGULATOR_DISABLED); }
static int arizona_ldo1_hc_get_voltage_sel(struct regulator_dev *rdev) { struct regmap *regmap = rdev_get_regmap(rdev); unsigned int val; int ret; ret = regmap_read(regmap, ARIZONA_LDO1_CONTROL_2, &val); if (ret != 0) return ret; if (val & ARIZONA_LDO1_HI_PWR) return rdev->desc->n_voltages - 1; return regulator_get_voltage_sel_regmap(rdev); }
static int max77650_regulator_is_enabled(struct regulator_dev *rdev) { struct max77650_regulator_desc *rdesc; struct regmap *map; int val, rv, en; rdesc = rdev_get_drvdata(rdev); map = rdev_get_regmap(rdev); rv = regmap_read(map, rdesc->regB, &val); if (rv) return rv; en = MAX77650_REGULATOR_EN_CTRL_BITS(val); return en != MAX77650_REGULATOR_DISABLED; }
static int arizona_ldo1_hc_set_voltage_sel(struct regulator_dev *rdev, unsigned sel) { struct regmap *regmap = rdev_get_regmap(rdev); unsigned int val; int ret; if (sel == rdev->desc->n_voltages - 1) val = ARIZONA_LDO1_HI_PWR; else val = 0; ret = regmap_update_bits(regmap, ARIZONA_LDO1_CONTROL_2, ARIZONA_LDO1_HI_PWR, val); if (ret != 0) return ret; if (val) return 0; return regulator_set_voltage_sel_regmap(rdev, sel); }