diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-05 07:59:03 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-25 16:04:32 -0500 |
commit | d7448a8d9d06ca2ca4fd1f17404450ecba8bea3a (patch) | |
tree | 61be9e95bdf31c4cde511c67ce2f526bb816d0f8 /drivers/media/video/em28xx/em28xx.h | |
parent | 6d79468dd8537530f4150e76ed9b4b63f80571c6 (diff) |
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>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx.h')
-rw-r--r-- | drivers/media/video/em28xx/em28xx.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h index c2d9ae0ac618..9eb213132da1 100644 --- a/drivers/media/video/em28xx/em28xx.h +++ b/drivers/media/video/em28xx/em28xx.h | |||
@@ -246,6 +246,7 @@ struct em28xx { | |||
246 | unsigned int has_msp34xx:1; | 246 | unsigned int has_msp34xx:1; |
247 | unsigned int has_tda9887:1; | 247 | unsigned int has_tda9887:1; |
248 | unsigned int stream_on:1; /* Locks streams */ | 248 | unsigned int stream_on:1; /* Locks streams */ |
249 | unsigned int has_audio_class:1; | ||
249 | 250 | ||
250 | int video_inputs; /* number of video inputs */ | 251 | int video_inputs; /* number of video inputs */ |
251 | struct list_head devlist; | 252 | struct list_head devlist; |
@@ -295,6 +296,8 @@ struct em28xx { | |||
295 | enum em28xx_stream_state stream; | 296 | enum em28xx_stream_state stream; |
296 | enum em28xx_io_method io; | 297 | enum em28xx_io_method io; |
297 | 298 | ||
299 | struct work_struct request_module_wk; | ||
300 | |||
298 | /* locks */ | 301 | /* locks */ |
299 | struct mutex lock; | 302 | struct mutex lock; |
300 | spinlock_t queue_lock; | 303 | spinlock_t queue_lock; |