History log of /drivers/media/video/em28xx/em28xx-audio.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8ab3362665a699bd54fc489ff7fb6372678b94c1 28-Dec-2011 Holger Nelson <hnelson@hnelson.de> [media] em28xx: Reworked probe code to get rid of some hacks

Reworked device probing to get rid of hacks to guess the maximum size of
dvb iso transfer packets. The new code also selects the first alternate
config which supports the largest possible iso transfers for dvb.

[mchehab@redhat.com: Fix a few checkpatch.pl CodingStyle compliants]
Signed-off-by: Holger Nelson <hnelson@hnelson.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
4f83e7b3ef938eb9a01eadf81a0f3b2c67d3afb6 17-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Add support for devices with a separate audio interface

Some devices use a separate interface for the vendor audio class.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
dff0f8c279e34089128e9687d77bfc72dbb471bd 19-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx-audio: Some Alsa API fixes

Mark the alsa stream with SNDRV_PCM_INFO_BATCH,
as the timing to get audio streams can vary.

Also, add SNDRV_PCM_TRIGGER for pause/release.

while here, fix the stop indicator, to be sure that audio
will be properly released at the stop events.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
debb7241498001a0da10ee01b72f9ec1f9b1edc8 19-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx-audio: Properly report failures to start stream

If the audio stream fails for any reason, it should:
1) Report an error via dmesg;
2) Mark internally that the stream didn't started.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
66cb6957d338383157d4fdafef7c85e488e9e535 18-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx-audio: add debug info for the volume control

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
71d7d83edc5129509a2cba1cf9848579cf9619e5 19-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx-audio: volumes are inverted

While here, fix volume mask to 5 bits

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
43131a2ca6afbd8dcc940d5ad4b4b1c3d89a658b 19-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx-audio: add support for mute controls

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
850d24a5a861238f583f59cd39de4dfe5142a4c9 19-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx-alsa: add mixer support for AC97 volume controls

Export ac97 volume controls via mixer.

Pulseaudio will probably handle it very badly, as it has
no idea about how volumes are wired, and how are they
associated with each TV input. Those wirings are
card model dependent, and we don't have the wiring mappings
for each supported device.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
00d2e7ad9dd4e88224d091e454371d8a9a80719f 18-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Don't initialize a var if won't be using it

Fixes most cases of initializing a var but not using it.

There are still 3 cases at em28xx-alsa, were those vars should
probably be used.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
39a96b4cf592e79aefd1b4f2b136c20ec7bf10a7 09-Oct-2010 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx-audio: fix some locking issues

Those locking issues affect tvtime, causing a kernel oops/panic, due to
a race condition.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
4a3eaee4d0d2724d86cbb18ad4b0088ce0b7f8a2 23-Mar-2010 Dan Carpenter <error27@gmail.com> V4L/DVB: em28xx: "Empia Em28xx Audio" too long

card->driver is 15 characters and a NULL. The original code
goes past the end of the array.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
0bc23083cfa0e4bee3a89254c0af7dc6a16513bb 04-Nov-2009 Filipe Rosset <rosset.filipe@gmail.com> V4L/DVB (13289): em28xx-audio: Convert printks to em28xx_err

Convert printks to em28xx_err.

Signed-off-by: Filipe Rosset <rosset.filipe@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
96fbf771d86a90ff006bc62ca4d4de6474b3de31 15-Oct-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (13190): em28xx: fix panic that can occur when starting audio streaming

Because the counters were not reset when starting up streaming, they would
be reused from the previous run. This can result in cases such that when the
second instance of streaming starts up, the "cnt" variable in
em28xx_audio_isocirq() can end up being negative, resulting in attempting to
write to memory before the start of runtime->dma_area (as well as having a
negative number of bytes to copy).

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
CC: stable@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
75c74d1c78ec3b713a986e0efc645ed558384cdf 28-May-2009 Robert Krakora <rob.krakora@messagenetsystems.com> V4L/DVB (11896): em28xx: Fix for Slow Memory Leak

Test Code: (Provided by Douglas)

v4l-dvb/v4l2-apps/test/stress-buffer.c

The audio DMA area was never being freed and would slowly leak over
time as the v4l device was opened and closed by an application.

Thanks again to Douglas for generating the test code to help locate
memory leaks!!!

Signed-off-by: Robert Krakora <rob.krakora@messagenetsystems.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
55bf0e7013c2204aba3897987284ced7d3b8ff8b 12-Feb-2009 Nicola Soranzo <nsoranzo@tiscali.it> V4L/DVB (10555): em28xx: CodingStyle fixes

Coding style fixes for recent changesets in em28xx.

Signed-off-by: Nicola Soranzo <nsoranzo@tiscali.it>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
a1a6ee74f2c68918f2e145dccba3637eea91a52a 11-Feb-2009 Nicola Soranzo <nsoranzo@tiscali.it> V4L/DVB (10525): em28xx: Coding style fixes and a typo correction

Lots of coding style fixes and a typo correction for em28xx.

[dougsland@redhat.com: fixed a reject due to a change on em28xx-audio.c]
Signed-off-by: Nicola Soranzo <nsoranzo@tiscali.it>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
22cff7b381eca256d2afb460b3b9815f83810011 08-Feb-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10523): em28xx-audio: Add macros EM28XX_START_AUDIO / EM28XX_STOP_AUDIO

Added macros EM28XX_START_AUDIO and EM28XX_STOP_AUDIO for em28xx_cmd().

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
5c030de4757f64246897babcaa7091b4b391a660 08-Feb-2009 Alexey Klimov <klimov.linux@gmail.com> V4L/DVB (10522): em28xx-audio: replace printk with em28xx_errdev

Patch removes printk and place em28xx_errdev macros to provide
information about driver name to dmesg.

Signed-off-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
bf510ac380c0e5aac813455fdf7364613cf75b72 08-Feb-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10521): em28xx-audio: Add lock for users

Added lock for users count

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
df39ca6437410b9428ebd3ce30fcde193782410d 08-Feb-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10520): em28xx-audio: Add spinlock for trigger

Added spinlock for trigger session

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
c744dff260e9efb1080d1e823e588f85176a057b 08-Feb-2009 Robert Krakora <rob.krakora@messagenetsystems.com> V4L/DVB (10519): em28xx: Fix for em28xx audio startup

Essentially if a snd_em28xx_capture_trigger() stop followed by a snd_em28xx_capture_trigger() start would not yield any
data because there was some logic put in with an adev->shutdown variable which did not seem warranted in my humble opinion.
It would cause snd_em28xx_capture_trigger start never to start up the audio stream until the device was closed and
reopened again. Upon re-opening the device adev->shutdown is reset and audio data would again flow.

Signed-off-by: Robert Krakora <rob.krakora@messagenetsystems.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
aa5a1821859c9c2915bc00e79f6e01e619df6e8f 08-Feb-2009 Robert Krakora <rob.krakora@messagenetsystems.com> V4L/DVB (10518): em28xx: Fix for em28xx memory leak and function rename

Fix for em28xx memory leak and function rename

Signed-off-by: Robert Krakora <rob.krakora@messagenetsystems.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
3e099baff451affd13a93c6fed216943e01b80fd 08-Feb-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10517): em28xx: remove bad check (changeset a31c595188af)

Removed bad check. Thanks to Robert Krakora <rob.krakora@messagenetsystems.com>
to report that.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
b124d597496fad3ba1ead7ed3b6c197c5b0a2ee7 25-Jan-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10327): em28xx: Add check before call em28xx_isoc_audio_deinit()

Just call em28xx_isoc_audio_deinit() if em28xx sent a usb_submit().

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
00bc0645f02ec0c3486a9f6af9b6167ce5eda62c 25-Jan-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10326): em28xx: Cleanup: fix bad whitespacing

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
dec14f8c0eff54549e5747f8a4d1dc6c0347e2dd 24-Mar-2009 Takashi Iwai <tiwai@suse.de> Merge branch 'topic/snd_card_new-err' into for-linus
7662b00c378fe638e84a853418cd833303fc050c 19-Feb-2009 Nicola Soranzo <nsoranzo@tiscali.it> V4L/DVB (10659): em28xx: register device to soundcard for sysfs

As explained in "Writing an ALSA driver" (T. Iwai), audio drivers should
set the struct device for the card before registering the card instance.
This will add the correct /sys/class/sound/cardN/device symlink, so HAL
can see the device and ConsoleKit sets its ACL permissions for the
logged-in user.

For em28xx audio capture cards found e.g. in Hauppauge WinTV-HVR-900 (R2),
this patch fixes errors like:

ALSA lib pcm_hw.c:1429:(_snd_pcm_hw_open) Invalid value for card
Error opening audio: Permission denied

when running mplayer as a normal user.

Signed-off-by: Nicola Soranzo <nsoranzo@tiscali.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
9c06210b89e604aa75314d3d173a93292b0d2777 25-Jan-2009 Robert Krakora <rob.krakora@messagenetsystems.com> V4L/DVB (10325): em28xx: Fix for fail to submit URB with IRQs and Pre-emption Disabled

Trace: (Provided by Douglas)

BUG: sleeping function called from invalid context at drivers/usb/core/urb.c:558
in_atomic():0, irqs_disabled():1
Pid: 4918, comm: sox Not tainted 2.6.27.5 #1
[<c04246d8>] __might_sleep+0xc6/0xcb
[<c058c8b0>] usb_kill_urb+0x1a/0xd8
[<c0488e68>] ? __kmalloc+0x9b/0xfc
[<c0488e85>] ? __kmalloc+0xb8/0xfc
[<c058cd5a>] ? usb_alloc_urb+0xf/0x31
[<f8dd638c>] em28xx_isoc_audio_deinit+0x2f/0x6c [em28xx_alsa]
[<f8dd6573>] em28xx_cmd+0x1aa/0x1c5 [em28xx_alsa]
[<f8dd65e1>] snd_em28xx_capture_trigger+0x53/0x68 [em28xx_alsa]
[<f8aa8674>] snd_pcm_do_start+0x1c/0x23 [snd_pcm]
[<f8aa85d7>] snd_pcm_action_single+0x25/0x4b [snd_pcm]
[<f8aa9833>] snd_pcm_action+0x6a/0x76 [snd_pcm]
[<f8aa98f5>] snd_pcm_start+0x14/0x16 [snd_pcm]
[<f8aae10e>] snd_pcm_lib_read1+0x66/0x273 [snd_pcm]
[<f8aac5a3>] ? snd_pcm_kernel_ioctl+0x46/0x5f [snd_pcm]
[<f8aae4a7>] snd_pcm_lib_read+0xbf/0xcd [snd_pcm]
[<f8aad774>] ? snd_pcm_lib_read_transfer+0x0/0xaf [snd_pcm]
[<f89feeb6>] snd_pcm_oss_read3+0x99/0xdc [snd_pcm_oss]
[<f89fef9c>] snd_pcm_oss_read2+0xa3/0xbf [snd_pcm_oss]
[<c064169d>] ? _cond_resched+0x8/0x32
[<f89ff0be>] snd_pcm_oss_read+0x106/0x150 [snd_pcm_oss]
[<f89fefb8>] ? snd_pcm_oss_read+0x0/0x150 [snd_pcm_oss]
[<c048c6e2>] vfs_read+0x81/0xdc
[<c048c7d6>] sys_read+0x3b/0x60
[<c04039bf>] sysenter_do_call+0x12/0x34
=======================

The culprit in the trace is snd_pcm_action() which invokes a spin lock
which disables pre-emption which disables an IRQ which causes the
__might_sleep() function to fail the irqs_disabled() test. Since
pre-emption is enabled then it is safe to de-allocate the memory if
you first unlink each URB. In this instance you are safe since
pre-emption is disabled. If pre-emption and irqs are not disabled then
call usb_kill_urb(), else call usb_unlink_urb().

Thanks to Douglas for tracking down this bug originally!!!

[dougsland@redhat.com: Fixed codyingstyle]
Signed-off-by: Robert Krakora <rob.krakora@messagenetsystems.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
8760e5b6d1dc9527e0f96f80daaa12a8158d9839 17-Jan-2009 Devin Heitmueller <dheitmueller@linuxtv.org> V4L/DVB (10261): em28xx: fix kernel panic on audio shutdown

Revert a change made in change 9743 which resulted in a kernel panic in some
cases on shutdown of the audio stream.

First discovered when working on the Pinnacle 880e support, and later
reproduced by a user on the mailing list with the HVR-900 as well.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
53d12e5a56934c31ca59f3b6f127e5a68e645fd2 16-Jan-2009 Robert Krakora <rob.krakora@messagenetsystems.com> V4L/DVB (10254): em28xx: Fix audio URB transfer buffer race condition

em28xx: Fix audio URB transfer buffer memory leak and race
condition/corruption of capture pointer

Leak fix kindly contributed by Pádraig Brady.

Signed-off-by: Robert Krakora <rob.krakora@messagenetsystems.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
758021bfa9ea25c58e62d2f68512628b19502ce7 12-Jan-2009 Takashi Iwai <tiwai@suse.de> drivers/media: Convert to snd_card_create()

Convert from snd_card_new() to the new snd_card_create() function.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
/drivers/media/video/em28xx/em28xx-audio.c
9baed99ee7a834b1f2599e13f219087f01c63f38 31-Dec-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (10163): em28xx: allocate adev together with struct em28xx dev

Some devices require different setups on struct_audio. Due to that, we
may need to change some fields at dev.adev during device probe. So, this
patch moves the dynamic memory allocation of adev at em28xx-alsa to the
dynamic allocation of struct em28xx dev that happens during device
probe.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
24a613e4b08c4077b4c809bebab1d4a36d541fcc 12-Nov-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (9588): Don't load em28xx audio module for digital-only devices

Rework the logic so that the em28xx-alsa module does not get loaded for devices
that don't support analog audio (such as the em2874)

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
65c9fd4609ccbabe4aa354eeab7823507424d8b3 12-Nov-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (9581): Remove unused variable from em28xx-audio.c

Remove unused variable from em28xx-audio.c

Fix warning for unused "ret" variable

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
1f6340bd431921f9b6dc995973eb065d6c14f024 07-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9532): Properly handle error messages during alsa registering

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
a693b0cdba94f60f7ed43754d2c34151cdd11da5 01-Dec-2008 Mauro Carvalho Chehab <mchehab@redhat.com> em28xx: remove backward compat macro added on a previous fix

commit 50f3beb50abe0cc0228363af804e50e710b3e5b0 fixed em28xx-alsa
locking schema. However, a backport macro was kept.

This patch removes the macro, since it is not needed for the module
compilation against upstream.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
faa3bd2e48e594e9475e92fb84bb6ebe6f62f23b 24-Nov-2008 Douglas Schilling Landgraf <dougsland@linuxtv.org> V4L/DVB (9743): em28xx: fix oops audio

Replaced usb_kill_usb for usb_unlink_usb
(wait until urb to fully stop require USB core to put the calling process to sleep).

Oops:
http://www.kerneloops.org/raw.php?rawid=71799&msgid=

Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
50f3beb50abe0cc0228363af804e50e710b3e5b0 24-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9742): em28xx-alsa: implement another locking schema

Instead of using a spinlock, it is better to call the proper pcm stream
locking schema.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
db98fb8b5b9210ba3b14fb984a26060e4afdb9f5 28-Sep-2008 Wiktor Grebla <greblus@gmail.com> V4L/DVB (9103): em28xx: HVR-900 B3C0 - fix audio clicking issue

Fixed audio clicking problem which could be heard when using analog tv or composite input

Signed-off-by: Wiktor Grebla <greblus@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
ff9b3e430b04e00dd2d29a26ae9438d7044a51db 04-Sep-2008 Douglas Schilling Landgraf <dougsland@linuxtv.org> V4L/DVB (8884): em28xx-audio: fix memory leak

Free allocated memory

Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-audio.c
83ee87a31dc43a5fd6dee3562c146033c3a4cb39 14-Jun-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (8026): Avoids an OOPS if dev struct can't be successfully recovered

On some alsa versions, it seems that snd_pcm_substream_chip(substream)
is returning a NULL pointer. This causes an OOPS, as reported by:

https://bugs.launchpad.net/ubuntu/+source/linux-ubuntu-modules-2.6.24/+bug/212271
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/212960

This patch avoids the OOPS by not letting and open() succeed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-audio.c
df619181631217e3166bb6c7538f981e0272617f 10-Jun-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (8017): Ensure em28xx extensions only get run against devs that support them

em28xx-audio.c
em28xx-dvb.c
- Em28xx extensions should ensure they are being only loaded against devices
that support them. Deals with case where there are multiple em28xx
devices, some of which have DVB (or ALSA) support and some do not.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-audio.c
d80e134dc8e7e078248f7966a6884858f7ab185f 09-Apr-2008 Harvey Harrison <harvey.harrison@gmail.com> V4L/DVB (7522): media/video/em28xx replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-audio.c
92ea42f442c4895e38f525a097d7d8ce2a55b9b9 06-Feb-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7164): em28xx-alsa: Add a missing mutex

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-audio.c
a348d2005d4a76c8c84150329f926c255c994ead 18-Jan-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7049): Remove sound/driver.h

sound/driver.h is already included by sound/core.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-audio.c
d7448a8d9d06ca2ca4fd1f17404450ecba8bea3a 05-Jan-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6952): Add code for autoloading em28xx-alsa, if needed

Older em28xx devices does implement standard Audio Class.

However, on newer devices, this were replaced by a Vendor Class. This
patch autodetects that an em28xx lacks Audio Class and auto-loads
em28xx-alsa, for the devices that implements only a Vendor Class.

For devices with Audio Class, snd-usb-audio module will provide an ALSA
interface.

This patch uses the request_module_async function as defined on cx88-mpeg.c,
originally wrote by Markus Rechberger.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-audio.c
6d79468dd8537530f4150e76ed9b4b63f80571c6 05-Jan-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6951): Integrates em28xx-audio.c into em28xx kernel module

Also fixes the remaining CodingStyle issues that Lindent didn't fix.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-audio.c
1a6f11e0e8db9e76ef34bc6731d5291e4df1ba37 05-Jan-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6950): Lindent em28xx-audio.c

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-audio.c
a52932b405f23082f78ff12f4dd3e1741fcaab6f 05-Jan-2008 Markus Rechberger <mrechberger@gmail.com> V4L/DVB (6949): Adds em28xx-audio module

em28xx-audio module exports em28xx Vendor Class audio as an -alsa
driver. This module were written based on usbaudio driver by Markus
Rechberger. Recently, he acked to allow us to merge it on kernel:

http://lists-archives.org/video4linux/20408-supporting-prolink-pixelview-405-dvd-maker.html

Thanks to Markus Rechberger <mrechberger@gmail.com>

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-audio.c