diff options
author | Mike Thomas <rmthomas@sciolus.org> | 2010-07-11 13:51:13 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-07-22 22:08:01 +0400 |
commit | 3d423e91b498b71bfdf4bcfac52c3c27e0f2f39f (patch) | |
tree | b475b4cae556770e0c9b26e87beb76a042b55cf3 /drivers/staging/easycap/easycap_ioctl.c | |
parent | 4d6ea9c3223da8d8dc91b369087fa40cc53edd36 (diff) | |
download | linux-3d423e91b498b71bfdf4bcfac52c3c27e0f2f39f.tar.xz |
Staging: easycap: Replace some global variables
New members of struct easycap take the place of undesirable global variables.
Signed-off-by: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/easycap/easycap_ioctl.c')
-rw-r--r-- | drivers/staging/easycap/easycap_ioctl.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/staging/easycap/easycap_ioctl.c b/drivers/staging/easycap/easycap_ioctl.c index f71cd9eaeb6b..5853bba4dfca 100644 --- a/drivers/staging/easycap/easycap_ioctl.c +++ b/drivers/staging/easycap/easycap_ioctl.c @@ -42,7 +42,7 @@ /*---------------------------------------------------------------------------*/ int adjust_standard(struct easycap *peasycap, v4l2_std_id std_id) { -struct easycap_standard *peasycap_standard; +struct easycap_standard const *peasycap_standard; __u16 reg, set; int ir, rc, need; unsigned int itwas, isnow; @@ -1447,7 +1447,7 @@ case VIDIOC_ENUMSTD: { static int last0 = -1, last1 = -1, last2 = -1, last3 = -1; static struct v4l2_standard v4l2_standard; static __u32 index; - static struct easycap_standard *peasycap_standard; + static struct easycap_standard const *peasycap_standard; JOT(8, "VIDIOC_ENUMSTD\n"); @@ -1479,11 +1479,12 @@ case VIDIOC_ENUMSTD: { } JOT(8, "%i=index: %s\n", index, \ &(peasycap_standard->v4l2_standard.name[0])); - peasycap_standard->v4l2_standard.index = index; + memcpy(&v4l2_standard, &(peasycap_standard->v4l2_standard), \ + sizeof(struct v4l2_standard)); + v4l2_standard.index = index; - if (0 != copy_to_user((void __user *)arg, \ - &(peasycap_standard->v4l2_standard), \ + if (0 != copy_to_user((void __user *)arg, &v4l2_standard, \ sizeof(struct v4l2_standard))) { POUT; return -EFAULT; @@ -1493,7 +1494,7 @@ case VIDIOC_ENUMSTD: { /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ case VIDIOC_G_STD: { static v4l2_std_id std_id; - static struct easycap_standard *peasycap_standard; + static struct easycap_standard const *peasycap_standard; JOT(8, "VIDIOC_G_STD\n"); @@ -2094,7 +2095,7 @@ case SNDCTL_DSP_GETBLKSIZE: { if (0 != copy_from_user(&incoming, (void __user *)arg, sizeof(int))) return -EFAULT; JOT(8, "........... %i=incoming\n", incoming); - incoming = audio_bytes_per_fragment; + incoming = peasycap->audio_bytes_per_fragment; if (0 != copy_to_user((void __user *)arg, &incoming, sizeof(int))) return -EFAULT; break; @@ -2104,7 +2105,7 @@ case SNDCTL_DSP_GETISPACE: { JOT(8, "SNDCTL_DSP_GETISPACE\n"); - audio_buf_info.bytes = audio_bytes_per_fragment; + audio_buf_info.bytes = peasycap->audio_bytes_per_fragment; audio_buf_info.fragments = 1; audio_buf_info.fragsize = 0; audio_buf_info.fragstotal = 0; |