staticint aw37503_regulator_enable(struct regulator_dev *rdev)
{ struct aw37503_regulator *chip = rdev_get_drvdata(rdev); int id = rdev_get_id(rdev); struct aw37503_reg_pdata *rpdata = &chip->reg_pdata[id]; int ret;
if (!IS_ERR(rpdata->en_gpiod)) {
gpiod_set_value_cansleep(rpdata->en_gpiod, 1);
rpdata->ena_gpio_state = 1;
}
/* Hardware automatically enable discharge bit in enable */ if (rdev->constraints->active_discharge ==
REGULATOR_ACTIVE_DISCHARGE_DISABLE) {
ret = regulator_set_active_discharge_regmap(rdev, false); if (ret < 0) {
dev_err(chip->dev, "Failed to disable active discharge: %d\n",
ret); return ret;
}
}
return 0;
}
staticint aw37503_regulator_disable(struct regulator_dev *rdev)
{ struct aw37503_regulator *chip = rdev_get_drvdata(rdev); int id = rdev_get_id(rdev); struct aw37503_reg_pdata *rpdata = &chip->reg_pdata[id];
if (!IS_ERR(rpdata->en_gpiod)) {
gpiod_set_value_cansleep(rpdata->en_gpiod, 0);
rpdata->ena_gpio_state = 0;
}
return 0;
}
staticint aw37503_regulator_is_enabled(struct regulator_dev *rdev)
{ struct aw37503_regulator *chip = rdev_get_drvdata(rdev); int id = rdev_get_id(rdev); struct aw37503_reg_pdata *rpdata = &chip->reg_pdata[id];
if (!IS_ERR(rpdata->en_gpiod)) return rpdata->ena_gpio_state;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.