diff options
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/video/cafe_ccic.c | 3 | ||||
-rw-r--r-- | linux/drivers/media/video/v4l2-common.c | 4 | ||||
-rw-r--r-- | linux/include/linux/videodev2.h | 7 |
3 files changed, 5 insertions, 9 deletions
diff --git a/linux/drivers/media/video/cafe_ccic.c b/linux/drivers/media/video/cafe_ccic.c index 5f35836ad..b96d45654 100644 --- a/linux/drivers/media/video/cafe_ccic.c +++ b/linux/drivers/media/video/cafe_ccic.c @@ -826,7 +826,7 @@ static int __cafe_cam_reset(struct cafe_camera *cam) */ static int cafe_cam_init(struct cafe_camera *cam) { - struct v4l2_chip_ident chip = { V4L2_CHIP_MATCH_ALWAYS }; + struct v4l2_chip_ident chip = { V4L2_CHIP_MATCH_I2C_ADDR, 0, 0, 0 }; int ret; mutex_lock(&cam->s_mutex); @@ -836,6 +836,7 @@ static int cafe_cam_init(struct cafe_camera *cam) ret = __cafe_cam_reset(cam); if (ret) goto out; + chip.match_chip = cam->sensor->addr; ret = __cafe_cam_cmd(cam, VIDIOC_G_CHIP_IDENT, &chip); if (ret) goto out; diff --git a/linux/drivers/media/video/v4l2-common.c b/linux/drivers/media/video/v4l2-common.c index b2d57d888..60c56a8b0 100644 --- a/linux/drivers/media/video/v4l2-common.c +++ b/linux/drivers/media/video/v4l2-common.c @@ -1596,8 +1596,6 @@ u32 v4l2_ctrl_next(const u32 * const * ctrl_classes, u32 id) int v4l2_chip_match_i2c_client(struct i2c_client *c, u32 match_type, u32 match_chip) { switch (match_type) { - case V4L2_CHIP_MATCH_ALWAYS: - return 1; case V4L2_CHIP_MATCH_I2C_DRIVER: return (c != NULL && c->driver != NULL && c->driver->id == match_chip); case V4L2_CHIP_MATCH_I2C_ADDR: @@ -1610,8 +1608,6 @@ int v4l2_chip_match_i2c_client(struct i2c_client *c, u32 match_type, u32 match_c int v4l2_chip_match_host(u32 match_type, u32 match_chip) { switch (match_type) { - case V4L2_CHIP_MATCH_ALWAYS: - return 1; case V4L2_CHIP_MATCH_HOST: return match_chip == 0; default: diff --git a/linux/include/linux/videodev2.h b/linux/include/linux/videodev2.h index 8a5aabb84..76af1e16a 100644 --- a/linux/include/linux/videodev2.h +++ b/linux/include/linux/videodev2.h @@ -1387,10 +1387,9 @@ struct v4l2_streamparm /* VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER */ -#define V4L2_CHIP_MATCH_ALWAYS 0 /* Match always (match_chip is not used) */ -#define V4L2_CHIP_MATCH_HOST 1 /* Match against chip ID on host (0 for the host) */ -#define V4L2_CHIP_MATCH_I2C_DRIVER 2 /* Match against I2C driver ID */ -#define V4L2_CHIP_MATCH_I2C_ADDR 3 /* Match against I2C 7-bit address */ +#define V4L2_CHIP_MATCH_HOST 0 /* Match against chip ID on host (0 for the host) */ +#define V4L2_CHIP_MATCH_I2C_DRIVER 1 /* Match against I2C driver ID */ +#define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */ struct v4l2_register { __u32 match_type; /* Match type */ |