diff options
Diffstat (limited to 'drivers/media/video/pvrusb2')
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-hdw.c | 11 | ||||
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-hdw.h | 4 | ||||
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-v4l2.c | 6 |
3 files changed, 10 insertions, 11 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/drivers/media/video/pvrusb2/pvrusb2-hdw.c index 4358079f196..8fb92ac78c7 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c +++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c | |||
@@ -4732,26 +4732,25 @@ static int pvr2_hdw_get_eeprom_addr(struct pvr2_hdw *hdw) | |||
4732 | 4732 | ||
4733 | 4733 | ||
4734 | int pvr2_hdw_register_access(struct pvr2_hdw *hdw, | 4734 | int pvr2_hdw_register_access(struct pvr2_hdw *hdw, |
4735 | u32 match_type, u32 match_chip, u64 reg_id, | 4735 | struct v4l2_dbg_match *match, u64 reg_id, |
4736 | int setFl,u64 *val_ptr) | 4736 | int setFl, u64 *val_ptr) |
4737 | { | 4737 | { |
4738 | #ifdef CONFIG_VIDEO_ADV_DEBUG | 4738 | #ifdef CONFIG_VIDEO_ADV_DEBUG |
4739 | struct pvr2_i2c_client *cp; | 4739 | struct pvr2_i2c_client *cp; |
4740 | struct v4l2_register req; | 4740 | struct v4l2_dbg_register req; |
4741 | int stat = 0; | 4741 | int stat = 0; |
4742 | int okFl = 0; | 4742 | int okFl = 0; |
4743 | 4743 | ||
4744 | if (!capable(CAP_SYS_ADMIN)) return -EPERM; | 4744 | if (!capable(CAP_SYS_ADMIN)) return -EPERM; |
4745 | 4745 | ||
4746 | req.match_type = match_type; | 4746 | req.match = *match; |
4747 | req.match_chip = match_chip; | ||
4748 | req.reg = reg_id; | 4747 | req.reg = reg_id; |
4749 | if (setFl) req.val = *val_ptr; | 4748 | if (setFl) req.val = *val_ptr; |
4750 | mutex_lock(&hdw->i2c_list_lock); do { | 4749 | mutex_lock(&hdw->i2c_list_lock); do { |
4751 | list_for_each_entry(cp, &hdw->i2c_clients, list) { | 4750 | list_for_each_entry(cp, &hdw->i2c_clients, list) { |
4752 | if (!v4l2_chip_match_i2c_client( | 4751 | if (!v4l2_chip_match_i2c_client( |
4753 | cp->client, | 4752 | cp->client, |
4754 | req.match_type, req.match_chip)) { | 4753 | &req.match)) { |
4755 | continue; | 4754 | continue; |
4756 | } | 4755 | } |
4757 | stat = pvr2_i2c_client_cmd( | 4756 | stat = pvr2_i2c_client_cmd( |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.h b/drivers/media/video/pvrusb2/pvrusb2-hdw.h index 49482d1f2b2..1b4fec337c6 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-hdw.h +++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.h | |||
@@ -242,8 +242,8 @@ void pvr2_hdw_v4l_store_minor_number(struct pvr2_hdw *, | |||
242 | setFl - true to set the register, false to read it | 242 | setFl - true to set the register, false to read it |
243 | val_ptr - storage location for source / result. */ | 243 | val_ptr - storage location for source / result. */ |
244 | int pvr2_hdw_register_access(struct pvr2_hdw *, | 244 | int pvr2_hdw_register_access(struct pvr2_hdw *, |
245 | u32 match_type, u32 match_chip,u64 reg_id, | 245 | struct v4l2_dbg_match *match, u64 reg_id, |
246 | int setFl,u64 *val_ptr); | 246 | int setFl, u64 *val_ptr); |
247 | 247 | ||
248 | /* The following entry points are all lower level things you normally don't | 248 | /* The following entry points are all lower level things you normally don't |
249 | want to worry about. */ | 249 | want to worry about. */ |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c index b9aedceb2c4..878fd52a73b 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c +++ b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c | |||
@@ -851,11 +851,11 @@ static long pvr2_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg) | |||
851 | case VIDIOC_DBG_G_REGISTER: | 851 | case VIDIOC_DBG_G_REGISTER: |
852 | { | 852 | { |
853 | u64 val; | 853 | u64 val; |
854 | struct v4l2_register *req = (struct v4l2_register *)arg; | 854 | struct v4l2_dbg_register *req = (struct v4l2_dbg_register *)arg; |
855 | if (cmd == VIDIOC_DBG_S_REGISTER) val = req->val; | 855 | if (cmd == VIDIOC_DBG_S_REGISTER) val = req->val; |
856 | ret = pvr2_hdw_register_access( | 856 | ret = pvr2_hdw_register_access( |
857 | hdw,req->match_type,req->match_chip,req->reg, | 857 | hdw, &req->match, req->reg, |
858 | cmd == VIDIOC_DBG_S_REGISTER,&val); | 858 | cmd == VIDIOC_DBG_S_REGISTER, &val); |
859 | if (cmd == VIDIOC_DBG_G_REGISTER) req->val = val; | 859 | if (cmd == VIDIOC_DBG_G_REGISTER) req->val = val; |
860 | break; | 860 | break; |
861 | } | 861 | } |