This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: i2c: Use dev_err_probe() in ov8865
Author:  Daniel Scally <[email protected]>
Date:    Tue Nov 23 01:00:15 2021 +0100

There is a chance that regulator_get() returns -EPROBE_DEFER, in which
case printing an error message is undesirable. To avoid spurious messages
in dmesg in the event that -EPROBE_DEFER is returned, use dev_err_probe()
on error paths for regulator_get().

Signed-off-by: Daniel Scally <[email protected]>
Signed-off-by: Sakari Ailus <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/i2c/ov8865.c | 46 ++++++++++++++++++++--------------------------
 1 file changed, 20 insertions(+), 26 deletions(-)

---

diff --git a/drivers/media/i2c/ov8865.c b/drivers/media/i2c/ov8865.c
index 1cc9f78bb97a..1aa577dba0a3 100644
--- a/drivers/media/i2c/ov8865.c
+++ b/drivers/media/i2c/ov8865.c
@@ -2957,6 +2957,26 @@ static int ov8865_probe(struct i2c_client *client)
        sensor->dev = dev;
        sensor->i2c_client = client;
 
+       /* Regulators */
+
+       /* DVDD: digital core */
+       sensor->dvdd = devm_regulator_get(dev, "dvdd");
+       if (IS_ERR(sensor->dvdd))
+               return dev_err_probe(dev, PTR_ERR(sensor->dvdd),
+                                    "cannot get DVDD regulator\n");
+
+       /* DOVDD: digital I/O */
+       sensor->dovdd = devm_regulator_get(dev, "dovdd");
+       if (IS_ERR(sensor->dovdd))
+               return dev_err_probe(dev, PTR_ERR(sensor->dovdd),
+                                    "cannot get DOVDD regulator\n");
+
+       /* AVDD: analog */
+       sensor->avdd = devm_regulator_get(dev, "avdd");
+       if (IS_ERR(sensor->avdd))
+               return dev_err_probe(dev, PTR_ERR(sensor->avdd),
+                                    "cannot get AVDD (analog) regulator\n");
+
        /* Graph Endpoint */
 
        handle = fwnode_graph_get_next_endpoint(dev_fwnode(dev), NULL);
@@ -2987,32 +3007,6 @@ static int ov8865_probe(struct i2c_client *client)
                goto error_endpoint;
        }
 
-       /* Regulators */
-
-       /* DVDD: digital core */
-       sensor->dvdd = devm_regulator_get(dev, "dvdd");
-       if (IS_ERR(sensor->dvdd)) {
-               dev_err(dev, "cannot get DVDD (digital core) regulator\n");
-               ret = PTR_ERR(sensor->dvdd);
-               goto error_endpoint;
-       }
-
-       /* DOVDD: digital I/O */
-       sensor->dovdd = devm_regulator_get(dev, "dovdd");
-       if (IS_ERR(sensor->dovdd)) {
-               dev_err(dev, "cannot get DOVDD (digital I/O) regulator\n");
-               ret = PTR_ERR(sensor->dovdd);
-               goto error_endpoint;
-       }
-
-       /* AVDD: analog */
-       sensor->avdd = devm_regulator_get(dev, "avdd");
-       if (IS_ERR(sensor->avdd)) {
-               dev_err(dev, "cannot get AVDD (analog) regulator\n");
-               ret = PTR_ERR(sensor->avdd);
-               goto error_endpoint;
-       }
-
        /* External Clock */
 
        sensor->extclk = devm_clk_get(dev, NULL);

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to