remove EASYCAP_IS_VIDEODEV_CLIENT and irrelevant code as the define
is always set in the in-kernel driver
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
convert if (NULL != ptr) to if (ptr)
convert if (NULL == ptr) to if (!ptr)
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
mostly indentation fixes and some line over 80 characters fixes
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Add first level indentation to easayca_main.c
This created around 300 lines over 80 characters.
Around 100 of straight forward once were fixed in this patch.
The another 200 require more code movement and need to be fixed
later
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
use USB_SUBCLASS_AUDIOSTREAMING constant from usb/audio.h
instead of 0x02
Cc: Mike Thomas <rmthomas@sciolus.org>
Cc: Dan Carpenter <error27@gmail.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Reviewed-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
make inputset population to be more compact and readable
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Reviewed-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fix some code styles and drop too verbose printouts
and non relevant code
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Reviewed-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
use %p instead of %X
drop casting of pointer to long long int
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
EASYCAP_NEEDS_V4L2_DEVICE_H and EASYCAP_NEEDS_V4L2_FOPS are required in
in-tree driver
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
NOREADBACK doesn't justify Kconfig option so we use module
paramter for it.
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This has simulated a fault condition of probing for audio capability
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
remove PREFER_NTSC ifdef as it cannot be possible put into Kconfig
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Use INFO level when registering driver and ERR for error.
Drop messages from oneliner exit function
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
remove checks for NULL for usb_interface. USB bus won't call these
functions with NULL
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Add first level indentation before revamping the functions
This of course breaks 80 characters limit but it will be
fixed through the revamp
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
the underscored types should be used in user space headers only
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
1. naming variable s32 is confusing since it is also
a type name.
2. use s32 instead of __s32, the later is for user space
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
remove intializations to NULL where not needed and let the compiler
find flows with unitilized variables.
Fix one such flow in easycap_vma_fault function
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
use idiom 'if (rc)' for checking return value
instead of if (0 != rc)
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fix style issue:
if (NULL !=
pdata_urb->purb) {
created by the patch:
'staging/easycap: don't cast NULL pointer'
After dropping the casting there is no longer 80 columns
limitation
Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
for sake of readability replace #if defined with #ifdef
and #if (!defined with #ifndef
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
OSS is deprecated yet currently it is reported to be more stable
therefore we keep it but make it optional
Revert the conditional compilation:
add CONFIG_EASYCAP_OSS and kill EASYCAP_NEEDS_ALSA
move oss-only code from easycap_sound.c to easycap_sound_oss.c
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Replace long switch statements that just print out errno
with strerror function. It reduces around 700 lines from the code.
The function should be probably dropped at all but leave for now
to not break currently expected debug output.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
1. remove declarations from the header file
2. rearange code in main.c to reduce number of forward declarations
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
1. For readability group module parameters handling on one place
2. Introduce kernel config option EASY_DEBUG
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
place all globals to easycap.h, which is included
by all c-files
easycap_standard: fix declaration vs. definiton conflict
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
easycap_main.c:41:23: warning: symbol 'easycapdc60_dongle' was not declared. Should it be static?
easycap_main.c:49:22: warning: symbol 'easycap_usb_device_id_table' was not declared. Should it be static?
easycap_main.c:69:30: warning: symbol 'easycap_fops' was not declared. Should it be static?
easycap_main.c:82:29: warning: symbol 'easycap_vm_ops' was not declared. Should it be static?
easycap_main.c:87:25: warning: symbol 'easycap_class' was not declared. Should it be static?
easycap_main.c:95:35: warning: symbol 'v4l2_fops' was not declared. Should it be static?
easycap_main.c:5071:1: warning: symbol 'easycap_module_init' was not declared. Should it be static?
easycap_main.c:5101:1: warning: symbol 'easycap_module_exit' was not declared. Should it be static?
easycap_low.c:45:50: warning: symbol 'stk1160configPAL' was not declared. Should it be static?
easycap_low.c:87:28: warning: symbol 'stk1160configNTSC' was not declared. Should it be static?
easycap_low.c:129:50: warning: symbol 'saa7113configPAL' was not declared. Should it be static?
easycap_low.c:187:28: warning: symbol 'saa7113configNTSC' was not declared. Should it be static?
easycap_ioctl.c:915:5: warning: symbol 'adjust_mute' was not declared. Should it be static?
easycap_settings.c:42:31: warning: symbol 'easycap_standard' was not declared. Should it be static?
easycap_settings.c:312:23: warning: symbol 'easycap_format' was not declared. Should it be static?
easycap_settings.c:607:23: warning: symbol 'easycap_control' was not declared. Should it be static?
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
remove \ from the code where C syntex doesnt require it
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
easycap_main.c:34:5: warning: symbol 'easycap_debug' was not declared. Should it be static?
easycap_main.c:36:5: warning: symbol 'easycap_gain' was not declared. Should it be static?
These two variables actually were declared in several places.
The variables are used in several files.
I've fixed "easycap_debug" so it gets declared in one place only and included properly.
For "easycap_gain" made it static and I created added a
->gain member to the easycap struct. This seems cleaner than using a
global variable and later on we may make this controlable via sysfs.
Cc:Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This is necessary because some distributions are disabling OSS entirely.
Signed-off-by: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
The parameter easycap_debug appears in macros JOT and JOM and therefore
needs to be visible from all source files. The easycap_ prefix should
be sufficient to avoid namespace clashes outside the module.
Signed-off-by: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
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>
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>
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>
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>
A new module parameter turns on the option of displaying a testcard when
the analogue input signal is lost (more precisely: when the hardware
detects no field/frame synchronization). This feature has been requested
in the context of security cameras used at night.
Signed-off-by: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
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>
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>
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>
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>
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>
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>