aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2013-05-29 05:59:34 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-06-13 10:45:42 -0400
commit191b79b0883cb0e604ba63fb3f85cf50ecfc9dc3 (patch)
tree398b5e9cee2176642b664421ebfeca3a4511d2b1
parentdd8c393b3c39f7ebd9ad69ce50cc836773d512b6 (diff)
[media] v4l2-ioctl: dbg_g/s_register: only match BRIDGE and SUBDEV types
Drop support for V4L2_CHIP_MATCH_I2C_DRIVER/ADDR and V4L2_CHIP_MATCH_AC97 types. The following patches will remove support for those in the drivers as well. This means that bridge drivers no longer have to check for the match.type field in their g/s_register implementations. Only if they also implement g_chip_info do they still have to check the match.addr field, otherwise the core will check for that as well. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/v4l2-core/v4l2-ioctl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index f81bda1a48ec..60b8c259da96 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1807,7 +1807,8 @@ static int v4l_dbg_g_register(const struct v4l2_ioctl_ops *ops,
1807 return v4l2_subdev_call(sd, core, g_register, p); 1807 return v4l2_subdev_call(sd, core, g_register, p);
1808 return -EINVAL; 1808 return -EINVAL;
1809 } 1809 }
1810 if (ops->vidioc_g_register) 1810 if (ops->vidioc_g_register && p->match.type == V4L2_CHIP_MATCH_BRIDGE &&
1811 (ops->vidioc_g_chip_info || p->match.addr == 0))
1811 return ops->vidioc_g_register(file, fh, p); 1812 return ops->vidioc_g_register(file, fh, p);
1812 return -EINVAL; 1813 return -EINVAL;
1813#else 1814#else
@@ -1834,7 +1835,8 @@ static int v4l_dbg_s_register(const struct v4l2_ioctl_ops *ops,
1834 return v4l2_subdev_call(sd, core, s_register, p); 1835 return v4l2_subdev_call(sd, core, s_register, p);
1835 return -EINVAL; 1836 return -EINVAL;
1836 } 1837 }
1837 if (ops->vidioc_s_register) 1838 if (ops->vidioc_s_register && p->match.type == V4L2_CHIP_MATCH_BRIDGE &&
1839 (ops->vidioc_g_chip_info || p->match.addr == 0))
1838 return ops->vidioc_s_register(file, fh, p); 1840 return ops->vidioc_s_register(file, fh, p);
1839 return -EINVAL; 1841 return -EINVAL;
1840#else 1842#else