Skip to contentSkip to conversation

regulator: Add stub for devm_regulator_get_exclusive

PATCH Superseded Axel Lin 2 participants 4 messages Aug 12, 2014 – Aug 16, 2014 Voltage and current regulator framework

lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH v2 1/1 regulator: Add stub for devm_regulator_get_exclusive

Fix below build error when !CONFIG_REGULATOR.

CC drivers/gpu/drm/msm/hdmi/hdmi.o
drivers/gpu/drm/msm/hdmi/hdmi.c: In function 'hdmi_init':
drivers/gpu/drm/msm/hdmi/hdmi.c:126:3: error: implicit declaration of function 'devm_regulator_get_exclusive' [-Werror=implicit-function-declaration]

Also makes regulator_get_exclusive and devm_regulator_get_exclusive stub functions return error pointer.

---
 include/linux/regulator/consumer.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
include/linux/regulator/consumer.h +7 -1
index f8a8733..66473e3 100644
@@ -262,7 +262,13 @@ devm_regulator_get(struct device *dev, const char *id)
 static inline struct regulator *__must_check
 regulator_get_exclusive(struct device *dev, const char *id)
 {
-	return NULL;
+	return ERR_PTR(-ENODEV);
+}
+
+static inline struct regulator *__must_check
+devm_regulator_get_exclusive(struct device *dev, const char *id)
+{
+	return ERR_PTR(-ENODEV);
 }
 
 static inline struct regulator *__must_check
Signature · 1 line
1.9.1
maintainer
#1 lore raw
Quoted 5 lines · Axel Lin

Fix below build error when !CONFIG_REGULATOR.

CC drivers/gpu/drm/msm/hdmi/hdmi.o
drivers/gpu/drm/msm/hdmi/hdmi.c: In function 'hdmi_init':
drivers/gpu/drm/msm/hdmi/hdmi.c:126:3: error: implicit declaration of function 'devm_regulator_get_exclusive' [-Werror=implicit-function-declaration]

So, I just looked at that driver - it errors out on probe without the regualtor. Are you sure the fix isn't to add a dependency on the regulator API or convert it back to using normal regulator gets (it was converted without comment as part of a DT conversion), or indeed to using the bulk regulator API. It looks awfully like the driver is just open coding devm_regulator_bulk_get() and friends.

There is no explanation at all in either the changelog or the code for why the driver is asking for exclusive regulators.

author
#2 lore raw

2014-08-13 5:55 GMT+08:00 Mark Brown <[email protected]>:

Quoted 14 lines · Axel Lin
Quoted 5 lines

Fix below build error when !CONFIG_REGULATOR.

CC drivers/gpu/drm/msm/hdmi/hdmi.o
drivers/gpu/drm/msm/hdmi/hdmi.c: In function 'hdmi_init':
drivers/gpu/drm/msm/hdmi/hdmi.c:126:3: error: implicit declaration of function 'devm_regulator_get_exclusive' [-Werror=implicit-function-declaration]

So, I just looked at that driver - it errors out on probe without the regualtor. Are you sure the fix isn't to add a dependency on the regulator API or convert it back to using normal regulator gets (it was converted without comment as part of a DT conversion), or indeed to using the bulk regulator API. It looks awfully like the driver is just open coding devm_regulator_bulk_get() and friends.

Quoted 2 lines

There is no explanation at all in either the changelog or the code for why the driver is asking for exclusive regulators.

Hi Rob,
Any feedback about Mark's comment?

Hi Mark,
Even though not for this build fix, I think the patch is still good. Should I remove the build error message and resend the patch to you?

Regards,
Axel

maintainer
#3 lore raw
Quoted 3 lines · Axel Lin

Hi Mark,
Even though not for this build fix, I think the patch is still good. Should I remove the build error message and resend the patch to you?

It's fine as-is, I was partly holding off because of -rc1 and partly holding off to see what Rob said about the usage. I'll probably apply it at some point if I don't hear anythihing back but I really want to either understand the usage or see it fixed.