summaryrefslogtreecommitdiffstats
path: root/drivers/staging/easycap/easycap_ioctl.c
Commit message (Collapse)AuthorAgeFilesLines
* staging/easycap: Improve interface to the videodev moduleMike Thomas2010-11-101-2/+24
| | | | | | | | The changes here represent an intermediate step towards bringing the driver within the V4L2 framework. Signed-off-by: Mike Thomas <rmthomas@sciolus.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging/easycap: Eliminate BKLMike Thomas2010-11-101-88/+338
| | | | | | | | | | No locking is required for normal operation of the driver, but locking is needed to prevent an Oops during some hot-unplugging scenarios. The BKL is replaced here by mutex locks together with traps to detect null pointers following asynchronous device disconnection. Signed-off-by: Mike Thomas <rmthomas@sciolus.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging/easycap: Avoid compiler warning about frame size ... larger than ...Mike Thomas2010-11-101-59/+96
| | | | | | | | Replacing some of the large automatic variables by dynamically allocated variables in the IOCTL routines gets rid of the compiler warning. Signed-off-by: Mike Thomas <rmthomas@sciolus.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging/easycap: Add option to set the hardware audio gainMike Thomas2010-11-101-3/+11
| | | | | | | | | A new module parameter adjusts the gain of the AC'97 audio chip, if one is present. Attenuation as well as amplification should be possible according to the datasheet, but attenuation seems not to work yet. Signed-off-by: Mike Thomas <rmthomas@sciolus.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging/easycap: Implement interlaced modes and reduced frameratesMike Thomas2010-11-101-47/+291
| | | | | | | | Interlaced modes are requested by tvtime. Reduced framerates are preferred by some userspace programs, e.g. astronomy applications. Signed-off-by: Mike Thomas <rmthomas@sciolus.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging/easycap: Improve hardware initializationMike Thomas2010-11-101-110/+251
| | | | | | | | | | | Sometimes at startup the video urbs consistently and persistently deliver bad data, each video frame (not isoc frame) containing an excess of precisely two bytes. A brute-force cure implemented here is to repeatedly reinitialize the registers of the SAA7113H chip and the STK1160 USB bridge until good behaviour is obtained. Signed-off-by: Mike Thomas <rmthomas@sciolus.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging/easycap: Make code re-entrantMike Thomas2010-11-101-274/+311
| | | | | | | | | In order to allow multiple EasyCAP dongles to operate simultaneously without mutual interference all static variables have been eliminated except for a persistent inventory of plugged-in dongles at module level. Signed-off-by: Mike Thomas <rmthomas@sciolus.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging/easycap: Remove obsolete routinesMike Thomas2010-11-101-655/+40Star
| | | | | | | | | The so-called bridger routine has proved unnecessary following general improvements elsewhere. The explain_() functions were a convenience during early development, but are unnecessary and inappropriate now. Signed-off-by: Mike Thomas <rmthomas@sciolus.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging: Pushdown bkl to easycap ioctl handlersFrederic Weisbecker2010-08-091-22/+30
| | | | | | These were amongst the last users of struct file_operations:ioctl Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
* Staging: Remove unnecessary casts of private_dataJoe Perches2010-07-221-2/+2
| | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: easycap: Upsample microphone audioMike Thomas2010-07-221-0/+35
| | | | | | | | | Upsampling from 8000 Hz mono to 32000 Hz stereo improves audio/video synchronization when userspace programs adopt default buffering. This is an experimental feature. Signed-off-by: Mike Thomas <rmthomas@sciolus.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Staging: easycap: Replace some global variablesMike Thomas2010-07-221-8/+9
| | | | | | | 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>
* Staging: easycap: add easycap driverR.M. Thomas2010-06-181-0/+2651
This adds the easycap USB video adapter driver to the staging directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>