]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
media: ov2640: don't clear V4L2_SUBDEV_FL_IS_I2C
authorAkinobu Mita <akinobu.mita@gmail.com>
Thu, 19 Oct 2017 16:31:22 +0000 (12:31 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 31 Oct 2017 16:08:34 +0000 (12:08 -0400)
The v4l2_i2c_subdev_init() sets V4L2_SUBDEV_FL_IS_I2C flag in the
subdev->flags.  But this driver overwrites subdev->flags immediately after
calling v4l2_i2c_subdev_init().  So V4L2_SUBDEV_FL_IS_I2C is not set after
all.

This stops breaking subdev->flags and preserves V4L2_SUBDEV_FL_IS_I2C.

Side note: According to the comment in v4l2_device_unregister(), this is
problematic only if the device is platform bus device.  Device tree or
ACPI based devices are not affected.

Cc: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/i2c/ov2640.c

index 38b8bab7e6aabf90e8d0976aa1b51911f2774d96..518868388d65081448fab673d17eeab79a7f050f 100644 (file)
@@ -1115,7 +1115,7 @@ static int ov2640_probe(struct i2c_client *client,
                goto err_clk;
 
        v4l2_i2c_subdev_init(&priv->subdev, client, &ov2640_subdev_ops);
-       priv->subdev.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
+       priv->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
        v4l2_ctrl_handler_init(&priv->hdl, 2);
        v4l2_ctrl_new_std(&priv->hdl, &ov2640_ctrl_ops,
                        V4L2_CID_VFLIP, 0, 1, 1, 0);