diff options
| -rw-r--r-- | drivers/regulator/core.c | 7 | ||||
| -rw-r--r-- | drivers/regulator/da9210-regulator.c | 9 | ||||
| -rw-r--r-- | drivers/regulator/rk808-regulator.c | 8 |
3 files changed, 17 insertions, 7 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index b899947d839d..1245dca79009 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c | |||
| @@ -3444,13 +3444,6 @@ static umode_t regulator_attr_is_visible(struct kobject *kobj, | |||
| 3444 | if (attr == &dev_attr_requested_microamps.attr) | 3444 | if (attr == &dev_attr_requested_microamps.attr) |
| 3445 | return rdev->desc->type == REGULATOR_CURRENT ? mode : 0; | 3445 | return rdev->desc->type == REGULATOR_CURRENT ? mode : 0; |
| 3446 | 3446 | ||
| 3447 | /* all the other attributes exist to support constraints; | ||
| 3448 | * don't show them if there are no constraints, or if the | ||
| 3449 | * relevant supporting methods are missing. | ||
| 3450 | */ | ||
| 3451 | if (!rdev->constraints) | ||
| 3452 | return 0; | ||
| 3453 | |||
| 3454 | /* constraints need specific supporting methods */ | 3447 | /* constraints need specific supporting methods */ |
| 3455 | if (attr == &dev_attr_min_microvolts.attr || | 3448 | if (attr == &dev_attr_min_microvolts.attr || |
| 3456 | attr == &dev_attr_max_microvolts.attr) | 3449 | attr == &dev_attr_max_microvolts.attr) |
diff --git a/drivers/regulator/da9210-regulator.c b/drivers/regulator/da9210-regulator.c index bc6100103f7f..f0489cb9018b 100644 --- a/drivers/regulator/da9210-regulator.c +++ b/drivers/regulator/da9210-regulator.c | |||
| @@ -152,6 +152,15 @@ static int da9210_i2c_probe(struct i2c_client *i2c, | |||
| 152 | config.regmap = chip->regmap; | 152 | config.regmap = chip->regmap; |
| 153 | config.of_node = dev->of_node; | 153 | config.of_node = dev->of_node; |
| 154 | 154 | ||
| 155 | /* Mask all interrupt sources to deassert interrupt line */ | ||
| 156 | error = regmap_write(chip->regmap, DA9210_REG_MASK_A, ~0); | ||
| 157 | if (!error) | ||
| 158 | error = regmap_write(chip->regmap, DA9210_REG_MASK_B, ~0); | ||
| 159 | if (error) { | ||
| 160 | dev_err(&i2c->dev, "Failed to write to mask reg: %d\n", error); | ||
| 161 | return error; | ||
| 162 | } | ||
| 163 | |||
| 155 | rdev = devm_regulator_register(&i2c->dev, &da9210_reg, &config); | 164 | rdev = devm_regulator_register(&i2c->dev, &da9210_reg, &config); |
| 156 | if (IS_ERR(rdev)) { | 165 | if (IS_ERR(rdev)) { |
| 157 | dev_err(&i2c->dev, "Failed to register DA9210 regulator\n"); | 166 | dev_err(&i2c->dev, "Failed to register DA9210 regulator\n"); |
diff --git a/drivers/regulator/rk808-regulator.c b/drivers/regulator/rk808-regulator.c index 1f93b752a81c..3fd44353cc80 100644 --- a/drivers/regulator/rk808-regulator.c +++ b/drivers/regulator/rk808-regulator.c | |||
| @@ -235,6 +235,7 @@ static const struct regulator_desc rk808_reg[] = { | |||
| 235 | .vsel_mask = RK808_LDO_VSEL_MASK, | 235 | .vsel_mask = RK808_LDO_VSEL_MASK, |
| 236 | .enable_reg = RK808_LDO_EN_REG, | 236 | .enable_reg = RK808_LDO_EN_REG, |
| 237 | .enable_mask = BIT(0), | 237 | .enable_mask = BIT(0), |
| 238 | .enable_time = 400, | ||
| 238 | .owner = THIS_MODULE, | 239 | .owner = THIS_MODULE, |
| 239 | }, { | 240 | }, { |
| 240 | .name = "LDO_REG2", | 241 | .name = "LDO_REG2", |
| @@ -249,6 +250,7 @@ static const struct regulator_desc rk808_reg[] = { | |||
| 249 | .vsel_mask = RK808_LDO_VSEL_MASK, | 250 | .vsel_mask = RK808_LDO_VSEL_MASK, |
| 250 | .enable_reg = RK808_LDO_EN_REG, | 251 | .enable_reg = RK808_LDO_EN_REG, |
| 251 | .enable_mask = BIT(1), | 252 | .enable_mask = BIT(1), |
| 253 | .enable_time = 400, | ||
| 252 | .owner = THIS_MODULE, | 254 | .owner = THIS_MODULE, |
| 253 | }, { | 255 | }, { |
| 254 | .name = "LDO_REG3", | 256 | .name = "LDO_REG3", |
| @@ -263,6 +265,7 @@ static const struct regulator_desc rk808_reg[] = { | |||
| 263 | .vsel_mask = RK808_BUCK4_VSEL_MASK, | 265 | .vsel_mask = RK808_BUCK4_VSEL_MASK, |
| 264 | .enable_reg = RK808_LDO_EN_REG, | 266 | .enable_reg = RK808_LDO_EN_REG, |
| 265 | .enable_mask = BIT(2), | 267 | .enable_mask = BIT(2), |
| 268 | .enable_time = 400, | ||
| 266 | .owner = THIS_MODULE, | 269 | .owner = THIS_MODULE, |
| 267 | }, { | 270 | }, { |
| 268 | .name = "LDO_REG4", | 271 | .name = "LDO_REG4", |
| @@ -277,6 +280,7 @@ static const struct regulator_desc rk808_reg[] = { | |||
| 277 | .vsel_mask = RK808_LDO_VSEL_MASK, | 280 | .vsel_mask = RK808_LDO_VSEL_MASK, |
| 278 | .enable_reg = RK808_LDO_EN_REG, | 281 | .enable_reg = RK808_LDO_EN_REG, |
| 279 | .enable_mask = BIT(3), | 282 | .enable_mask = BIT(3), |
| 283 | .enable_time = 400, | ||
| 280 | .owner = THIS_MODULE, | 284 | .owner = THIS_MODULE, |
| 281 | }, { | 285 | }, { |
| 282 | .name = "LDO_REG5", | 286 | .name = "LDO_REG5", |
| @@ -291,6 +295,7 @@ static const struct regulator_desc rk808_reg[] = { | |||
| 291 | .vsel_mask = RK808_LDO_VSEL_MASK, | 295 | .vsel_mask = RK808_LDO_VSEL_MASK, |
| 292 | .enable_reg = RK808_LDO_EN_REG, | 296 | .enable_reg = RK808_LDO_EN_REG, |
| 293 | .enable_mask = BIT(4), | 297 | .enable_mask = BIT(4), |
| 298 | .enable_time = 400, | ||
| 294 | .owner = THIS_MODULE, | 299 | .owner = THIS_MODULE, |
| 295 | }, { | 300 | }, { |
| 296 | .name = "LDO_REG6", | 301 | .name = "LDO_REG6", |
| @@ -305,6 +310,7 @@ static const struct regulator_desc rk808_reg[] = { | |||
| 305 | .vsel_mask = RK808_LDO_VSEL_MASK, | 310 | .vsel_mask = RK808_LDO_VSEL_MASK, |
| 306 | .enable_reg = RK808_LDO_EN_REG, | 311 | .enable_reg = RK808_LDO_EN_REG, |
| 307 | .enable_mask = BIT(5), | 312 | .enable_mask = BIT(5), |
| 313 | .enable_time = 400, | ||
| 308 | .owner = THIS_MODULE, | 314 | .owner = THIS_MODULE, |
| 309 | }, { | 315 | }, { |
| 310 | .name = "LDO_REG7", | 316 | .name = "LDO_REG7", |
| @@ -319,6 +325,7 @@ static const struct regulator_desc rk808_reg[] = { | |||
| 319 | .vsel_mask = RK808_LDO_VSEL_MASK, | 325 | .vsel_mask = RK808_LDO_VSEL_MASK, |
| 320 | .enable_reg = RK808_LDO_EN_REG, | 326 | .enable_reg = RK808_LDO_EN_REG, |
| 321 | .enable_mask = BIT(6), | 327 | .enable_mask = BIT(6), |
| 328 | .enable_time = 400, | ||
| 322 | .owner = THIS_MODULE, | 329 | .owner = THIS_MODULE, |
| 323 | }, { | 330 | }, { |
| 324 | .name = "LDO_REG8", | 331 | .name = "LDO_REG8", |
| @@ -333,6 +340,7 @@ static const struct regulator_desc rk808_reg[] = { | |||
| 333 | .vsel_mask = RK808_LDO_VSEL_MASK, | 340 | .vsel_mask = RK808_LDO_VSEL_MASK, |
| 334 | .enable_reg = RK808_LDO_EN_REG, | 341 | .enable_reg = RK808_LDO_EN_REG, |
| 335 | .enable_mask = BIT(7), | 342 | .enable_mask = BIT(7), |
| 343 | .enable_time = 400, | ||
| 336 | .owner = THIS_MODULE, | 344 | .owner = THIS_MODULE, |
| 337 | }, { | 345 | }, { |
| 338 | .name = "SWITCH_REG1", | 346 | .name = "SWITCH_REG1", |
