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:
Magnus Damm 2010-02-09 17:40:40 +09:00 committed by Mauro Carvalho Chehab
parent 6b727c68ea
commit d74f841c32
1 changed files with 2 additions and 6 deletions

View File

@ -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 i2c_adapter *adap = i2c_get_adapter(icl->i2c_adapter_id);
struct v4l2_subdev *subdev;
int ret;
if (!adap) {
ret = -ENODEV;
dev_err(&icd->dev, "Cannot get I2C adapter #%d. No driver?\n",
icl->i2c_adapter_id);
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,
icl->module_name, icl->board_info, NULL);
if (!subdev) {
ret = -ENOMEM;
if (!subdev)
goto ei2cnd;
}
client = subdev->priv;
@ -873,7 +869,7 @@ static int soc_camera_init_i2c(struct soc_camera_device *icd,
ei2cnd:
i2c_put_adapter(adap);
ei2cga:
return ret;
return -ENODEV;
}
static void soc_camera_free_i2c(struct soc_camera_device *icd)