Commit Graph

8446 Commits

Author SHA1 Message Date
Laurent Pinchart
63b0d5ad20 V4L/DVB (13554a): v4l: Use the video_drvdata function in drivers
Fix all device drivers to use the video_drvdata function instead of
maintaining a local list of minor to private data mappings. Call
video_set_drvdata to register the driver private pointer when not
already done.

Where applicable, the local list of mappings is completely removed when
it becomes unused.

[mchehab.redhat.com: removed tm6000 changes as tm6000 is not ready yet for submission even on staging]

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-16 00:17:56 -02:00
Laurent Pinchart
f0813b4c9f V4L/DVB (13553): v4l: Use the video_is_registered function in device drivers
Fix all device drivers to use the video_is_registered function instead
of checking video_device::minor.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-16 00:17:56 -02:00
Laurent Pinchart
957b4aa9f7 V4L/DVB (13552): v4l: Replace video_is_unregistered with video_is_registered
Replace the video_is_unregistered function by a video_is_registered
function. The V4L2_FL_UNREGISTERED flag is replaced by a
V4L2_FL_REGISTERED flag.

This change makes the video_is_registered function return coherent
results when called on an initialize but not yet registered video_device
instance. The function can now be used instead of checking
video_device::minor.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-16 00:17:55 -02:00
Laurent Pinchart
0fda5d4420 V4L/DVB (13551): v4l: Remove video_device::num usage from device drivers
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-16 00:17:55 -02:00
Laurent Pinchart
38c7c03603 V4L/DVB (13550): v4l: Use the new video_device_node_name function
Fix all device drivers to use the new video_device_node_name function.

This also strips kernel log messages from the "/dev/" prefix, has the device
node location is a userspace policy decision unknown to the kernel.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-16 00:17:55 -02:00
Laurent Pinchart
eac8ea536a V4L/DVB (13549): v4l: Add video_device_node_name function
Many drivers access the device number (video_device::v4l2_devnode::num)
in order to print the video device node name. Add and use a helper
function to retrieve the video_device node name.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-16 00:17:54 -02:00
Hans Verkuil
a3a9e287da V4L/DVB (13547): radio: add trivial checks on the tuner and type args.
Many radio drivers did not check the tuner and type field correctly
for g/s_frequency. These checks have now been added.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-16 00:17:53 -02:00
Mauro Carvalho Chehab
cda4303f55 V4L/DVB (13546): ir-keymaps: Add table for Terratec Cinergy XS FM
This IR uses NEC protocol, with address=0x14. This keymap is similar
to the existing Terratec Cinergy XS, except that:
	- it contains the full address/command code;
	- the Music button were mapped as KEY_RADIO;
	- some keycodes from the previous entry were wrong, IMHO.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-16 00:17:53 -02:00
Mauro Carvalho Chehab
1bad429e81 V4L/DVB (13545): em28xx: properly select IR protocol based on the IR table
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-16 00:17:52 -02:00
Mauro Carvalho Chehab
4039ff28a5 V4L/DVB (13544): ir-keymaps: mark the new rc5 hauppauge with IR_TYPE_RC5
While here, move the table to a better place inside the file

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-16 00:17:52 -02:00
Alexey Dobriyan
471452104b const: constify remaining dev_pm_ops
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-12-15 08:53:25 -08:00
David Wong
5476ffd2b7 V4L/DVB (13592): max2165: 32bit build patch
This patch drops usage of floating point variable for 32bit build

Signed-off-by: David T. L. Wong <davidtlwong@gmail.com>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-10 12:45:18 -02:00
Linus Torvalds
78f1ae193d Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: ice1724 - aureon - modify WM8770 Master & DAC volume
  ALSA: hda/realtek: quirk for D945GCLF2 mainboard
  ALSA: hda - Terradici HDA controllers does not support 64-bit mode
  ALSA: document: Add direct git link to grub hda-analyzer
  ALSA: radio/sound/miro: fix build, cleanup depends/selects
  ALSA: hda - Generalize EAPD inversion check in patch_analog.c
  ASoC: Wrong variable returned on error
  ALSA: snd-usb-us122l: add product IDs of US-122MKII and US-144MKII
  ALSA: hda - Exclude unusable ADCs for ALC88x
  ALSA: hda - Add missing Line-Out and PCM switches as slave
  ALSA: hda - iMac 9,1 sound patch.
  ALSA: opti93x: set MC indirect registers base from PnP data
2009-12-09 19:52:13 -08:00
Linus Torvalds
3e74683137 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (345 commits)
  V4L/DVB (13542): ir-keytable: Allow dynamic table change
  V4L/DVB (13541): atbm8830: replace 64-bit division and floating point usage
  V4L/DVB (13540): ir-common: Cleanup get key evdev code
  V4L/DVB (13539): ir-common: add __func__ for debug messages
  V4L/DVB (13538): ir-common: Use a dynamic keycode table
  V4L/DVB (13537): ir: Prepare the code for dynamic keycode table allocation
  V4L/DVB (13536): em28xx: Use the full RC5 code on HVR-950 Remote Controller
  V4L/DVB (13535): ir-common: Add a hauppauge new table with the complete RC5 code
  V4L/DVB (13534): ir-common: Remove some unused fields/structs
  V4L/DVB (13533): ir: use dynamic tables, instead of static ones
  V4L/DVB (13532): ir-common: Add infrastructure to use a dynamic keycode table
  V4L/DVB (13531): ir-common: rename the debug routine to allow exporting it
  V4L/DVB (13458): go7007: subdev conversion
  V4L/DVB (13457): s2250: subdev conversion
  V4L/DVB (13456): s2250: Change module structure
  V4L/DVB (13528): em28xx: add support for em2800 VC211A card
  em28xx: don't reduce scale to half size for em2800
  em28xx: don't load audio modules when AC97 is mis-detected
  em28xx: em2800 chips support max width of 640
  V4L/DVB (13523): dvb-bt8xx: fix compile warning
  ...

Fix up trivial conflicts due to spelling fixes from the trivial tree in
	Documentation/video4linux/gspca.txt
	drivers/media/video/cx18/cx18-mailbox.h
2009-12-09 19:50:49 -08:00
Linus Torvalds
4ef58d4e2a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)
  tree-wide: fix misspelling of "definition" in comments
  reiserfs: fix misspelling of "journaled"
  doc: Fix a typo in slub.txt.
  inotify: remove superfluous return code check
  hdlc: spelling fix in find_pvc() comment
  doc: fix regulator docs cut-and-pasteism
  mtd: Fix comment in Kconfig
  doc: Fix IRQ chip docs
  tree-wide: fix assorted typos all over the place
  drivers/ata/libata-sff.c: comment spelling fixes
  fix typos/grammos in Documentation/edac.txt
  sysctl: add missing comments
  fs/debugfs/inode.c: fix comment typos
  sgivwfb: Make use of ARRAY_SIZE.
  sky2: fix sky2_link_down copy/paste comment error
  tree-wide: fix typos "couter" -> "counter"
  tree-wide: fix typos "offest" -> "offset"
  fix kerneldoc for set_irq_msi()
  spidev: fix double "of of" in comment
  comment typo fix: sybsystem -> subsystem
  ...
2009-12-09 19:43:33 -08:00
Randy Dunlap
dd7cdb883b ALSA: radio/sound/miro: fix build, cleanup depends/selects
miropcm20 uses ALSA (snd_) interfaces from the SND_MIRO
driver, so it should depend on SND.
(selecting SND_MIRO when CONFIG_SND is not enabled is a
problem.)

drivers/built-in.o: In function `vidioc_s_ctrl':
radio-miropcm20.c:(.text+0x227499): undefined reference to `snd_aci_cmd'
drivers/built-in.o: In function `vidioc_s_frequency':
radio-miropcm20.c:(.text+0x227574): undefined reference to `snd_aci_cmd'
radio-miropcm20.c:(.text+0x227588): undefined reference to `snd_aci_cmd'
drivers/built-in.o: In function `pcm20_init':
radio-miropcm20.c:(.init.text+0x2a784): undefined reference to `snd_aci_get_aci'

miropcm20 selects SND_MIRO but SND_ISA may be not enabled, so
also select SND_ISA so that the snd-miro driver will be built.
Otherwise there are missing symbols:

ERROR: "snd_opl4_create" [sound/isa/opti9xx/snd-miro.ko] undefined!
ERROR: "snd_wss_pcm" [sound/isa/opti9xx/snd-miro.ko] undefined!
ERROR: "snd_wss_timer" [sound/isa/opti9xx/snd-miro.ko] undefined!
ERROR: "snd_wss_create" [sound/isa/opti9xx/snd-miro.ko] undefined!
ERROR: "snd_wss_mixer" [sound/isa/opti9xx/snd-miro.ko] undefined!

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-08 18:18:01 +01:00
Linus Torvalds
a421018e8c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (294 commits)
  S3C64XX: Staticise platform data for PCM devices
  ASoC: Rename controls with a / in wm_hubs
  snd-fm801: autodetect SF64-PCR (tuner-only) card
  ALSA: tea575x-tuner: fix mute
  ASoC: au1x: dbdma2: plug memleak in pcm device creation error path
  ASoC: au1x: dbdma2: fix oops on soc device removal.
  ALSA: hda - Fix memory leaks in the previous patch
  ALSA: hda - Add ALC661/259, ALC892/888VD support
  ALSA: opti9xx: remove snd_opti9xx fields
  ALSA: aaci - Clean up duplicate code
  ALSA: usb - Fix mixer map for Hercules Gamesurround Muse Pocket LT
  ALSA: hda - Add position_fix quirk for HP dv3
  ALSA: hda - Add a pin-fix for FSC Amilo Pi1505
  ALSA: hda - Fix Cxt5047 test mode
  ASoC: pxa/raumfeld: adopt new snd_soc_dai_set_pll() API
  ASoC: sh: fsi: Add runtime PM support
  sh: ms7724se: Add runtime PM support for FSI
  ALSA: hda - Add a position_fix quirk for MSI Wind U115
  ALSA: opti-miro: add PnP detection
  ALSA: opti-miro: separate comon probing code
  ...
2009-12-08 07:47:46 -08:00
Jiri Kosina
d014d04386 Merge branch 'for-next' into for-linus
Conflicts:

	kernel/irq/chip.c
2009-12-07 18:36:35 +01:00
Mauro Carvalho Chehab
e97f467796 V4L/DVB (13542): ir-keytable: Allow dynamic table change
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:23 -02:00
David Wong
92fda216b4 V4L/DVB (13541): atbm8830: replace 64-bit division and floating point usage
Randy Dunlap wrote:
> On Mon, 30 Nov 2009 10:07:21 -0800 Randy Dunlap wrote:
>
>> Stephen Rothwell wrote:
>>> Hi all,
>>>
>>> Changes since 20091127:
>>>
>>> The v4l-dvb tree lost its conflict.
>>
>> on i386 (X86_32):
>>
>> a 'double' variable is used, causing:
>>
>> ERROR: "__floatunsidf" [drivers/media/common/tuners/max2165.ko] undefined!
>> ERROR: "__adddf3" [drivers/media/common/tuners/max2165.ko] undefined!
>> ERROR: "__fixunsdfsi" [drivers/media/common/tuners/max2165.ko] undefined!
>
>
> linux-next-20091202:
>
> still have this one (above) and similar with
> drivers/media/dvb/frontends/atbm8830.c:
>
> drivers/built-in.o: In function `atbm8830_init':
> atbm8830.c:(.text+0x9012f9): undefined reference to `__udivdi3'
> atbm8830.c:(.text+0x901384): undefined reference to `__floatunsidf'
> atbm8830.c:(.text+0x901395): undefined reference to `__muldf3'
> atbm8830.c:(.text+0x9013a5): undefined reference to `__floatunsidf'
> atbm8830.c:(.text+0x9013b2): undefined reference to `__divdf3'
> atbm8830.c:(.text+0x9013c3): undefined reference to `__muldf3'
> atbm8830.c:(.text+0x9013cd): undefined reference to `__fixunsdfsi'
>
> ---
> ~Randy
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

This patch replace 64-bit division by do_div() macro and remove usage of
floating point variable

Signed-off-by: David T. L. Wong <davidtlwong@gmail.com>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:22 -02:00
Mauro Carvalho Chehab
7fee03e487 V4L/DVB (13540): ir-common: Cleanup get key evdev code
The same loop to seek for a key were used on different places. Also,
no spinlock were protecting it to avoid the risk of replacing a keycode
while seeking for a new code.

This cleanup does:
	- create an unique function to seek for a code;
	- adds an spinlock to protect the table lookup;
	- remove some unused code;
	- simplifies to code to make it easier to understand.

Basically no change in behavior should be noticed after this patch.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:22 -02:00
Mauro Carvalho Chehab
f6fc504940 V4L/DVB (13538): ir-common: Use a dynamic keycode table
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:21 -02:00
Mauro Carvalho Chehab
055cd55601 V4L/DVB (13537): ir: Prepare the code for dynamic keycode table allocation
Currently, the IR table is initialized by calling ir_input_init(). However,
this function doesn't return any error code, nor has a function to be called
when de-initializing the IR's.

Change the return argment to integer and make sure that each driver will
handle the error code. Also adds a function to free any resources that may
be allocating there: ir_input_free().

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:21 -02:00
Mauro Carvalho Chehab
0278155c84 V4L/DVB (13536): em28xx: Use the full RC5 code on HVR-950 Remote Controller
Modifies the IR table for HVR-950 to use the newer Hauppauge RC5 table,
and adds the RC5 address to the functions that get the scancode for this
device.

It is easy to add support for all other RC5 IR's on em2880 boards, but
the scancode table needs to be re-generated. So, keep using the old
7bits tables while we don't have all tables converted.

Also, the 7bits tables are still used on other drivers, so this small
patch needs to be ported to all drivers.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:20 -02:00
Mauro Carvalho Chehab
35d1988c6e V4L/DVB (13535): ir-common: Add a hauppauge new table with the complete RC5 code
Now that V4L drivers can support more than 7 bits for scan code, let's
add a modified version for the Hauppauge Grey IR containing the full IR
scancode.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:20 -02:00
Mauro Carvalho Chehab
8573b74af2 V4L/DVB (13533): ir: use dynamic tables, instead of static ones
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:19 -02:00
Mauro Carvalho Chehab
ef53a1159d V4L/DVB (13532): ir-common: Add infrastructure to use a dynamic keycode table
V4L drivers use an static keycode vector with 128 entries, where the scancode
indexes the keycode. While this works, it limits the scancodes to have only
7 bits, not allowing for example full RC5 codes.

Instead of implementing the same code on every V4L driver, provide a common
infrastructure to handle the bigger tables, minimizing the changes inside
each driver.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:19 -02:00
Mauro Carvalho Chehab
4e89217b94 V4L/DVB (13531): ir-common: rename the debug routine to allow exporting it
As newer IR common code will be added on other files, we need a global
debug var inside the module.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:18 -02:00
Mauro Carvalho Chehab
694a101e6a V4L/DVB (13528): em28xx: add support for em2800 VC211A card
Adds support to VC211A em2800 card. As this board doesn't have eeprom,
and uses a common set of i2c address, it has no way to add any
autodetection for it.

The patch were tested by me and by Raimundo on his board. Thanks to
those tests, several bugs related to em2800 support were corrected.

for producing the usbsnoop dump, used to get the gpio's and allowing me
to remotelly access his machine and to the needed tests.

Thanks-to: Raimundo Eduvirgnes de Oliveira <eduvirgens@yahoo.com.br>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:17 -02:00
Mauro Carvalho Chehab
fb3de0398a em28xx: don't reduce scale to half size for em2800
Since em2800 can't support 720x480 / 720x576, the driver used to reduce
the scale to half the size on those chips. As the proper fix were
applied, reducing the maximum horizontal resolution to 640, this hack
can be removed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:16 -02:00
Mauro Carvalho Chehab
0731160aca em28xx: don't load audio modules when AC97 is mis-detected
With em2800 hardware, AC97 hardware can be detected even when it doesn't
exist. If, after probing for AC97, the driver won't find a companion
chip, simply prevents the load of the audio modules.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:16 -02:00
Mauro Carvalho Chehab
1ca31892e3 em28xx: em2800 chips support max width of 640
Due to hardware limitation, em2800 chips can't work at resolutions
higher than 640x576, since the URB packet size is not enough.

The effect is that the image looses packages and shows a distortion
along the vertical axes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:16 -02:00
Hans Verkuil
491aa96a8c V4L/DVB (13523): dvb-bt8xx: fix compile warning
Fix this compile warning:

v4l/dvb-bt8xx.c: In function 'cx24108_tuner_set_params':
v4l/dvb-bt8xx.c:221: warning: array subscript is above array bounds

Make sure that we never get past the last element in the array.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:15 -02:00
Hans Verkuil
289a774bf5 V4L/DVB (13522): valj5jf8007s/t: fix compile warnings
Trivial fix for these bogus compile warnings:

v4l/va1j5jf8007s.c: In function 'va1j5jf8007s_tune':
v4l/va1j5jf8007s.c:394: warning: 'lock' may be used uninitialized in this function
v4l/va1j5jf8007t.c: In function 'va1j5jf8007t_tune':
v4l/va1j5jf8007t.c:273: warning: 'lock' may be used uninitialized in this function
v4l/va1j5jf8007t.c:273: warning: 'retry' may be used uninitialized in this function

These variables are never used uninitialized, but the compiler couldn't
figure that out unfortunately.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:15 -02:00
Hans Verkuil
516e24d78f V4L/DVB (13521): dib8000: fix compile warning
Trivial fix for this bogus compile warning:

v4l/dib8000.c:958: warning: 'ncoeff' may be used uninitialized in this function

Note: ncoeff is never used uninitialized, but the compiler couldn't
figure that out.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:14 -02:00
Hans Verkuil
feba2f817d V4L/DVB (13509): pms: convert from V4L1 to V4L2.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:14 -02:00
Hans Verkuil
1ce7981be3 V4L/DVB (13508): pms: source code cleanup, use struct v4l2_device.
This prepares the pms driver for the v4l1 -> v4l2 conversion.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:13 -02:00
Laurent Pinchart
8ca5a639f4 V4L/DVB (13506): uvcvideo: Factorize common field in uvc_entity structure
The bNrInPins and baSourceID fields are common among all entities (some
of use bSourceID but this is conceptually the same). Move those two
fields out of entity type-specific unions into the uvc_entity structure
top level.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:13 -02:00
Laurent Pinchart
4057ac6ca9 V4L/DVB (13505): uvcvideo: Refactor chain scan
Don't handle the first output terminal in a chain in a special way. Use
uvc_scan_chain_entity() like for all other entities, making the chain
scan code more generic.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:12 -02:00
Laurent Pinchart
fd3e921739 V4L/DVB (13504): uvcvideo: Fix extension units parsing
The bNrInPins field is an 8 bit integer, not a 16 bit integer.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:12 -02:00
Laurent Pinchart
6241d8ca1d V4L/DVB (13503): uvcvideo: Merge iterms, oterms and units linked lists
All terminals and units are now added to a single linked list of
entities per chain. This makes terminals and units handling code more
generic.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:12 -02:00
Laurent Pinchart
bce039c099 V4L/DVB (13502): uvcvideo: Add support for Genius eFace 2025 webcams
The Genius eFace 2025 (0458:706e) requires the MINMAX quirk. Add a
corresponding entry in the device IDs list.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:11 -02:00
Gary Francis
75727460a6 V4L/DVB (13500): pvrusb2: Fix lingering 16KB FX2 Firmware issues
These are additional fixes to enable proper pvrusb2 support of 16KB
sized FX2 firmware.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:11 -02:00
Mike Isely
9081d90185 V4L/DVB (13499): pvrusb2: Cosmetic tweak to minimize size_t exposure
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:10 -02:00
Mike Isely
4b1c83cc51 V4L/DVB (13498): pvrusb2: Bind I2C address 0x71 for Zilog IR devices
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:10 -02:00
Mike Isely
1d70c7fdbb V4L/DVB (13497): pvrusb2: Shorten device hardware description text to work around V4L shortcoming
The device text description in pvrusb2-devattr.c get mapped into a V4L
API string field that is unfortunately shorter than I expected.  No
sense fighting City Hall here - this change shortens the descriptions
to fit the limit.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:10 -02:00
Mike Isely
568efaa2f7 V4L/DVB (13496): pvrusb2: Support manual extraction of 16KB FX2 firmware
This pvrusb2 change is in support of an existing feature used to help
identify and locate newer vendor supplied firmware.  This change makes
the feature work for the newer larger firmware size.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:09 -02:00
Mike Isely
c21c2db414 V4L/DVB (13495): pvrusb2: Support 16KB FX2 firmware
New FX2 firmware from Hauppauge is no longer 8KB in size - it's 16KB.
This is true for HVR-1950 and HVR-1900 devices.  Without this change,
new pvrusb2 users with that hardware are unable to use the driver
(because the CD shipped with the hardware only has the 16KB firmware).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:09 -02:00
Igor M. Liplianin
09ea33e5c6 V4L/DVB (13493): TeVii S470 and TBS 6920 fixes
The new hardware design applied for this cards.
Silicon Labs C8051F300 microcontroller is used for LNB power control.
It connected to cx23885 GPIO pins:
 GPIO0 - P0.3 data
 GPIO1 - P0.2 reset
 GPIO2 - P0.1 clk
 GPIO3 - P0.0 busy
 Tevii S470 based on Montage Technology M88TS2020 digital satellite tuner
and M88DS3000 advanced DVB-S/S2 demodulator.

Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:08 -02:00
Jean-Francois Moine
6afd2aa856 V4L/DVB (13491): gspca - vc032x: Avoid crash on querymenu.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:08 -02:00
Jean-Francois Moine
c22c4a20a6 V4L/DVB (13490): gspca - ov534: Add controls for sensor ov965x.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:07 -02:00
Jean-Francois Moine
b8c8a5bf83 V4L/DVB (13489): gspca - sonixj: Add the sensor po1030.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:07 -02:00
Jean-Francois Moine
4e5cf58ecf V4L/DVB (13488): gspca - ov534: Remove extra values at end of ov965x sequences.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:07 -02:00
Jean-Francois Moine
569691a5a0 V4L/DVB (13487): gspca - ov534: Add svga, xga and sxga modes for ov965x.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:06 -02:00
Hans Verkuil
b8415f5314 V4L/DVB (13480): atbm8830: fix compile warning
Fix this trivial compile warning:

v4l/atbm8830.c:164: warning: 'set_agc_config' defined but not used

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:06 -02:00
Hans Verkuil
a7925eb3e4 V4L/DVB (13479): cxusb: fix compile warning
Fix this trivial compile warning:

v4l/cxusb.c:1195: warning: unused variable 'n'

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:06 -02:00
Hans Verkuil
7f3ea4debb V4L/DVB (13478): cx18: remove bogus init call.
The cx18 av core implemented an init call for no good reason. It's now
turned into an internal function.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Reviewed-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:05 -02:00
Vaibhav Hiremath
d73bfc5fe6 V4L/DVB (13469): Davinci VPFE Capture: Add support for Control ioctls
Added support for Control IOCTL,
        - s_ctrl
        - g_ctrl
        - queryctrl

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:03 -02:00
Vaibhav Hiremath
8521363073 V4L/DVB (13467): V4L2: Added CID's V4L2_CID_ROTATE/BG_COLOR
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:02 -02:00
Vaibhav Hiremath
1ead696b4c V4L/DVB (13466): Davinci VPFE Capture:Replaced IRQ_VDINT1 with vpfe_dev->ccdc_irq1
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:02 -02:00
Vaibhav Hiremath
14cbaafe6f V4L/DVB (13465): Davinci VPFE Capture: Take i2c adapter id through platform data
The I2C adapter ID is actually depends on Board and may vary, Davinci
uses id=1, but in case of AM3517 id=3.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:01 -02:00
Vaibhav Hiremath
204e6ea981 V4L/DVB (13463): Davinci VPFE Capture: Specify device pointer in videobuf_queue_dma_contig_init
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:42:01 -02:00
Jean-Francois Moine
76dd272b56 V4L/DVB (13453): gspca - all subdrivers: Remove the unused frame ptr from pkt_scan().
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:59 -02:00
Jean-Francois Moine
d131c3c9e1 V4L/DVB (13452): gspca - main: Let the driver scan URB packets when no frame buffer.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:59 -02:00
Jean-Francois Moine
3ec342f250 V4L/DVB (13451): gspca - main: Memorize the current frame buffer.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:59 -02:00
Jean-Francois Moine
8157852f73 V4L/DVB (13450): gspca - main: Clear the urb status before resubmit.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:58 -02:00
Jean-Francois Moine
2d19a2c118 V4L/DVB (13449): gspca - ov534: The AWB control works only when autogain is set.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:58 -02:00
Jean-Francois Moine
4af8566858 V4L/DVB (13448): gspca - main: Add a gspca flag for inactive controls.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:57 -02:00
Andy Walls
7ce5c41db3 V4L/DVB (13446): ivtv: Add more explicit detection of known IR devices for Hauppauge cards
Avoid legacy IR I2C probing for PVR-150, PVR-500, and PVR-350 cards.  This
still probes, but restricts the possbile addresses probed per card.
Also removed legacy probe addresses for the KNC and PixelView cards which are
not supported by ivtv as far as I know.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:57 -02:00
Andy Walls
8352619043 V4L/DVB (13445): cx18: Use per cx18 instance init data for ir-kbd-i2c instead of const data
This change creates per cx18 instances of IR_i2c_init_data for handing over
initialization data to ir-kbd-i2c, since that module wants non-const data
even though it never modifies the data.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:57 -02:00
Andy Walls
ad2fe2d488 V4L/DVB (13444): ivtv: Add explicit IR controller initialization for the AVerTV M116
Add explicit support for the AVerTV M116 for use with the ir-kbd-i2c module.
This also eases future support for other AVerMedia ivtv boards with the same
microcontroller program at I2C address 0x40.

This is a reworked version of an earlier patch that was...

Reviewed-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:56 -02:00
Andy Walls
bfbde8ee56 V4L/DVB (13443): ivtv: Defer legacy I2C IR probing until after setup of known I2C devices
This avoids collisions of legacy IR controller probing with known I2C devices
in the card definitions in ivtv-cards.c.  I2C driver modules for device listed
explicitly in a card definition should always take precedence over a probe
guessing where and IR controller may be.

Reviewed-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:56 -02:00
Andy Walls
f412d36a8c V4L/DVB (13442): ivtv: Add module parameter to adjust I2C SCL clock period per board
Add a module parameter to adjust I2C SCL clock period per board.  This allows
some experimental fine tuning by end users to overcome quirky I2C device
problems.

Reported-by: "Aleksandr V. Piskunov" <aleksandr.v.piskunov@gmail.com>
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:55 -02:00
Aleksandr V. Piskunov
e45e8f5cee V4L/DVB (13441): ivtv: Added FM radio support to Avermedia AVerTV MCE 116 Plus card
Signed-off-by: Aleksandr V. Piskunov <alexandr.v.piskunov@gmail.com>
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:55 -02:00
Andy Walls
23bff27aaf V4L/DVB (13440): ivtv: Update the cards definitions to add another AVerMedia M113 variant
Add an AVerMedia M113 variant that was...

Reported-by: Hiemanshu Sharma <hiemanshu@fedoraproject.org>
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:55 -02:00
Antoine Jacquet
9018f6c3a2 V4L/DVB (13438): zr364xx: add support for Trust Powerc@m 910Z
Tested-by: Enrique Dominguez <enrique.pinos@gmail.com>
Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:54 -02:00
Andy Walls
543ae45a7f V4L/DVB (13434): cx18: Bump version number due to significant buffer handling changes.
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:54 -02:00
Andy Walls
ad689d54f9 V4L/DVB (13433): cx18: Remove duplicate list traversal when processing incoming MDLs
Update the incoming MDL's buffers' bytesused and sync the buffers for the cpu
in one pass instead of two.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:53 -02:00
Andy Walls
127ce5f0ad V4L/DVB (13432): cx18: Adjust encoder VBI MDL size to be exactly frame's worth of VBI data
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:53 -02:00
Andy Walls
1047a83844 V4L/DVB (13431): cx18: Adjust an MDL's final buffer size to force encoder transfer size
The encoder was not honoring the MDL size sent in DE_SET_MDL mailbox commands.
This change adjusts the size of the last buffer in an MDL, as reported to the
firmware, so that the encoder will send the exact amount of bytes we specify
per MDL transfer.  This eliminates tearing in YUV playback when using
non-default YUV buffer sizes.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:52 -02:00
Andy Walls
22dce188ef V4L/DVB (13430): cx18: Fix YUV capture so that encoder passes a single frame per transfer
Fix YUV capture such that the encoder will pass one frame per transfer.  This
will allow the application to maintain frame alignment when a transfer from
the encoder is missed due to high system latency in service the CX23418 IRQ.

Also force YUV buffer sizes to be specified in multiples of 33.75 kB, the
smalled amount of buffer sizes need to store a complete set of HM12 4:2:0
macroblocks specifying 32 lines of the frame.  A full 60Hz/525 line
screen requires 15 * 33.75 kB per frame and a full 50Hz/625 line screen
requires 18 * 33.75 kB per frame so the default buffer size is 3 * 33.75 kB,
requiring exactly 5 or 6 buffers per MDL respectively.  The bytes needed per
frame and hence MDL need not be the bytes in an integer number of buffers.
However, if frame artifacts are seen with scaled screen sizes, the YUV buffer
size can be set 34 kB (33.75 kB) to get rid of the artifacts at the cost of more
copies between the kernel and userspace.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:52 -02:00
Andy Walls
52fcb3ecc6 V4L/DVB (13429): cx18: Add Memory Descriptor List (MDL) layer to buffer handling
Add a Memory Descriptor List (MDL) layer to buffer handling to implement
scatter-gather I/O.  Currently there is still only 1 buffer per MDL.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:51 -02:00
Andy Walls
fa655dda5c V4L/DVB (13428): cx18: Rename mdl_offset to mdl_base_idx or free_mdl_idx as appropriate
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:51 -02:00
Andy Walls
c37b11bf17 V4L/DVB (13427): cx18: Rename struct cx18_queue.buffers to struct cx18_queue.depth
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:51 -02:00
Andy Walls
f0076e60b5 V4L/DVB (13426): cx18: Rename struct cx18_mdl to struct cx18_mdl_ent
Rename type in anticipation of implementing a struct cx18_mdl type that
actually keeps track of a memory descriptor list.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:50 -02:00
Jean-Francois Moine
c76e6f1166 V4L/DVB (13425): gspca - ov534: Bad name of the ov965x 320x240 resolution.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:50 -02:00
Jean-Francois Moine
69f1fe28f0 V4L/DVB (13424): gspca - ov534: Fix ov772x brightness and ov965x frame rate.
- the ov772x brightness was not setteble (fixed by M. Thrun)
- the set_frame_rate function does not work for ov965x

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:49 -02:00
Jean-Francois Moine
b014f94b28 V4L/DVB (13423): gspca - ov534: More ov772x changes from Max Thrun.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:49 -02:00
Jean-Francois Moine
189d92af70 V4L/DVB (13422): gspca - ov534: ov772x changes from Richard Kaswy.
- 320x240 resolution added
- controls added
- different sd_desc tables

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:49 -02:00
Jean-Francois Moine
4bdf4a8342 V4L/DVB (13421): gspca - main: Clearer message when bandwidth too small.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:48 -02:00
Márton Németh
6763cc0e54 V4L/DVB (13419): gspca - pac7302: Add debug register write interface.
Add debug register write interface to pac7302 to be able to set
for example the edge detect mode (bit 2 register 0x55) or the
test pattern (bit 0..3, register 0x72) and test overlay (bit 4,
register 0x72) from the user space. Only write of register
page 0 is supported by this patch.

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:47 -02:00
Márton Németh
4d0fc03a76 V4L/DVB (13418): gspca - pac7311: Stop sending URBs on first error.
Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:47 -02:00
Jonathan Corbet
f8b0bca1a7 V4L/DVB (13417): Fix videobuf_queue_vmalloc_init() prototype
For whatever reason, the device structure pointer to
videobuf_queue_vmalloc_init is typed "void *", even though it's passed
right through to videobuf_queue_core_init(), which expects a struct
device pointer.  The other videobuf implementations use struct device *;
I think vmalloc should too.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:47 -02:00
Márton Németh
f58d785669 V4L/DVB (13416): smssdio: initialize return value
The return value may be used uninitialized when the size parameter
happens to be 0.

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:46 -02:00
Márton Németh
296372e3b0 V4L/DVB (13415): videobuf-core: explicitly cast page count
Explicitly cast page count in the debug message.

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:46 -02:00
Márton Németh
b1858190fc V4L/DVB (13414): ttusb-dec: do not overwrite the first part of phys string
Use strlcat() to append a string to the previously created first part.

The semantic match that finds this kind of problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression dev;
expression phys;
expression str;
expression size;
@@
 	usb_make_path(dev, phys, size);
-	strlcpy(phys, str, size);
+	strlcat(phys, str, size);
// </smpl>

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:45 -02:00
Julia Lawall
cd0e280f1b V4L/DVB (13413): introduce missing kfree
Error handling code following a kzalloc should free the allocated data.
Similarly for usb-alloc urb.

The semantic match that finds the first problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@r exists@
local idexpression x;
statement S;
expression E;
identifier f,f1,l;
position p1,p2;
expression *ptr != NULL;
@@

x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
...
if (x == NULL) S
<... when != x
     when != if (...) { <+...x...+> }
(
x->f1 = E
|
 (x->f1 == NULL || ...)
|
 f(...,x->f1,...)
)
...>
(
 return \(0\|<+...x...+>\|ptr\);
|
 return@p2 ...;
)

@script:python@
p1 << r.p1;
p2 << r.p2;
@@

print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:45 -02:00
Roel Kluin
c95a419a56 V4L/DVB: Fix test in copy_reg_bits()
The reg_pair2[j].reg was tested twice.

Cc: <stable@kernel.org>
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:45 -02:00
Stefan Richter
5375659a3d V4L/DVB (13410): firedtv: remove an unnecessary function argument
All read transactions initiated by firedtv are only quadlet-sized, hence
the backend->read call can be simplified a little.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:44 -02:00
Stefan Richter
b1d33f4b0a V4L/DVB (13409): firedtv: packet requeuing is likely to succeed
Packet DMA buffers are queued either initially all at once (then, a
queueing failure will cause firedtv to release the DMA context as a
whole) or subsequently one by one as they recycled after use (then a
failure is extremely unlikely).  Therefore we can be a little less
cautious when counting at which packet buffer to set the interrupt flag.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:44 -02:00