soc-camera: return -ENODEV if sensor is missing
authorMagnus Damm <damm@opensource.se>
Tue, 9 Feb 2010 08:40:40 +0000 (17:40 +0900)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 26 Feb 2010 18:11:00 +0000 (15:11 -0300)
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>
drivers/media/video/soc_camera.c

index 6b3fbcc..b91d568 100644 (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)