summaryrefslogtreecommitdiffstats
path: root/drivers/staging/easycap/easycap_low.c
Commit message (Collapse)AuthorAgeFilesLines
* staging/easycap: make module params private/static, fix buildRandy Dunlap2010-11-161-5/+5
| | | | | | | | | | | | | | The easycap driver has module parameters (bars, gain, & debug) with global scope that intrude on the kernel namespace and cause build problems. Change the names of them to be driver-specific and make 2 of them static. drivers/built-in.o:(.bss+0x97c00): multiple definition of `debug' ld: Warning: size of symbol `debug' changed from 58 in arch/x86/built-in.o to 4 in drivers/built-in.o Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Mike Thomas <rmthomas@sciolus.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* staging/easycap: Eliminate BKLMike Thomas2010-11-101-6/+49
| | | | | | | | | | 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: Add option to set the hardware audio gainMike Thomas2010-11-101-42/+78
| | | | | | | | | 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: Improve hardware initializationMike Thomas2010-11-101-261/+414
| | | | | | | | | | | 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-13/+11Star
| | | | | | | | | 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-23/+0Star
| | | | | | | | | 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: easycap: Upsample microphone audioMike Thomas2010-07-221-41/+25Star
| | | | | | | | | 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: add easycap driverR.M. Thomas2010-06-181-0/+1057
This adds the easycap USB video adapter driver to the staging directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>