linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/2] iio: fetch and enable regulators unconditionally
@ 2016-09-05  9:14 Crt Mori
  2016-09-05  9:14 ` [PATCH v2 2/2] iio: devm_regulator_get_optional never returns NULL Crt Mori
  2016-09-05 20:09 ` [PATCH v2 1/2] iio: fetch and enable regulators unconditionally Jonathan Cameron
  0 siblings, 2 replies; 6+ messages in thread
From: Crt Mori @ 2016-09-05  9:14 UTC (permalink / raw)
  To: linux-iio, Jonathan Cameron
  Cc: Daniel Baluta, Gregor Boirie, Matt Ranostay, Sean Nyekjaer,
	Markus Pargmann, Peter Meerwald-Stadler, Hartmut Knaack,
	Lars-Peter Clausen, Linus Walleij, Crt Mori

This patch is inspired by a comment of Jonathan Cameron on patch of
Linus Walleij commit aeb55fff3891834e07a3144159a7298a19696af8 ("iio: st_sensors: fetch and enable regulators unconditionally").

The explanation for this change is same as in that patch:
"Supplies are *not* optional (optional means that the supply is
optional in the electrical sense, not the software sense) so we need to
get the and enable them at all times.

If the device tree or board file does not define suitable regulators for
the component, it will be substituted by a dummy regulator, or, if
regulators are disabled altogether, by stubs. There is no need to use the
IS_ERR_OR_NULL() check that is considered harmful.

Reported-by: Linus Wallerij <linus.walleij@linaro.org>
Suggested-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Crt Mori <cmo@melexis.com>
---
 drivers/iio/pressure/ms5611_core.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/iio/pressure/ms5611_core.c b/drivers/iio/pressure/ms5611_core.c
index feb41f8..a74ed1f 100644
--- a/drivers/iio/pressure/ms5611_core.c
+++ b/drivers/iio/pressure/ms5611_core.c
@@ -416,8 +416,7 @@ static int ms5611_init(struct iio_dev *indio_dev)
 	return 0;
 
 err_regulator_disable:
-	if (!IS_ERR_OR_NULL(st->vdd))
-		regulator_disable(st->vdd);
+	regulator_disable(st->vdd);
 	return ret;
 }
 
@@ -425,8 +424,7 @@ static void ms5611_fini(const struct iio_dev *indio_dev)
 {
 	const struct ms5611_state *st = iio_priv(indio_dev);
 
-	if (!IS_ERR_OR_NULL(st->vdd))
-		regulator_disable(st->vdd);
+	regulator_disable(st->vdd);
 }
 
 int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-09-05 20:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-05  9:14 [PATCH v2 1/2] iio: fetch and enable regulators unconditionally Crt Mori
2016-09-05  9:14 ` [PATCH v2 2/2] iio: devm_regulator_get_optional never returns NULL Crt Mori
2016-09-05  9:55   ` Linus Walleij
2016-09-05 10:33   ` Lars-Peter Clausen
2016-09-05 20:10     ` Jonathan Cameron
2016-09-05 20:09 ` [PATCH v2 1/2] iio: fetch and enable regulators unconditionally Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).