@@ -1252,12 +1252,17 @@ static int sgtl5000_i2c_probe(struct i2c_client *client,
ana_pwr = SGTL5000_ANA_POWER_DEFAULT;
if (sgtl5000->num_supplies <= VDDD) {
/* internal VDDD at 1.2V */
- regmap_update_bits(sgtl5000->regmap,
- SGTL5000_CHIP_LINREG_CTRL,
- SGTL5000_LINREG_VDDD_MASK,
- LINREG_VDDD);
+ ret = regmap_update_bits(sgtl5000->regmap,
+ SGTL5000_CHIP_LINREG_CTRL,
+ SGTL5000_LINREG_VDDD_MASK,
+ LINREG_VDDD);
+ if (ret)
+ dev_err(&client->dev,
+ "error %d setting LINREG_VDDD\n", ret);
+
ana_pwr |= SGTL5000_LINEREG_D_POWERUP;
- dev_info(&client->dev, "Using internal LDO instead of VDDD: check ER1\n");
+ dev_info(&client->dev,
+ "Using internal LDO instead of VDDD: check ER1\n");
} else {
/* using external LDO for VDDD
* Clear startup powerup and simple powerup
@@ -1267,7 +1272,11 @@ static int sgtl5000_i2c_probe(struct i2c_client *client,
| SGTL5000_LINREG_SIMPLE_POWERUP);
dev_dbg(&client->dev, "Using external VDDD\n");
}
- regmap_write(sgtl5000->regmap, SGTL5000_CHIP_ANA_POWER, ana_pwr);
+ ret = regmap_write(sgtl5000->regmap, SGTL5000_CHIP_ANA_POWER, ana_pwr);
+ if (ret)
+ dev_err(&client->dev,
+ "error %d setting CHIP_ANA_POWER to %04x\n",
+ ret, ana_pwr);
if (np) {
if (!of_property_read_u32(np,
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> --- sound/soc/codecs/sgtl5000.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-)