diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/DocBook/kernel-locking.tmpl | 22 | ||||
-rw-r--r-- | Documentation/dvb/avermedia.txt | 3 | ||||
-rw-r--r-- | Documentation/dvb/get_dvb_firmware | 23 | ||||
-rw-r--r-- | Documentation/dvb/ttusb-dec.txt | 3 | ||||
-rw-r--r-- | Documentation/filesystems/proc.txt | 2 | ||||
-rw-r--r-- | Documentation/i2o/ioctl | 2 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 2 | ||||
-rw-r--r-- | Documentation/kprobes.txt | 3 | ||||
-rw-r--r-- | Documentation/mutex-design.txt | 135 | ||||
-rw-r--r-- | Documentation/networking/sk98lin.txt | 2 | ||||
-rw-r--r-- | Documentation/power/swsusp.txt | 4 | ||||
-rw-r--r-- | Documentation/video4linux/CARDLIST.bttv | 1 | ||||
-rw-r--r-- | Documentation/video4linux/CARDLIST.cx88 | 10 | ||||
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 5 | ||||
-rw-r--r-- | Documentation/video4linux/CARDLIST.tuner | 6 |
15 files changed, 198 insertions, 25 deletions
diff --git a/Documentation/DocBook/kernel-locking.tmpl b/Documentation/DocBook/kernel-locking.tmpl index 90dc2de8e0af..158ffe9bfade 100644 --- a/Documentation/DocBook/kernel-locking.tmpl +++ b/Documentation/DocBook/kernel-locking.tmpl | |||
@@ -222,7 +222,7 @@ | |||
222 | <title>Two Main Types of Kernel Locks: Spinlocks and Semaphores</title> | 222 | <title>Two Main Types of Kernel Locks: Spinlocks and Semaphores</title> |
223 | 223 | ||
224 | <para> | 224 | <para> |
225 | There are two main types of kernel locks. The fundamental type | 225 | There are three main types of kernel locks. The fundamental type |
226 | is the spinlock | 226 | is the spinlock |
227 | (<filename class="headerfile">include/asm/spinlock.h</filename>), | 227 | (<filename class="headerfile">include/asm/spinlock.h</filename>), |
228 | which is a very simple single-holder lock: if you can't get the | 228 | which is a very simple single-holder lock: if you can't get the |
@@ -230,16 +230,22 @@ | |||
230 | very small and fast, and can be used anywhere. | 230 | very small and fast, and can be used anywhere. |
231 | </para> | 231 | </para> |
232 | <para> | 232 | <para> |
233 | The second type is a semaphore | 233 | The second type is a mutex |
234 | (<filename class="headerfile">include/linux/mutex.h</filename>): it | ||
235 | is like a spinlock, but you may block holding a mutex. | ||
236 | If you can't lock a mutex, your task will suspend itself, and be woken | ||
237 | up when the mutex is released. This means the CPU can do something | ||
238 | else while you are waiting. There are many cases when you simply | ||
239 | can't sleep (see <xref linkend="sleeping-things"/>), and so have to | ||
240 | use a spinlock instead. | ||
241 | </para> | ||
242 | <para> | ||
243 | The third type is a semaphore | ||
234 | (<filename class="headerfile">include/asm/semaphore.h</filename>): it | 244 | (<filename class="headerfile">include/asm/semaphore.h</filename>): it |
235 | can have more than one holder at any time (the number decided at | 245 | can have more than one holder at any time (the number decided at |
236 | initialization time), although it is most commonly used as a | 246 | initialization time), although it is most commonly used as a |
237 | single-holder lock (a mutex). If you can't get a semaphore, | 247 | single-holder lock (a mutex). If you can't get a semaphore, your |
238 | your task will put itself on the queue, and be woken up when the | 248 | task will be suspended and later on woken up - just like for mutexes. |
239 | semaphore is released. This means the CPU will do something | ||
240 | else while you are waiting, but there are many cases when you | ||
241 | simply can't sleep (see <xref linkend="sleeping-things"/>), and so | ||
242 | have to use a spinlock instead. | ||
243 | </para> | 249 | </para> |
244 | <para> | 250 | <para> |
245 | Neither type of lock is recursive: see | 251 | Neither type of lock is recursive: see |
diff --git a/Documentation/dvb/avermedia.txt b/Documentation/dvb/avermedia.txt index 2dc260b2b0a4..068070ff13cd 100644 --- a/Documentation/dvb/avermedia.txt +++ b/Documentation/dvb/avermedia.txt | |||
@@ -150,7 +150,8 @@ Getting the card going | |||
150 | 150 | ||
151 | The frontend module sp887x.o, requires an external firmware. | 151 | The frontend module sp887x.o, requires an external firmware. |
152 | Please use the command "get_dvb_firmware sp887x" to download | 152 | Please use the command "get_dvb_firmware sp887x" to download |
153 | it. Then copy it to /usr/lib/hotplug/firmware. | 153 | it. Then copy it to /usr/lib/hotplug/firmware or /lib/firmware/ |
154 | (depending on configuration of firmware hotplug). | ||
154 | 155 | ||
155 | Receiving DVB-T in Australia | 156 | Receiving DVB-T in Australia |
156 | 157 | ||
diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware index be6eb4c75991..75c28a174092 100644 --- a/Documentation/dvb/get_dvb_firmware +++ b/Documentation/dvb/get_dvb_firmware | |||
@@ -23,7 +23,7 @@ use IO::Handle; | |||
23 | 23 | ||
24 | @components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", | 24 | @components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", |
25 | "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004", | 25 | "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004", |
26 | "or51211", "or51132_qam", "or51132_vsb"); | 26 | "or51211", "or51132_qam", "or51132_vsb", "bluebird"); |
27 | 27 | ||
28 | # Check args | 28 | # Check args |
29 | syntax() if (scalar(@ARGV) != 1); | 29 | syntax() if (scalar(@ARGV) != 1); |
@@ -34,7 +34,11 @@ for ($i=0; $i < scalar(@components); $i++) { | |||
34 | if ($cid eq $components[$i]) { | 34 | if ($cid eq $components[$i]) { |
35 | $outfile = eval($cid); | 35 | $outfile = eval($cid); |
36 | die $@ if $@; | 36 | die $@ if $@; |
37 | print STDERR "Firmware $outfile extracted successfully. Now copy it to either /lib/firmware or /usr/lib/hotplug/firmware/ (depending on your hotplug version).\n"; | 37 | print STDERR <<EOF; |
38 | Firmware $outfile extracted successfully. | ||
39 | Now copy it to either /usr/lib/hotplug/firmware or /lib/firmware | ||
40 | (depending on configuration of firmware hotplug). | ||
41 | EOF | ||
38 | exit(0); | 42 | exit(0); |
39 | } | 43 | } |
40 | } | 44 | } |
@@ -243,7 +247,7 @@ sub nxt2002 { | |||
243 | my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); | 247 | my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); |
244 | 248 | ||
245 | checkstandard(); | 249 | checkstandard(); |
246 | 250 | ||
247 | wgetfile($sourcefile, $url); | 251 | wgetfile($sourcefile, $url); |
248 | unzip($sourcefile, $tmpdir); | 252 | unzip($sourcefile, $tmpdir); |
249 | verify("$tmpdir/SkyNETU.sys", $hash); | 253 | verify("$tmpdir/SkyNETU.sys", $hash); |
@@ -308,6 +312,19 @@ sub or51132_vsb { | |||
308 | $fwfile; | 312 | $fwfile; |
309 | } | 313 | } |
310 | 314 | ||
315 | sub bluebird { | ||
316 | my $url = "http://www.linuxtv.org/download/dvb/firmware/dvb-usb-bluebird-01.fw"; | ||
317 | my $outfile = "dvb-usb-bluebird-01.fw"; | ||
318 | my $hash = "658397cb9eba9101af9031302671f49d"; | ||
319 | |||
320 | checkstandard(); | ||
321 | |||
322 | wgetfile($outfile, $url); | ||
323 | verify($outfile,$hash); | ||
324 | |||
325 | $outfile; | ||
326 | } | ||
327 | |||
311 | # --------------------------------------------------------------- | 328 | # --------------------------------------------------------------- |
312 | # Utilities | 329 | # Utilities |
313 | 330 | ||
diff --git a/Documentation/dvb/ttusb-dec.txt b/Documentation/dvb/ttusb-dec.txt index 5c1e984c26a7..b2f271cd784b 100644 --- a/Documentation/dvb/ttusb-dec.txt +++ b/Documentation/dvb/ttusb-dec.txt | |||
@@ -41,4 +41,5 @@ Hotplug Firmware Loading for 2.6 kernels | |||
41 | For 2.6 kernels the firmware is loaded at the point that the driver module is | 41 | For 2.6 kernels the firmware is loaded at the point that the driver module is |
42 | loaded. See linux/Documentation/dvb/firmware.txt for more information. | 42 | loaded. See linux/Documentation/dvb/firmware.txt for more information. |
43 | 43 | ||
44 | Copy the three files downloaded above into the /usr/lib/hotplug/firmware directory. | 44 | Copy the three files downloaded above into the /usr/lib/hotplug/firmware or |
45 | /lib/firmware directory (depending on configuration of firmware hotplug). | ||
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index a4dcf42c2fd9..944cf109a6f5 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt | |||
@@ -418,7 +418,7 @@ VmallocChunk: 111088 kB | |||
418 | Dirty: Memory which is waiting to get written back to the disk | 418 | Dirty: Memory which is waiting to get written back to the disk |
419 | Writeback: Memory which is actively being written back to the disk | 419 | Writeback: Memory which is actively being written back to the disk |
420 | Mapped: files which have been mmaped, such as libraries | 420 | Mapped: files which have been mmaped, such as libraries |
421 | Slab: in-kernel data structures cache | 421 | Slab: in-kernel data structures cache |
422 | CommitLimit: Based on the overcommit ratio ('vm.overcommit_ratio'), | 422 | CommitLimit: Based on the overcommit ratio ('vm.overcommit_ratio'), |
423 | this is the total amount of memory currently available to | 423 | this is the total amount of memory currently available to |
424 | be allocated on the system. This limit is only adhered to | 424 | be allocated on the system. This limit is only adhered to |
diff --git a/Documentation/i2o/ioctl b/Documentation/i2o/ioctl index 3e174978997d..1e77fac4e120 100644 --- a/Documentation/i2o/ioctl +++ b/Documentation/i2o/ioctl | |||
@@ -185,7 +185,7 @@ VII. Getting Parameters | |||
185 | ENOMEM Kernel memory allocation error | 185 | ENOMEM Kernel memory allocation error |
186 | 186 | ||
187 | A return value of 0 does not mean that the value was actually | 187 | A return value of 0 does not mean that the value was actually |
188 | properly retreived. The user should check the result list | 188 | properly retrieved. The user should check the result list |
189 | to determine the specific status of the transaction. | 189 | to determine the specific status of the transaction. |
190 | 190 | ||
191 | VIII. Downloading Software | 191 | VIII. Downloading Software |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index acb010bb087b..0dc848bf0b56 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -998,6 +998,8 @@ running once the system is up. | |||
998 | 998 | ||
999 | nowb [ARM] | 999 | nowb [ARM] |
1000 | 1000 | ||
1001 | nr_uarts= [SERIAL] maximum number of UARTs to be registered. | ||
1002 | |||
1001 | opl3= [HW,OSS] | 1003 | opl3= [HW,OSS] |
1002 | Format: <io> | 1004 | Format: <io> |
1003 | 1005 | ||
diff --git a/Documentation/kprobes.txt b/Documentation/kprobes.txt index 0541fe1de704..0ea5a0c6e827 100644 --- a/Documentation/kprobes.txt +++ b/Documentation/kprobes.txt | |||
@@ -411,7 +411,8 @@ int init_module(void) | |||
411 | printk("Couldn't find %s to plant kprobe\n", "do_fork"); | 411 | printk("Couldn't find %s to plant kprobe\n", "do_fork"); |
412 | return -1; | 412 | return -1; |
413 | } | 413 | } |
414 | if ((ret = register_kprobe(&kp) < 0)) { | 414 | ret = register_kprobe(&kp); |
415 | if (ret < 0) { | ||
415 | printk("register_kprobe failed, returned %d\n", ret); | 416 | printk("register_kprobe failed, returned %d\n", ret); |
416 | return -1; | 417 | return -1; |
417 | } | 418 | } |
diff --git a/Documentation/mutex-design.txt b/Documentation/mutex-design.txt new file mode 100644 index 000000000000..cbf79881a41c --- /dev/null +++ b/Documentation/mutex-design.txt | |||
@@ -0,0 +1,135 @@ | |||
1 | Generic Mutex Subsystem | ||
2 | |||
3 | started by Ingo Molnar <mingo@redhat.com> | ||
4 | |||
5 | "Why on earth do we need a new mutex subsystem, and what's wrong | ||
6 | with semaphores?" | ||
7 | |||
8 | firstly, there's nothing wrong with semaphores. But if the simpler | ||
9 | mutex semantics are sufficient for your code, then there are a couple | ||
10 | of advantages of mutexes: | ||
11 | |||
12 | - 'struct mutex' is smaller on most architectures: .e.g on x86, | ||
13 | 'struct semaphore' is 20 bytes, 'struct mutex' is 16 bytes. | ||
14 | A smaller structure size means less RAM footprint, and better | ||
15 | CPU-cache utilization. | ||
16 | |||
17 | - tighter code. On x86 i get the following .text sizes when | ||
18 | switching all mutex-alike semaphores in the kernel to the mutex | ||
19 | subsystem: | ||
20 | |||
21 | text data bss dec hex filename | ||
22 | 3280380 868188 396860 4545428 455b94 vmlinux-semaphore | ||
23 | 3255329 865296 396732 4517357 44eded vmlinux-mutex | ||
24 | |||
25 | that's 25051 bytes of code saved, or a 0.76% win - off the hottest | ||
26 | codepaths of the kernel. (The .data savings are 2892 bytes, or 0.33%) | ||
27 | Smaller code means better icache footprint, which is one of the | ||
28 | major optimization goals in the Linux kernel currently. | ||
29 | |||
30 | - the mutex subsystem is slightly faster and has better scalability for | ||
31 | contended workloads. On an 8-way x86 system, running a mutex-based | ||
32 | kernel and testing creat+unlink+close (of separate, per-task files) | ||
33 | in /tmp with 16 parallel tasks, the average number of ops/sec is: | ||
34 | |||
35 | Semaphores: Mutexes: | ||
36 | |||
37 | $ ./test-mutex V 16 10 $ ./test-mutex V 16 10 | ||
38 | 8 CPUs, running 16 tasks. 8 CPUs, running 16 tasks. | ||
39 | checking VFS performance. checking VFS performance. | ||
40 | avg loops/sec: 34713 avg loops/sec: 84153 | ||
41 | CPU utilization: 63% CPU utilization: 22% | ||
42 | |||
43 | i.e. in this workload, the mutex based kernel was 2.4 times faster | ||
44 | than the semaphore based kernel, _and_ it also had 2.8 times less CPU | ||
45 | utilization. (In terms of 'ops per CPU cycle', the semaphore kernel | ||
46 | performed 551 ops/sec per 1% of CPU time used, while the mutex kernel | ||
47 | performed 3825 ops/sec per 1% of CPU time used - it was 6.9 times | ||
48 | more efficient.) | ||
49 | |||
50 | the scalability difference is visible even on a 2-way P4 HT box: | ||
51 | |||
52 | Semaphores: Mutexes: | ||
53 | |||
54 | $ ./test-mutex V 16 10 $ ./test-mutex V 16 10 | ||
55 | 4 CPUs, running 16 tasks. 8 CPUs, running 16 tasks. | ||
56 | checking VFS performance. checking VFS performance. | ||
57 | avg loops/sec: 127659 avg loops/sec: 181082 | ||
58 | CPU utilization: 100% CPU utilization: 34% | ||
59 | |||
60 | (the straight performance advantage of mutexes is 41%, the per-cycle | ||
61 | efficiency of mutexes is 4.1 times better.) | ||
62 | |||
63 | - there are no fastpath tradeoffs, the mutex fastpath is just as tight | ||
64 | as the semaphore fastpath. On x86, the locking fastpath is 2 | ||
65 | instructions: | ||
66 | |||
67 | c0377ccb <mutex_lock>: | ||
68 | c0377ccb: f0 ff 08 lock decl (%eax) | ||
69 | c0377cce: 78 0e js c0377cde <.text.lock.mutex> | ||
70 | c0377cd0: c3 ret | ||
71 | |||
72 | the unlocking fastpath is equally tight: | ||
73 | |||
74 | c0377cd1 <mutex_unlock>: | ||
75 | c0377cd1: f0 ff 00 lock incl (%eax) | ||
76 | c0377cd4: 7e 0f jle c0377ce5 <.text.lock.mutex+0x7> | ||
77 | c0377cd6: c3 ret | ||
78 | |||
79 | - 'struct mutex' semantics are well-defined and are enforced if | ||
80 | CONFIG_DEBUG_MUTEXES is turned on. Semaphores on the other hand have | ||
81 | virtually no debugging code or instrumentation. The mutex subsystem | ||
82 | checks and enforces the following rules: | ||
83 | |||
84 | * - only one task can hold the mutex at a time | ||
85 | * - only the owner can unlock the mutex | ||
86 | * - multiple unlocks are not permitted | ||
87 | * - recursive locking is not permitted | ||
88 | * - a mutex object must be initialized via the API | ||
89 | * - a mutex object must not be initialized via memset or copying | ||
90 | * - task may not exit with mutex held | ||
91 | * - memory areas where held locks reside must not be freed | ||
92 | * - held mutexes must not be reinitialized | ||
93 | * - mutexes may not be used in irq contexts | ||
94 | |||
95 | furthermore, there are also convenience features in the debugging | ||
96 | code: | ||
97 | |||
98 | * - uses symbolic names of mutexes, whenever they are printed in debug output | ||
99 | * - point-of-acquire tracking, symbolic lookup of function names | ||
100 | * - list of all locks held in the system, printout of them | ||
101 | * - owner tracking | ||
102 | * - detects self-recursing locks and prints out all relevant info | ||
103 | * - detects multi-task circular deadlocks and prints out all affected | ||
104 | * locks and tasks (and only those tasks) | ||
105 | |||
106 | Disadvantages | ||
107 | ------------- | ||
108 | |||
109 | The stricter mutex API means you cannot use mutexes the same way you | ||
110 | can use semaphores: e.g. they cannot be used from an interrupt context, | ||
111 | nor can they be unlocked from a different context that which acquired | ||
112 | it. [ I'm not aware of any other (e.g. performance) disadvantages from | ||
113 | using mutexes at the moment, please let me know if you find any. ] | ||
114 | |||
115 | Implementation of mutexes | ||
116 | ------------------------- | ||
117 | |||
118 | 'struct mutex' is the new mutex type, defined in include/linux/mutex.h | ||
119 | and implemented in kernel/mutex.c. It is a counter-based mutex with a | ||
120 | spinlock and a wait-list. The counter has 3 states: 1 for "unlocked", | ||
121 | 0 for "locked" and negative numbers (usually -1) for "locked, potential | ||
122 | waiters queued". | ||
123 | |||
124 | the APIs of 'struct mutex' have been streamlined: | ||
125 | |||
126 | DEFINE_MUTEX(name); | ||
127 | |||
128 | mutex_init(mutex); | ||
129 | |||
130 | void mutex_lock(struct mutex *lock); | ||
131 | int mutex_lock_interruptible(struct mutex *lock); | ||
132 | int mutex_trylock(struct mutex *lock); | ||
133 | void mutex_unlock(struct mutex *lock); | ||
134 | int mutex_is_locked(struct mutex *lock); | ||
135 | |||
diff --git a/Documentation/networking/sk98lin.txt b/Documentation/networking/sk98lin.txt index 851fc97bb22f..f9d979ee9526 100644 --- a/Documentation/networking/sk98lin.txt +++ b/Documentation/networking/sk98lin.txt | |||
@@ -245,7 +245,7 @@ Default: Both | |||
245 | This parameters is only relevant if auto-negotiation for this port is | 245 | This parameters is only relevant if auto-negotiation for this port is |
246 | not set to "Sense". If auto-negotiation is set to "On", all three values | 246 | not set to "Sense". If auto-negotiation is set to "On", all three values |
247 | are possible. If it is set to "Off", only "Full" and "Half" are allowed. | 247 | are possible. If it is set to "Off", only "Full" and "Half" are allowed. |
248 | This parameter is usefull if your link partner does not support all | 248 | This parameter is useful if your link partner does not support all |
249 | possible combinations. | 249 | possible combinations. |
250 | 250 | ||
251 | Flow Control | 251 | Flow Control |
diff --git a/Documentation/power/swsusp.txt b/Documentation/power/swsusp.txt index cd0fcd89a6f0..08c79d4dc540 100644 --- a/Documentation/power/swsusp.txt +++ b/Documentation/power/swsusp.txt | |||
@@ -212,7 +212,7 @@ A: Try running | |||
212 | 212 | ||
213 | cat `cat /proc/[0-9]*/maps | grep / | sed 's:.* /:/:' | sort -u` > /dev/null | 213 | cat `cat /proc/[0-9]*/maps | grep / | sed 's:.* /:/:' | sort -u` > /dev/null |
214 | 214 | ||
215 | after resume. swapoff -a; swapon -a may also be usefull. | 215 | after resume. swapoff -a; swapon -a may also be useful. |
216 | 216 | ||
217 | Q: What happens to devices during swsusp? They seem to be resumed | 217 | Q: What happens to devices during swsusp? They seem to be resumed |
218 | during system suspend? | 218 | during system suspend? |
@@ -323,7 +323,7 @@ to be useless to try to suspend to disk while that app is running? | |||
323 | A: No, it should work okay, as long as your app does not mlock() | 323 | A: No, it should work okay, as long as your app does not mlock() |
324 | it. Just prepare big enough swap partition. | 324 | it. Just prepare big enough swap partition. |
325 | 325 | ||
326 | Q: What information is usefull for debugging suspend-to-disk problems? | 326 | Q: What information is useful for debugging suspend-to-disk problems? |
327 | 327 | ||
328 | A: Well, last messages on the screen are always useful. If something | 328 | A: Well, last messages on the screen are always useful. If something |
329 | is broken, it is usually some kernel driver, therefore trying with as | 329 | is broken, it is usually some kernel driver, therefore trying with as |
diff --git a/Documentation/video4linux/CARDLIST.bttv b/Documentation/video4linux/CARDLIST.bttv index 330246ac80f8..74fb085e178b 100644 --- a/Documentation/video4linux/CARDLIST.bttv +++ b/Documentation/video4linux/CARDLIST.bttv | |||
@@ -141,3 +141,4 @@ | |||
141 | 140 -> Osprey 440 [0070:ff07] | 141 | 140 -> Osprey 440 [0070:ff07] |
142 | 141 -> Asound Skyeye PCTV | 142 | 141 -> Asound Skyeye PCTV |
143 | 142 -> Sabrent TV-FM (bttv version) | 143 | 142 -> Sabrent TV-FM (bttv version) |
144 | 143 -> Hauppauge ImpactVCB (bt878) [0070:13eb] | ||
diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88 index a1017d1a85d4..34b6e59f2968 100644 --- a/Documentation/video4linux/CARDLIST.cx88 +++ b/Documentation/video4linux/CARDLIST.cx88 | |||
@@ -16,7 +16,7 @@ | |||
16 | 15 -> DViCO FusionHDTV DVB-T1 [18ac:db00] | 16 | 15 -> DViCO FusionHDTV DVB-T1 [18ac:db00] |
17 | 16 -> KWorld LTV883RF | 17 | 16 -> KWorld LTV883RF |
18 | 17 -> DViCO FusionHDTV 3 Gold-Q [18ac:d810] | 18 | 17 -> DViCO FusionHDTV 3 Gold-Q [18ac:d810] |
19 | 18 -> Hauppauge Nova-T DVB-T [0070:9002] | 19 | 18 -> Hauppauge Nova-T DVB-T [0070:9002,0070:9001] |
20 | 19 -> Conexant DVB-T reference design [14f1:0187] | 20 | 19 -> Conexant DVB-T reference design [14f1:0187] |
21 | 20 -> Provideo PV259 [1540:2580] | 21 | 20 -> Provideo PV259 [1540:2580] |
22 | 21 -> DViCO FusionHDTV DVB-T Plus [18ac:db10] | 22 | 21 -> DViCO FusionHDTV DVB-T Plus [18ac:db10] |
@@ -35,3 +35,11 @@ | |||
35 | 34 -> ATI HDTV Wonder [1002:a101] | 35 | 34 -> ATI HDTV Wonder [1002:a101] |
36 | 35 -> WinFast DTV1000-T [107d:665f] | 36 | 35 -> WinFast DTV1000-T [107d:665f] |
37 | 36 -> AVerTV 303 (M126) [1461:000a] | 37 | 36 -> AVerTV 303 (M126) [1461:000a] |
38 | 37 -> Hauppauge Nova-S-Plus DVB-S [0070:9201,0070:9202] | ||
39 | 38 -> Hauppauge Nova-SE2 DVB-S [0070:9200] | ||
40 | 39 -> KWorld DVB-S 100 [17de:08b2] | ||
41 | 40 -> Hauppauge WinTV-HVR1100 DVB-T/Hybrid [0070:9400,0070:9402] | ||
42 | 41 -> Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profile) [0070:9800,0070:9802] | ||
43 | 42 -> digitalnow DNTV Live! DVB-T Pro [1822:0025] | ||
44 | 43 -> KWorld/VStream XPert DVB-T with cx22702 [17de:08a1] | ||
45 | 44 -> DViCO FusionHDTV DVB-T Dual Digital [18ac:db50] | ||
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index efb708ec116a..cb3a59bbeb17 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -56,7 +56,7 @@ | |||
56 | 55 -> LifeView FlyDVB-T DUO [5168:0502,5168:0306] | 56 | 55 -> LifeView FlyDVB-T DUO [5168:0502,5168:0306] |
57 | 56 -> Avermedia AVerTV 307 [1461:a70a] | 57 | 56 -> Avermedia AVerTV 307 [1461:a70a] |
58 | 57 -> Avermedia AVerTV GO 007 FM [1461:f31f] | 58 | 57 -> Avermedia AVerTV GO 007 FM [1461:f31f] |
59 | 58 -> ADS Tech Instant TV (saa7135) [1421:0350,1421:0370,1421:1370] | 59 | 58 -> ADS Tech Instant TV (saa7135) [1421:0350,1421:0351,1421:0370,1421:1370] |
60 | 59 -> Kworld/Tevion V-Stream Xpert TV PVR7134 | 60 | 59 -> Kworld/Tevion V-Stream Xpert TV PVR7134 |
61 | 60 -> Typhoon DVB-T Duo Digital/Analog Cardbus [4e42:0502] | 61 | 60 -> Typhoon DVB-T Duo Digital/Analog Cardbus [4e42:0502] |
62 | 61 -> Philips TOUGH DVB-T reference design [1131:2004] | 62 | 61 -> Philips TOUGH DVB-T reference design [1131:2004] |
@@ -81,4 +81,5 @@ | |||
81 | 80 -> ASUS Digimatrix TV [1043:0210] | 81 | 80 -> ASUS Digimatrix TV [1043:0210] |
82 | 81 -> Philips Tiger reference design [1131:2018] | 82 | 81 -> Philips Tiger reference design [1131:2018] |
83 | 82 -> MSI TV@Anywhere plus [1462:6231] | 83 | 82 -> MSI TV@Anywhere plus [1462:6231] |
84 | 84 | 83 -> Terratec Cinergy 250 PCI TV [153b:1160] | |
85 | 84 -> LifeView FlyDVB Trio [5168:0319] | ||
diff --git a/Documentation/video4linux/CARDLIST.tuner b/Documentation/video4linux/CARDLIST.tuner index 9d6544ea9f41..0bf3d5bf9ef8 100644 --- a/Documentation/video4linux/CARDLIST.tuner +++ b/Documentation/video4linux/CARDLIST.tuner | |||
@@ -40,7 +40,7 @@ tuner=38 - Philips PAL/SECAM multi (FM1216ME MK3) | |||
40 | tuner=39 - LG NTSC (newer TAPC series) | 40 | tuner=39 - LG NTSC (newer TAPC series) |
41 | tuner=40 - HITACHI V7-J180AT | 41 | tuner=40 - HITACHI V7-J180AT |
42 | tuner=41 - Philips PAL_MK (FI1216 MK) | 42 | tuner=41 - Philips PAL_MK (FI1216 MK) |
43 | tuner=42 - Philips 1236D ATSC/NTSC daul in | 43 | tuner=42 - Philips 1236D ATSC/NTSC dual in |
44 | tuner=43 - Philips NTSC MK3 (FM1236MK3 or FM1236/F) | 44 | tuner=43 - Philips NTSC MK3 (FM1236MK3 or FM1236/F) |
45 | tuner=44 - Philips 4 in 1 (ATI TV Wonder Pro/Conexant) | 45 | tuner=44 - Philips 4 in 1 (ATI TV Wonder Pro/Conexant) |
46 | tuner=45 - Microtune 4049 FM5 | 46 | tuner=45 - Microtune 4049 FM5 |
@@ -50,7 +50,7 @@ tuner=48 - Tenna TNF 8831 BGFF) | |||
50 | tuner=49 - Microtune 4042 FI5 ATSC/NTSC dual in | 50 | tuner=49 - Microtune 4042 FI5 ATSC/NTSC dual in |
51 | tuner=50 - TCL 2002N | 51 | tuner=50 - TCL 2002N |
52 | tuner=51 - Philips PAL/SECAM_D (FM 1256 I-H3) | 52 | tuner=51 - Philips PAL/SECAM_D (FM 1256 I-H3) |
53 | tuner=52 - Thomson DDT 7610 (ATSC/NTSC) | 53 | tuner=52 - Thomson DTT 7610 (ATSC/NTSC) |
54 | tuner=53 - Philips FQ1286 | 54 | tuner=53 - Philips FQ1286 |
55 | tuner=54 - tda8290+75 | 55 | tuner=54 - tda8290+75 |
56 | tuner=55 - TCL 2002MB | 56 | tuner=55 - TCL 2002MB |
@@ -58,7 +58,7 @@ tuner=56 - Philips PAL/SECAM multi (FQ1216AME MK4) | |||
58 | tuner=57 - Philips FQ1236A MK4 | 58 | tuner=57 - Philips FQ1236A MK4 |
59 | tuner=58 - Ymec TVision TVF-8531MF/8831MF/8731MF | 59 | tuner=58 - Ymec TVision TVF-8531MF/8831MF/8731MF |
60 | tuner=59 - Ymec TVision TVF-5533MF | 60 | tuner=59 - Ymec TVision TVF-5533MF |
61 | tuner=60 - Thomson DDT 7611 (ATSC/NTSC) | 61 | tuner=60 - Thomson DTT 761X (ATSC/NTSC) |
62 | tuner=61 - Tena TNF9533-D/IF/TNF9533-B/DF | 62 | tuner=61 - Tena TNF9533-D/IF/TNF9533-B/DF |
63 | tuner=62 - Philips TEA5767HN FM Radio | 63 | tuner=62 - Philips TEA5767HN FM Radio |
64 | tuner=63 - Philips FMD1216ME MK3 Hybrid Tuner | 64 | tuner=63 - Philips FMD1216ME MK3 Hybrid Tuner |