soc-camera: return -ENODEV if sensor is missing
Update the soc-camera i2c code to return -ENODEV if a camera sensor is missing instead of -ENOMEM. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
6b727c68ea
commit
d74f841c32
@ -846,10 +846,8 @@ static int soc_camera_init_i2c(struct soc_camera_device *icd,
|
|||||||
struct soc_camera_host *ici = to_soc_camera_host(icd->dev.parent);
|
struct soc_camera_host *ici = to_soc_camera_host(icd->dev.parent);
|
||||||
struct i2c_adapter *adap = i2c_get_adapter(icl->i2c_adapter_id);
|
struct i2c_adapter *adap = i2c_get_adapter(icl->i2c_adapter_id);
|
||||||
struct v4l2_subdev *subdev;
|
struct v4l2_subdev *subdev;
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (!adap) {
|
if (!adap) {
|
||||||
ret = -ENODEV;
|
|
||||||
dev_err(&icd->dev, "Cannot get I2C adapter #%d. No driver?\n",
|
dev_err(&icd->dev, "Cannot get I2C adapter #%d. No driver?\n",
|
||||||
icl->i2c_adapter_id);
|
icl->i2c_adapter_id);
|
||||||
goto ei2cga;
|
goto ei2cga;
|
||||||
@ -859,10 +857,8 @@ static int soc_camera_init_i2c(struct soc_camera_device *icd,
|
|||||||
|
|
||||||
subdev = v4l2_i2c_new_subdev_board(&ici->v4l2_dev, adap,
|
subdev = v4l2_i2c_new_subdev_board(&ici->v4l2_dev, adap,
|
||||||
icl->module_name, icl->board_info, NULL);
|
icl->module_name, icl->board_info, NULL);
|
||||||
if (!subdev) {
|
if (!subdev)
|
||||||
ret = -ENOMEM;
|
|
||||||
goto ei2cnd;
|
goto ei2cnd;
|
||||||
}
|
|
||||||
|
|
||||||
client = subdev->priv;
|
client = subdev->priv;
|
||||||
|
|
||||||
@ -873,7 +869,7 @@ static int soc_camera_init_i2c(struct soc_camera_device *icd,
|
|||||||
ei2cnd:
|
ei2cnd:
|
||||||
i2c_put_adapter(adap);
|
i2c_put_adapter(adap);
|
||||||
ei2cga:
|
ei2cga:
|
||||||
return ret;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void soc_camera_free_i2c(struct soc_camera_device *icd)
|
static void soc_camera_free_i2c(struct soc_camera_device *icd)
|
||||||
|
Loading…
Reference in New Issue
Block a user