aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/regulator/consumer.h
diff options
context:
space:
mode:
authorBiju Das <biju.das.jz@bp.renesas.com>2024-06-16 11:53:55 +0100
committerMark Brown <broonie@kernel.org>2024-06-26 18:17:05 +0100
commit1cb7d29157603561af4c38535e936850ceb99f0f (patch)
tree32f6a232bd55180c80c317636403549141e2c2c4 /include/linux/regulator/consumer.h
parentLinux 6.10-rc5 (diff)
downloadwireguard-linux-1cb7d29157603561af4c38535e936850ceb99f0f.tar.xz
wireguard-linux-1cb7d29157603561af4c38535e936850ceb99f0f.zip
regulator: core: Add helper for allow HW access to enable/disable regulator
Add a helper function that allow regulator consumers to allow low-level HW access, in order to enable/disable regulator in atomic context. The use-case for RZ/G2L SoC is to enable VBUS selection register based on vbus detection that happens in interrupt context. Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> Link: https://patch.msgid.link/20240616105402.45211-4-biju.das.jz@bp.renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to '')
-rw-r--r--include/linux/regulator/consumer.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h
index 59d0b9a79e6e..550a0e6523ae 100644
--- a/include/linux/regulator/consumer.h
+++ b/include/linux/regulator/consumer.h
@@ -250,6 +250,7 @@ int regulator_get_hardware_vsel_register(struct regulator *regulator,
unsigned *vsel_mask);
int regulator_list_hardware_vsel(struct regulator *regulator,
unsigned selector);
+int regulator_hardware_enable(struct regulator *regulator, bool enable);
/* regulator notifier block */
int regulator_register_notifier(struct regulator *regulator,
@@ -571,6 +572,12 @@ static inline int regulator_list_hardware_vsel(struct regulator *regulator,
return -EOPNOTSUPP;
}
+static inline int regulator_hardware_enable(struct regulator *regulator,
+ bool enable)
+{
+ return -EOPNOTSUPP;
+}
+
static inline int regulator_register_notifier(struct regulator *regulator,
struct notifier_block *nb)
{