Commit Graph

70 Commits

Author SHA1 Message Date
Tomas Winkler 2ef0c05e80 staging/easycap: replace NOREADBACK with moduel parameter
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>
2011-02-09 11:59:07 -08:00
Tomas Winkler 32851b325e staging/easycap: use regget for register back reading
Use regget to reading back what was written to a register.
This required changning size argument to regget signature

On the way remove usless variable casting

Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09 11:59:07 -08:00
Tomas Winkler 73132ce45a stagine/easycap: make functions regset and regget static
regget and regset functions are used only from within
easycap_low.c so they can be static
Move the functions to avoid forward declarations
Move GET and SET macro definitions into the c-file

Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09 11:59:07 -08:00
Tomas Winkler 4d59fde3d1 staging/easycap: add first level indentation to regget/set functions
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09 11:59:06 -08:00
Tomas Winkler 5e7a55c30b staging/easycap: remove TESTONE and EASYCAP_TESTTONE
No longer needed feature for testing driver's handling of
the audio stream independently of the urb completion routine

Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09 11:59:06 -08:00
Tomas Winkler a78392aa34 staging/easycap: remove EASYCAP_SILENT option
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>
2011-02-09 11:59:06 -08:00
Tomas Winkler 6ae2dbec4d staging/easycap: remove AUDIOTIME feature
remove code guarded by AUDIOTIME define
This was experimental code in which I tried  improve audio-video
synchronization but it didn't work well

Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09 11:59:06 -08:00
Tomas Winkler f62bc44e05 staging/easycap: remove obsolete VIDIOC_S_CTRL_OLD ioctl
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09 11:59:05 -08:00
Tomas Winkler 5dd00908be staging/easycap: replace one more EASYCAP_NEEDS_ALSA with CONFIG_EASYCAP_OSS
Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09 11:59:05 -08:00
Tomas Winkler 8d6139547c stagine/easycap: use module paramter for default encoding instead of ifdef
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>
2011-02-09 11:59:05 -08:00
Tomas Winkler aff512c8a4 staging/easycap: prefer printk over SAY in module entry functions
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>
2011-02-09 11:59:04 -08:00
Tomas Winkler ee99aa4928 staging/easycap: remove paranoid argument checks in usb probe/disconnect
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>
2011-02-09 11:59:04 -08:00
Tomas Winkler 66681fb74e staging/easycap: fix build when SND is not enabled
Fix easycap build when CONFIG_SOUND is enabled but CONFIG_SND is
not enabled.

use choice construct to select between ALSA and OSS API binding

drivers/built-in.o: In function `easycap_usb_disconnect':
easycap_main.c:(.text+0x2aba20): undefined reference to `snd_card_free'
drivers/built-in.o: In function `easycap_alsa_probe':
(.text+0x2b784b): undefined reference to `snd_card_create'
drivers/built-in.o: In function `easycap_alsa_probe':
(.text+0x2b78fb): undefined reference to `snd_pcm_new'
drivers/built-in.o: In function `easycap_alsa_probe':
(.text+0x2b7916): undefined reference to `snd_pcm_set_ops'
drivers/built-in.o: In function `easycap_alsa_probe':
(.text+0x2b795b): undefined reference to `snd_card_register'
drivers/built-in.o: In function `easycap_alsa_probe':
(.text+0x2b79d8): undefined reference to `snd_card_free'
drivers/built-in.o: In function `easycap_alsa_probe':
(.text+0x2b7a78): undefined reference to `snd_card_free'
drivers/built-in.o: In function `easycap_alsa_complete':
(.text+0x2b7e68): undefined reference to `snd_pcm_period_elapsed'
drivers/built-in.o:(.data+0x2cae8): undefined reference to `snd_pcm_lib_ioctl'

Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: R.M. Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09 11:56:21 -08:00
Tomas Winkler 7dcef374d1 staging/easycap: add level 1 tabs in usb_probe/disconnect function
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>
2011-02-04 12:44:34 -08:00
Tomas Winkler 30a2cb350f stagine/easycap: make easyoss_fops static
easyoss_fops are only accessed from within easycap_sound_oss file

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-04 12:44:34 -08:00
Tomas Winkler 7863ff276d staging/easycap: kill declaration of not existing variables
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-04 12:44:34 -08:00
Tomas Winkler f8cc1e9373 staging/easycap: don't shadow rc variable from macros
rc is used extensively in code as return code variable
so it is better not shadowing it in macros

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-04 12:44:33 -08:00
Tomas Winkler 055e3a3a2c staging/easycap: replace underscored types with regular once
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>
2011-02-04 12:44:33 -08:00
Tomas Winkler 1a4cb0fb7d staging/easycap: rename variable s16 to tmp
naming variable s16 is confusing since it is also a type name.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-04 12:44:33 -08:00
Tomas Winkler 0117f77904 staging/easycap: rename variable u8 to tmp
naming variable u8 is confusing since it is also a type name.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-04 12:44:32 -08:00
Tomas Winkler 27d1766927 staging/easycap: rename variable s32 to tmp
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>
2011-02-04 12:44:32 -08:00
Tomas Winkler b737f3b8cf staging/easycap: remove explicit NULL initialization
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>
2011-02-04 12:44:32 -08:00
Tomas Winkler 6911e7e4a6 staging/easycap: improve coding style when checking return value
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>
2011-02-04 12:44:31 -08:00
Tomas Winkler e0a691e352 staging/easycap: fix artificial line breaks
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>
2011-02-04 12:44:31 -08:00
Tomas Winkler 3fc0dae888 staging/easycap: repace #if defined with simpler #ifdef
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>
2011-02-04 12:44:31 -08:00
Tomas Winkler f2b3c685b9 staging/easycap: kill EASYCAP_NEEDS_UNLOCKED_IOCTL
we can kill this option for in-kernel driver

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-04 12:44:31 -08:00
Tomas Winkler 9306b1bb8b staging/easycap: remove comment: EASYCAP_NEEDS_ALSA
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-04 12:44:31 -08:00
Tomas Winkler 3c1fb66ede staging/easycap: don't cast NULL pointer
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-04 12:44:30 -08:00
Tomas Winkler 68e4ccaab2 staging/easycap: make ALSA ops function static in sound.c
1. make also ops function static
2. move around code so to avid 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>
2011-01-25 07:32:54 +08:00
Tomas Winkler 1945f939b6 staging/easycap: make oss ops function static in sound_oss.c
1. make oss ops function static
2. move around code so to avid forward declarations
3. move OSS ioclts from ioctl.c to 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>
2011-01-25 07:32:54 +08:00
Tomas Winkler 0edbc24c5d staging/easycap: make OSS compilation optional instead of ALSA
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>
2011-01-25 07:32:53 +08:00
Tomas Winkler 5c0c6c395e staging/easycap: implement strerror function
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>
2011-01-25 07:30:05 +08:00
Tomas Winkler 482cd2d8d8 staging/easycap: easycap.h ident correctly signed_div_result
indent level 1 by tabs

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-25 07:30:05 +08:00
Tomas Winkler e86ba1162f staging/easycap: fix missing backslash in ifdef statement
the backslash was removed by mistake in the patch
'staging:easycap: drop redundant backslashes from the code'
this breaks compilation only when EASYCAP_NEEDS_ALSA is not set

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-25 07:26:56 +08:00
Tomas Winkler 03389996e0 staging: easycap: easycap.h use indentation for first level
replace
struct {
int a;
}

with  more readable

struct {
	int a;
}

Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-25 06:43:06 +08:00
Tomas Winkler d090bf5749 staging: easycap: make functions local to easycap_main.c static
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>
2011-01-25 06:43:05 +08:00
Tomas Winkler 02149cf7c7 staging: easycap: group module parameters handling
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>
2011-01-25 06:43:05 +08:00
Tomas Winkler 3dbab73312 staging: easycap: use #ifndef __EASYCAP_H_ for header inclusion protection
use common #ifndef __EASYCAP_H_ instead of if (!defined(EASYCAP_H))
for protecting header from double inclusion

Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-25 06:43:04 +08:00
Tomas Winkler b4f63e9a0f staging: easycap: remove redunant headers
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>
2011-01-25 06:43:04 +08:00
Tomas Winkler d9e2d5962b staging: easycap: fix sparse warnings :conversion of int to enum
easycap_settings.c:587:58: warning: conversion of
easycap_settings.c:587:58:     unsigned int to
easycap_settings.c:587:58:     int enum v4l2_field
easycap_settings.c:593:63: warning: conversion of
easycap_settings.c:593:63:     unsigned int to
easycap_settings.c:593:63:     int enum v4l2_colorspace

Cc: Mike Thomas <rmthomas@sciolus.org>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-25 06:43:03 +08:00
Tomas Winkler dbf4805ee6 staging: easycap: fix sparse warnings 'Should it be static'
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>
2011-01-25 06:43:03 +08:00
Tomas Winkler e8b754ee8f staging: easycap: replace STRINGIZE with __stringify()
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-21 12:29:43 -08:00
Tomas Winkler 5a85807894 staging: easycap: kill EASYCAP_NEEDS_CARD_CREATE
for in-tree driver we can use snd_card_create
for backports to older kernels this can be easily wrapped

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-21 12:29:43 -08:00
Tomas Winkler 1dc6e41825 staging: easycap: drop redunant backslashes from the code
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>
2011-01-21 12:29:35 -08:00
Tomas Winkler 2a9a05c432 Staging: easycap: fix sparse warnings for module parameters
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>
2011-01-21 12:27:19 -08:00
Mike Thomas a985591729 staging: easycap: add ALSA support
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>
2011-01-21 12:25:55 -08:00
Mike Thomas 18545cfd36 Staging: easycap: Make easycap_debug non-static
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>
2011-01-21 12:20:56 -08:00
Greg Kroah-Hartman ea3398a1ae Staging: Merge 2.6.37-rc5 into staging-next
This was done to handle a number of conflicts in the batman-adv
and winbond drivers properly.  It also now allows us to fix up the sysfs
attributes properly that were not in the .37 release due to them being
only in this tree at the time.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-07 10:47:56 -08:00
Randy Dunlap 72f9fc7c81 staging: easycap needs smp_lock.h, fixes build error
Add header file to fix build error:

drivers/staging/easycap/easycap_main.c:4251: error: implicit declaration of function 'lock_kernel'
drivers/staging/easycap/easycap_main.c:4254: error: implicit declaration of function 'unlock_kernel'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 10:53:14 -08:00
Arnd Bergmann 451a3c24b0 BKL: remove extraneous #include <smp_lock.h>
The big kernel lock has been removed from all these files at some point,
leaving only the #include.

Remove this too as a cleanup.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-11-17 08:59:32 -08:00