mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 15:49:42 -04:00
media: i2c: Use dev_err_probe() in ov8865
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 <djrscally@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
e15ddc9644
commit
91f08141d3
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user