return ret;
}
----- static int tps6586x_get_voltage_sel(struct regulator_dev *rdev)
----- {
----- struct tps6586x_regulator *ri = rdev_get_drvdata(rdev);
----- struct device *parent = to_tps6586x_dev(rdev);
----- uint8_t val, mask;
----- int ret;
-----
----- ret = tps6586x_read(parent, ri->volt_reg, &val);
----- if (ret)
----- return ret;
-----
----- mask = ((1 << ri->volt_nbits) - 1) << ri->volt_shift;
----- val = (val & mask) >> ri->volt_shift;
-----
----- if (val >= ri->desc.n_voltages)
----- BUG();
-----
----- return val;
----- }
-----
----- static int tps6586x_regulator_enable(struct regulator_dev *rdev)
----- {
----- struct tps6586x_regulator *ri = rdev_get_drvdata(rdev);
----- struct device *parent = to_tps6586x_dev(rdev);
-----
----- return tps6586x_set_bits(parent, ri->enable_reg[0],
----- 1 << ri->enable_bit[0]);
----- }
-----
----- static int tps6586x_regulator_disable(struct regulator_dev *rdev)
----- {
----- struct tps6586x_regulator *ri = rdev_get_drvdata(rdev);
----- struct device *parent = to_tps6586x_dev(rdev);
-----
----- return tps6586x_clr_bits(parent, ri->enable_reg[0],
----- 1 << ri->enable_bit[0]);
----- }
-----
----- static int tps6586x_regulator_is_enabled(struct regulator_dev *rdev)
----- {
----- struct tps6586x_regulator *ri = rdev_get_drvdata(rdev);
----- struct device *parent = to_tps6586x_dev(rdev);
----- uint8_t reg_val;
----- int ret;
-----
----- ret = tps6586x_read(parent, ri->enable_reg[0], ®_val);
----- if (ret)
----- return ret;
-----
----- return !!(reg_val & (1 << ri->enable_bit[0]));
----- }
-----
static struct regulator_ops tps6586x_regulator_ops = {
.list_voltage = regulator_list_voltage_table,
----- .get_voltage_sel = tps6586x_get_voltage_sel,
+++++ .get_voltage_sel = regulator_get_voltage_sel_regmap,
.set_voltage_sel = tps6586x_set_voltage_sel,
----- .is_enabled = tps6586x_regulator_is_enabled,
----- .enable = tps6586x_regulator_enable,
----- .disable = tps6586x_regulator_disable,
+++++ .is_enabled = regulator_is_enabled_regmap,
+++++ .enable = regulator_enable_regmap,
+++++ .disable = regulator_disable_regmap,
++++ };
++++
++++ +static struct regulator_ops tps6586x_sys_regulator_ops = {
+};
+
static const unsigned int tps6586x_ldo0_voltages[] = {
1200000, 1500000, 1800000, 2500000, 2700000, 2850000, 3100000, 3300000,
};
TPS6586X_LDO(LDO_7, "vinldo678", ldo, SUPPLYV3, 3, 3, ENC, 5, END, 5),
TPS6586X_LDO(LDO_8, "vinldo678", ldo, SUPPLYV2, 5, 3, ENC, 6, END, 6),
TPS6586X_LDO(LDO_9, "vinldo9", ldo, SUPPLYV6, 3, 3, ENE, 7, ENE, 7),
---- - TPS6586X_LDO(LDO_RTC, NULL, ldo, SUPPLYV4, 3, 3, V4, 7, V4, 7),
++++ + TPS6586X_LDO(LDO_RTC, "REG-SYS", ldo, SUPPLYV4, 3, 3, V4, 7, V4, 7),
TPS6586X_LDO(LDO_1, "vinldo01", dvm, SUPPLYV1, 0, 5, ENC, 1, END, 1),
- - TPS6586X_LDO(SM_2, "sm2", sm2, SUPPLYV2, 0, 5, ENC, 7, END, 7),
+ + TPS6586X_LDO(SM_2, "vin-sm2", sm2, SUPPLYV2, 0, 5, ENC, 7, END, 7),
TPS6586X_DVM(LDO_2, "vinldo23", dvm, LDO2BV1, 0, 5, ENA, 3,
ENB, 3, VCC2, 6),