diff options
-rw-r--r-- | Documentation/feature-removal-schedule.txt | 5 | ||||
-rw-r--r-- | MAINTAINERS | 7 | ||||
-rw-r--r-- | arch/i386/kernel/cpu/amd.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/process.c | 4 | ||||
-rw-r--r-- | arch/x86_64/kernel/setup.c | 4 | ||||
-rw-r--r-- | drivers/char/cs5535_gpio.c | 5 | ||||
-rw-r--r-- | drivers/char/sonypi.c | 3 | ||||
-rw-r--r-- | drivers/i2c/busses/i2c-i801.c | 5 | ||||
-rw-r--r-- | drivers/md/md.c | 24 | ||||
-rw-r--r-- | drivers/pci/quirks.c | 29 | ||||
-rw-r--r-- | drivers/video/pm2fb.c | 4 | ||||
-rw-r--r-- | include/asm-i386/cpufeature.h | 1 | ||||
-rw-r--r-- | include/asm-i386/i387.h | 30 | ||||
-rw-r--r-- | include/asm-sparc/unistd.h | 2 | ||||
-rw-r--r-- | include/asm-sparc64/unistd.h | 2 | ||||
-rw-r--r-- | include/asm-x86_64/cache.h | 4 | ||||
-rw-r--r-- | include/asm-x86_64/cpufeature.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/i387.h | 20 | ||||
-rw-r--r-- | include/asm-xtensa/ioctls.h | 2 | ||||
-rw-r--r-- | include/linux/memory_hotplug.h | 3 | ||||
-rw-r--r-- | kernel/kprobes.c | 3 | ||||
-rw-r--r-- | mm/mempolicy.c | 1 | ||||
-rw-r--r-- | sound/drivers/mpu401/mpu401_uart.c | 42 | ||||
-rw-r--r-- | sound/oss/Kconfig | 318 |
24 files changed, 167 insertions, 354 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 293fed113dff..421bcfff6ad2 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -25,8 +25,9 @@ Who: Adrian Bunk <bunk@stusta.de> | |||
25 | 25 | ||
26 | --------------------------- | 26 | --------------------------- |
27 | 27 | ||
28 | What: drivers depending on OBSOLETE_OSS_DRIVER | 28 | What: drivers that were depending on OBSOLETE_OSS_DRIVER |
29 | When: January 2006 | 29 | (config options already removed) |
30 | When: before 2.6.19 | ||
30 | Why: OSS drivers with ALSA replacements | 31 | Why: OSS drivers with ALSA replacements |
31 | Who: Adrian Bunk <bunk@stusta.de> | 32 | Who: Adrian Bunk <bunk@stusta.de> |
32 | 33 | ||
diff --git a/MAINTAINERS b/MAINTAINERS index 78a2f5b4322e..61060e82fb0e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -1458,6 +1458,13 @@ M: support@pathscale.com | |||
1458 | L: openib-general@openib.org | 1458 | L: openib-general@openib.org |
1459 | S: Supported | 1459 | S: Supported |
1460 | 1460 | ||
1461 | IPMI SUBSYSTEM | ||
1462 | P: Corey Minyard | ||
1463 | M: minyard@acm.org | ||
1464 | L: openipmi-developer@lists.sourceforge.net | ||
1465 | W: http://openipmi.sourceforge.net/ | ||
1466 | S: Supported | ||
1467 | |||
1461 | IPX NETWORK LAYER | 1468 | IPX NETWORK LAYER |
1462 | P: Arnaldo Carvalho de Melo | 1469 | P: Arnaldo Carvalho de Melo |
1463 | M: acme@conectiva.com.br | 1470 | M: acme@conectiva.com.br |
diff --git a/arch/i386/kernel/cpu/amd.c b/arch/i386/kernel/cpu/amd.c index ff2b2154ac1b..786d1a57048b 100644 --- a/arch/i386/kernel/cpu/amd.c +++ b/arch/i386/kernel/cpu/amd.c | |||
@@ -207,6 +207,8 @@ static void __init init_amd(struct cpuinfo_x86 *c) | |||
207 | set_bit(X86_FEATURE_K7, c->x86_capability); | 207 | set_bit(X86_FEATURE_K7, c->x86_capability); |
208 | break; | 208 | break; |
209 | } | 209 | } |
210 | if (c->x86 >= 6) | ||
211 | set_bit(X86_FEATURE_FXSAVE_LEAK, c->x86_capability); | ||
210 | 212 | ||
211 | display_cacheinfo(c); | 213 | display_cacheinfo(c); |
212 | 214 | ||
diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c index 1c44b53cb15b..fb903e65e079 100644 --- a/arch/x86_64/kernel/process.c +++ b/arch/x86_64/kernel/process.c | |||
@@ -575,8 +575,10 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p) | |||
575 | prev->userrsp = read_pda(oldrsp); | 575 | prev->userrsp = read_pda(oldrsp); |
576 | write_pda(oldrsp, next->userrsp); | 576 | write_pda(oldrsp, next->userrsp); |
577 | write_pda(pcurrent, next_p); | 577 | write_pda(pcurrent, next_p); |
578 | |||
578 | /* This must be here to ensure both math_state_restore() and | 579 | /* This must be here to ensure both math_state_restore() and |
579 | kernel_fpu_begin() work consistently. */ | 580 | kernel_fpu_begin() work consistently. |
581 | And the AMD workaround requires it to be after DS reload. */ | ||
580 | unlazy_fpu(prev_p); | 582 | unlazy_fpu(prev_p); |
581 | write_pda(kernelstack, | 583 | write_pda(kernelstack, |
582 | task_stack_page(next_p) + THREAD_SIZE - PDA_STACKOFFSET); | 584 | task_stack_page(next_p) + THREAD_SIZE - PDA_STACKOFFSET); |
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index c50b06765a80..759070c82751 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c | |||
@@ -930,6 +930,10 @@ static int __init init_amd(struct cpuinfo_x86 *c) | |||
930 | if (c->x86 == 15 && ((level >= 0x0f48 && level < 0x0f50) || level >= 0x0f58)) | 930 | if (c->x86 == 15 && ((level >= 0x0f48 && level < 0x0f50) || level >= 0x0f58)) |
931 | set_bit(X86_FEATURE_REP_GOOD, &c->x86_capability); | 931 | set_bit(X86_FEATURE_REP_GOOD, &c->x86_capability); |
932 | 932 | ||
933 | /* Enable workaround for FXSAVE leak */ | ||
934 | if (c->x86 >= 6) | ||
935 | set_bit(X86_FEATURE_FXSAVE_LEAK, &c->x86_capability); | ||
936 | |||
933 | r = get_model_name(c); | 937 | r = get_model_name(c); |
934 | if (!r) { | 938 | if (!r) { |
935 | switch (c->x86) { | 939 | switch (c->x86) { |
diff --git a/drivers/char/cs5535_gpio.c b/drivers/char/cs5535_gpio.c index 5d72f50de1ac..46d66037b917 100644 --- a/drivers/char/cs5535_gpio.c +++ b/drivers/char/cs5535_gpio.c | |||
@@ -241,9 +241,10 @@ static int __init cs5535_gpio_init(void) | |||
241 | static void __exit cs5535_gpio_cleanup(void) | 241 | static void __exit cs5535_gpio_cleanup(void) |
242 | { | 242 | { |
243 | dev_t dev_id = MKDEV(major, 0); | 243 | dev_t dev_id = MKDEV(major, 0); |
244 | |||
245 | cdev_del(&cs5535_gpio_cdev); | ||
244 | unregister_chrdev_region(dev_id, CS5535_GPIO_COUNT); | 246 | unregister_chrdev_region(dev_id, CS5535_GPIO_COUNT); |
245 | if (gpio_base != 0) | 247 | release_region(gpio_base, CS5535_GPIO_SIZE); |
246 | release_region(gpio_base, CS5535_GPIO_SIZE); | ||
247 | } | 248 | } |
248 | 249 | ||
249 | module_init(cs5535_gpio_init); | 250 | module_init(cs5535_gpio_init); |
diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c index f8dd8527c6aa..a90f5d97df35 100644 --- a/drivers/char/sonypi.c +++ b/drivers/char/sonypi.c | |||
@@ -1341,6 +1341,9 @@ static int __devinit sonypi_probe(struct platform_device *dev) | |||
1341 | else if ((pcidev = pci_get_device(PCI_VENDOR_ID_INTEL, | 1341 | else if ((pcidev = pci_get_device(PCI_VENDOR_ID_INTEL, |
1342 | PCI_DEVICE_ID_INTEL_ICH6_1, NULL))) | 1342 | PCI_DEVICE_ID_INTEL_ICH6_1, NULL))) |
1343 | sonypi_device.model = SONYPI_DEVICE_MODEL_TYPE3; | 1343 | sonypi_device.model = SONYPI_DEVICE_MODEL_TYPE3; |
1344 | else if ((pcidev = pci_get_device(PCI_VENDOR_ID_INTEL, | ||
1345 | PCI_DEVICE_ID_INTEL_ICH7_1, NULL))) | ||
1346 | sonypi_device.model = SONYPI_DEVICE_MODEL_TYPE3; | ||
1344 | else | 1347 | else |
1345 | sonypi_device.model = SONYPI_DEVICE_MODEL_TYPE2; | 1348 | sonypi_device.model = SONYPI_DEVICE_MODEL_TYPE2; |
1346 | 1349 | ||
diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c index 8e0f3158215f..dfca74933625 100644 --- a/drivers/i2c/busses/i2c-i801.c +++ b/drivers/i2c/busses/i2c-i801.c | |||
@@ -478,6 +478,11 @@ static s32 i801_access(struct i2c_adapter * adap, u16 addr, | |||
478 | ret = i801_transaction(); | 478 | ret = i801_transaction(); |
479 | } | 479 | } |
480 | 480 | ||
481 | /* Some BIOSes don't like it when PEC is enabled at reboot or resume | ||
482 | time, so we forcibly disable it after every transaction. */ | ||
483 | if (hwpec) | ||
484 | outb_p(0, SMBAUXCTL); | ||
485 | |||
481 | if(block) | 486 | if(block) |
482 | return ret; | 487 | return ret; |
483 | if(ret) | 488 | if(ret) |
diff --git a/drivers/md/md.c b/drivers/md/md.c index 434ca39d19c1..d7316b829a62 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -279,11 +279,6 @@ static inline int mddev_lock(mddev_t * mddev) | |||
279 | return mutex_lock_interruptible(&mddev->reconfig_mutex); | 279 | return mutex_lock_interruptible(&mddev->reconfig_mutex); |
280 | } | 280 | } |
281 | 281 | ||
282 | static inline void mddev_lock_uninterruptible(mddev_t * mddev) | ||
283 | { | ||
284 | mutex_lock(&mddev->reconfig_mutex); | ||
285 | } | ||
286 | |||
287 | static inline int mddev_trylock(mddev_t * mddev) | 282 | static inline int mddev_trylock(mddev_t * mddev) |
288 | { | 283 | { |
289 | return mutex_trylock(&mddev->reconfig_mutex); | 284 | return mutex_trylock(&mddev->reconfig_mutex); |
@@ -2458,9 +2453,11 @@ md_attr_show(struct kobject *kobj, struct attribute *attr, char *page) | |||
2458 | 2453 | ||
2459 | if (!entry->show) | 2454 | if (!entry->show) |
2460 | return -EIO; | 2455 | return -EIO; |
2461 | mddev_lock(mddev); | 2456 | rv = mddev_lock(mddev); |
2462 | rv = entry->show(mddev, page); | 2457 | if (!rv) { |
2463 | mddev_unlock(mddev); | 2458 | rv = entry->show(mddev, page); |
2459 | mddev_unlock(mddev); | ||
2460 | } | ||
2464 | return rv; | 2461 | return rv; |
2465 | } | 2462 | } |
2466 | 2463 | ||
@@ -2474,9 +2471,11 @@ md_attr_store(struct kobject *kobj, struct attribute *attr, | |||
2474 | 2471 | ||
2475 | if (!entry->store) | 2472 | if (!entry->store) |
2476 | return -EIO; | 2473 | return -EIO; |
2477 | mddev_lock(mddev); | 2474 | rv = mddev_lock(mddev); |
2478 | rv = entry->store(mddev, page, length); | 2475 | if (!rv) { |
2479 | mddev_unlock(mddev); | 2476 | rv = entry->store(mddev, page, length); |
2477 | mddev_unlock(mddev); | ||
2478 | } | ||
2480 | return rv; | 2479 | return rv; |
2481 | } | 2480 | } |
2482 | 2481 | ||
@@ -4341,8 +4340,9 @@ static int md_seq_show(struct seq_file *seq, void *v) | |||
4341 | return 0; | 4340 | return 0; |
4342 | } | 4341 | } |
4343 | 4342 | ||
4344 | if (mddev_lock(mddev)!=0) | 4343 | if (mddev_lock(mddev) < 0) |
4345 | return -EINTR; | 4344 | return -EINTR; |
4345 | |||
4346 | if (mddev->pers || mddev->raid_disks || !list_empty(&mddev->disks)) { | 4346 | if (mddev->pers || mddev->raid_disks || !list_empty(&mddev->disks)) { |
4347 | seq_printf(seq, "%s : %sactive", mdname(mddev), | 4347 | seq_printf(seq, "%s : %sactive", mdname(mddev), |
4348 | mddev->pers ? "" : "in"); | 4348 | mddev->pers ? "" : "in"); |
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 827550d25c9e..c42ae2cf8d64 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -865,6 +865,35 @@ static void __init quirk_eisa_bridge(struct pci_dev *dev) | |||
865 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82375, quirk_eisa_bridge ); | 865 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82375, quirk_eisa_bridge ); |
866 | 866 | ||
867 | /* | 867 | /* |
868 | * On the MSI-K8T-Neo2Fir Board, the internal Soundcard is disabled | ||
869 | * when a PCI-Soundcard is added. The BIOS only gives Options | ||
870 | * "Disabled" and "AUTO". This Quirk Sets the corresponding | ||
871 | * Register-Value to enable the Soundcard. | ||
872 | */ | ||
873 | static void __init k8t_sound_hostbridge(struct pci_dev *dev) | ||
874 | { | ||
875 | unsigned char val; | ||
876 | |||
877 | printk(KERN_INFO "PCI: Quirk-MSI-K8T Soundcard On\n"); | ||
878 | pci_read_config_byte(dev, 0x50, &val); | ||
879 | if (val == 0x88 || val == 0xc8) { | ||
880 | pci_write_config_byte(dev, 0x50, val & (~0x40)); | ||
881 | |||
882 | /* Verify the Change for Status output */ | ||
883 | pci_read_config_byte(dev, 0x50, &val); | ||
884 | if (val & 0x40) | ||
885 | printk(KERN_INFO "PCI: MSI-K8T soundcard still off\n"); | ||
886 | else | ||
887 | printk(KERN_INFO "PCI: MSI-K8T soundcard on\n"); | ||
888 | } else { | ||
889 | printk(KERN_INFO "PCI: Unexpected Value in PCI-Register: " | ||
890 | "no Change!\n"); | ||
891 | } | ||
892 | |||
893 | } | ||
894 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237, k8t_sound_hostbridge); | ||
895 | |||
896 | /* | ||
868 | * On ASUS P4B boards, the SMBus PCI Device within the ICH2/4 southbridge | 897 | * On ASUS P4B boards, the SMBus PCI Device within the ICH2/4 southbridge |
869 | * is not activated. The myth is that Asus said that they do not want the | 898 | * is not activated. The myth is that Asus said that they do not want the |
870 | * users to be irritated by just another PCI Device in the Win98 device | 899 | * users to be irritated by just another PCI Device in the Win98 device |
diff --git a/drivers/video/pm2fb.c b/drivers/video/pm2fb.c index 5fe197943deb..4e963930b50a 100644 --- a/drivers/video/pm2fb.c +++ b/drivers/video/pm2fb.c | |||
@@ -73,8 +73,8 @@ static char *mode __devinitdata = NULL; | |||
73 | * these flags allow the user to specify that requests for +ve sync | 73 | * these flags allow the user to specify that requests for +ve sync |
74 | * should be silently turned in -ve sync. | 74 | * should be silently turned in -ve sync. |
75 | */ | 75 | */ |
76 | static int lowhsync __devinitdata = 0; | 76 | static int lowhsync; |
77 | static int lowvsync __devinitdata = 0; | 77 | static int lowvsync; |
78 | 78 | ||
79 | /* | 79 | /* |
80 | * The hardware state of the graphics card that isn't part of the | 80 | * The hardware state of the graphics card that isn't part of the |
diff --git a/include/asm-i386/cpufeature.h b/include/asm-i386/cpufeature.h index 5c0b5876b931..b44bfc6239cb 100644 --- a/include/asm-i386/cpufeature.h +++ b/include/asm-i386/cpufeature.h | |||
@@ -71,6 +71,7 @@ | |||
71 | #define X86_FEATURE_P4 (3*32+ 7) /* P4 */ | 71 | #define X86_FEATURE_P4 (3*32+ 7) /* P4 */ |
72 | #define X86_FEATURE_CONSTANT_TSC (3*32+ 8) /* TSC ticks at a constant rate */ | 72 | #define X86_FEATURE_CONSTANT_TSC (3*32+ 8) /* TSC ticks at a constant rate */ |
73 | #define X86_FEATURE_UP (3*32+ 9) /* smp kernel running on up */ | 73 | #define X86_FEATURE_UP (3*32+ 9) /* smp kernel running on up */ |
74 | #define X86_FEATURE_FXSAVE_LEAK (3*32+10) /* FXSAVE leaks FOP/FIP/FOP */ | ||
74 | 75 | ||
75 | /* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ | 76 | /* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ |
76 | #define X86_FEATURE_XMM3 (4*32+ 0) /* Streaming SIMD Extensions-3 */ | 77 | #define X86_FEATURE_XMM3 (4*32+ 0) /* Streaming SIMD Extensions-3 */ |
diff --git a/include/asm-i386/i387.h b/include/asm-i386/i387.h index 152d0baa576a..7b1f01191e70 100644 --- a/include/asm-i386/i387.h +++ b/include/asm-i386/i387.h | |||
@@ -13,6 +13,7 @@ | |||
13 | 13 | ||
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/init.h> | 15 | #include <linux/init.h> |
16 | #include <linux/kernel_stat.h> | ||
16 | #include <asm/processor.h> | 17 | #include <asm/processor.h> |
17 | #include <asm/sigcontext.h> | 18 | #include <asm/sigcontext.h> |
18 | #include <asm/user.h> | 19 | #include <asm/user.h> |
@@ -38,17 +39,38 @@ extern void init_fpu(struct task_struct *); | |||
38 | extern void kernel_fpu_begin(void); | 39 | extern void kernel_fpu_begin(void); |
39 | #define kernel_fpu_end() do { stts(); preempt_enable(); } while(0) | 40 | #define kernel_fpu_end() do { stts(); preempt_enable(); } while(0) |
40 | 41 | ||
42 | /* We need a safe address that is cheap to find and that is already | ||
43 | in L1 during context switch. The best choices are unfortunately | ||
44 | different for UP and SMP */ | ||
45 | #ifdef CONFIG_SMP | ||
46 | #define safe_address (__per_cpu_offset[0]) | ||
47 | #else | ||
48 | #define safe_address (kstat_cpu(0).cpustat.user) | ||
49 | #endif | ||
50 | |||
41 | /* | 51 | /* |
42 | * These must be called with preempt disabled | 52 | * These must be called with preempt disabled |
43 | */ | 53 | */ |
44 | static inline void __save_init_fpu( struct task_struct *tsk ) | 54 | static inline void __save_init_fpu( struct task_struct *tsk ) |
45 | { | 55 | { |
56 | /* Use more nops than strictly needed in case the compiler | ||
57 | varies code */ | ||
46 | alternative_input( | 58 | alternative_input( |
47 | "fnsave %1 ; fwait ;" GENERIC_NOP2, | 59 | "fnsave %[fx] ;fwait;" GENERIC_NOP8 GENERIC_NOP4, |
48 | "fxsave %1 ; fnclex", | 60 | "fxsave %[fx]\n" |
61 | "bt $7,%[fsw] ; jc 1f ; fnclex\n1:", | ||
49 | X86_FEATURE_FXSR, | 62 | X86_FEATURE_FXSR, |
50 | "m" (tsk->thread.i387.fxsave) | 63 | [fx] "m" (tsk->thread.i387.fxsave), |
51 | :"memory"); | 64 | [fsw] "m" (tsk->thread.i387.fxsave.swd) : "memory"); |
65 | /* AMD K7/K8 CPUs don't save/restore FDP/FIP/FOP unless an exception | ||
66 | is pending. Clear the x87 state here by setting it to fixed | ||
67 | values. __per_cpu_offset[0] is a random variable that should be in L1 */ | ||
68 | alternative_input( | ||
69 | GENERIC_NOP8 GENERIC_NOP2, | ||
70 | "emms\n\t" /* clear stack tags */ | ||
71 | "fildl %[addr]", /* set F?P to defined value */ | ||
72 | X86_FEATURE_FXSAVE_LEAK, | ||
73 | [addr] "m" (safe_address)); | ||
52 | task_thread_info(tsk)->status &= ~TS_USEDFPU; | 74 | task_thread_info(tsk)->status &= ~TS_USEDFPU; |
53 | } | 75 | } |
54 | 76 | ||
diff --git a/include/asm-sparc/unistd.h b/include/asm-sparc/unistd.h index 2a911aa4cae9..45feff893b8e 100644 --- a/include/asm-sparc/unistd.h +++ b/include/asm-sparc/unistd.h | |||
@@ -248,7 +248,7 @@ | |||
248 | #define __NR_setfsgid 229 /* Linux Specific */ | 248 | #define __NR_setfsgid 229 /* Linux Specific */ |
249 | #define __NR__newselect 230 /* Linux Specific */ | 249 | #define __NR__newselect 230 /* Linux Specific */ |
250 | #define __NR_time 231 /* Linux Specific */ | 250 | #define __NR_time 231 /* Linux Specific */ |
251 | #define __NR_sys_splice 232 /* Linux Specific */ | 251 | #define __NR_splice 232 /* Linux Specific */ |
252 | #define __NR_stime 233 /* Linux Specific */ | 252 | #define __NR_stime 233 /* Linux Specific */ |
253 | #define __NR_statfs64 234 /* Linux Specific */ | 253 | #define __NR_statfs64 234 /* Linux Specific */ |
254 | #define __NR_fstatfs64 235 /* Linux Specific */ | 254 | #define __NR_fstatfs64 235 /* Linux Specific */ |
diff --git a/include/asm-sparc64/unistd.h b/include/asm-sparc64/unistd.h index 6ada6a871cc8..597f6923a46e 100644 --- a/include/asm-sparc64/unistd.h +++ b/include/asm-sparc64/unistd.h | |||
@@ -250,7 +250,7 @@ | |||
250 | #ifdef __KERNEL__ | 250 | #ifdef __KERNEL__ |
251 | #define __NR_time 231 /* Linux sparc32 */ | 251 | #define __NR_time 231 /* Linux sparc32 */ |
252 | #endif | 252 | #endif |
253 | #define __NR_sys_splice 232 /* Linux Specific */ | 253 | #define __NR_splice 232 /* Linux Specific */ |
254 | #define __NR_stime 233 /* Linux Specific */ | 254 | #define __NR_stime 233 /* Linux Specific */ |
255 | #define __NR_statfs64 234 /* Linux Specific */ | 255 | #define __NR_statfs64 234 /* Linux Specific */ |
256 | #define __NR_fstatfs64 235 /* Linux Specific */ | 256 | #define __NR_fstatfs64 235 /* Linux Specific */ |
diff --git a/include/asm-x86_64/cache.h b/include/asm-x86_64/cache.h index c8043a16152e..f8dff1c67538 100644 --- a/include/asm-x86_64/cache.h +++ b/include/asm-x86_64/cache.h | |||
@@ -20,8 +20,8 @@ | |||
20 | __attribute__((__section__(".data.page_aligned"))) | 20 | __attribute__((__section__(".data.page_aligned"))) |
21 | #endif | 21 | #endif |
22 | 22 | ||
23 | #define __read_mostly __attribute__((__section__(".data.read_mostly"))) | ||
24 | |||
25 | #endif | 23 | #endif |
26 | 24 | ||
25 | #define __read_mostly __attribute__((__section__(".data.read_mostly"))) | ||
26 | |||
27 | #endif | 27 | #endif |
diff --git a/include/asm-x86_64/cpufeature.h b/include/asm-x86_64/cpufeature.h index 76bb6193ae91..662964b74e34 100644 --- a/include/asm-x86_64/cpufeature.h +++ b/include/asm-x86_64/cpufeature.h | |||
@@ -64,6 +64,7 @@ | |||
64 | #define X86_FEATURE_REP_GOOD (3*32+ 4) /* rep microcode works well on this CPU */ | 64 | #define X86_FEATURE_REP_GOOD (3*32+ 4) /* rep microcode works well on this CPU */ |
65 | #define X86_FEATURE_CONSTANT_TSC (3*32+5) /* TSC runs at constant rate */ | 65 | #define X86_FEATURE_CONSTANT_TSC (3*32+5) /* TSC runs at constant rate */ |
66 | #define X86_FEATURE_SYNC_RDTSC (3*32+6) /* RDTSC syncs CPU core */ | 66 | #define X86_FEATURE_SYNC_RDTSC (3*32+6) /* RDTSC syncs CPU core */ |
67 | #define X86_FEATURE_FXSAVE_LEAK (3*32+7) /* FIP/FOP/FDP leaks through FXSAVE */ | ||
67 | 68 | ||
68 | /* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ | 69 | /* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ |
69 | #define X86_FEATURE_XMM3 (4*32+ 0) /* Streaming SIMD Extensions-3 */ | 70 | #define X86_FEATURE_XMM3 (4*32+ 0) /* Streaming SIMD Extensions-3 */ |
diff --git a/include/asm-x86_64/i387.h b/include/asm-x86_64/i387.h index 876eb9a2fe78..cba8a3b0cded 100644 --- a/include/asm-x86_64/i387.h +++ b/include/asm-x86_64/i387.h | |||
@@ -72,6 +72,23 @@ extern int set_fpregs(struct task_struct *tsk, | |||
72 | #define set_fpu_swd(t,val) ((t)->thread.i387.fxsave.swd = (val)) | 72 | #define set_fpu_swd(t,val) ((t)->thread.i387.fxsave.swd = (val)) |
73 | #define set_fpu_fxsr_twd(t,val) ((t)->thread.i387.fxsave.twd = (val)) | 73 | #define set_fpu_fxsr_twd(t,val) ((t)->thread.i387.fxsave.twd = (val)) |
74 | 74 | ||
75 | #define X87_FSW_ES (1 << 7) /* Exception Summary */ | ||
76 | |||
77 | /* AMD CPUs don't save/restore FDP/FIP/FOP unless an exception | ||
78 | is pending. Clear the x87 state here by setting it to fixed | ||
79 | values. The kernel data segment can be sometimes 0 and sometimes | ||
80 | new user value. Both should be ok. | ||
81 | Use the PDA as safe address because it should be already in L1. */ | ||
82 | static inline void clear_fpu_state(struct i387_fxsave_struct *fx) | ||
83 | { | ||
84 | if (unlikely(fx->swd & X87_FSW_ES)) | ||
85 | asm volatile("fnclex"); | ||
86 | alternative_input(ASM_NOP8 ASM_NOP2, | ||
87 | " emms\n" /* clear stack tags */ | ||
88 | " fildl %%gs:0", /* load to clear state */ | ||
89 | X86_FEATURE_FXSAVE_LEAK); | ||
90 | } | ||
91 | |||
75 | static inline int restore_fpu_checking(struct i387_fxsave_struct *fx) | 92 | static inline int restore_fpu_checking(struct i387_fxsave_struct *fx) |
76 | { | 93 | { |
77 | int err; | 94 | int err; |
@@ -119,6 +136,7 @@ static inline int save_i387_checking(struct i387_fxsave_struct __user *fx) | |||
119 | #endif | 136 | #endif |
120 | if (unlikely(err)) | 137 | if (unlikely(err)) |
121 | __clear_user(fx, sizeof(struct i387_fxsave_struct)); | 138 | __clear_user(fx, sizeof(struct i387_fxsave_struct)); |
139 | /* No need to clear here because the caller clears USED_MATH */ | ||
122 | return err; | 140 | return err; |
123 | } | 141 | } |
124 | 142 | ||
@@ -149,7 +167,7 @@ static inline void __fxsave_clear(struct task_struct *tsk) | |||
149 | "i" (offsetof(__typeof__(*tsk), | 167 | "i" (offsetof(__typeof__(*tsk), |
150 | thread.i387.fxsave))); | 168 | thread.i387.fxsave))); |
151 | #endif | 169 | #endif |
152 | __asm__ __volatile__("fnclex"); | 170 | clear_fpu_state(&tsk->thread.i387.fxsave); |
153 | } | 171 | } |
154 | 172 | ||
155 | static inline void kernel_fpu_begin(void) | 173 | static inline void kernel_fpu_begin(void) |
diff --git a/include/asm-xtensa/ioctls.h b/include/asm-xtensa/ioctls.h index 10c443435c11..3b89a772d0a0 100644 --- a/include/asm-xtensa/ioctls.h +++ b/include/asm-xtensa/ioctls.h | |||
@@ -107,6 +107,6 @@ | |||
107 | #define TIOCSERSETMULTI _IOW('T', 91, struct serial_multiport_struct) /* Set multiport config */ | 107 | #define TIOCSERSETMULTI _IOW('T', 91, struct serial_multiport_struct) /* Set multiport config */ |
108 | 108 | ||
109 | #define TIOCMIWAIT _IO('T', 92) /* wait for a change on serial input line(s) */ | 109 | #define TIOCMIWAIT _IO('T', 92) /* wait for a change on serial input line(s) */ |
110 | #define TIOCGICOUNT _IOR('T', 93, struct async_icount) /* read serial port inline interrupt counts */ | 110 | #define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ |
111 | 111 | ||
112 | #endif /* _XTENSA_IOCTLS_H */ | 112 | #endif /* _XTENSA_IOCTLS_H */ |
diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h index 4ca3e6ad03ec..911206386171 100644 --- a/include/linux/memory_hotplug.h +++ b/include/linux/memory_hotplug.h | |||
@@ -99,10 +99,7 @@ static inline int __remove_pages(struct zone *zone, unsigned long start_pfn, | |||
99 | return -ENOSYS; | 99 | return -ENOSYS; |
100 | } | 100 | } |
101 | 101 | ||
102 | #if defined(CONFIG_MEMORY_HOTPLUG) || defined(CONFIG_ACPI_HOTPLUG_MEMORY) \ | ||
103 | || defined(CONFIG_ACPI_HOTPLUG_MEMORY_MODULE) | ||
104 | extern int add_memory(u64 start, u64 size); | 102 | extern int add_memory(u64 start, u64 size); |
105 | extern int remove_memory(u64 start, u64 size); | 103 | extern int remove_memory(u64 start, u64 size); |
106 | #endif | ||
107 | 104 | ||
108 | #endif /* __LINUX_MEMORY_HOTPLUG_H */ | 105 | #endif /* __LINUX_MEMORY_HOTPLUG_H */ |
diff --git a/kernel/kprobes.c b/kernel/kprobes.c index 1156eb0977d0..1fbf466a29aa 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c | |||
@@ -585,6 +585,9 @@ int __kprobes register_kretprobe(struct kretprobe *rp) | |||
585 | int i; | 585 | int i; |
586 | 586 | ||
587 | rp->kp.pre_handler = pre_handler_kretprobe; | 587 | rp->kp.pre_handler = pre_handler_kretprobe; |
588 | rp->kp.post_handler = NULL; | ||
589 | rp->kp.fault_handler = NULL; | ||
590 | rp->kp.break_handler = NULL; | ||
588 | 591 | ||
589 | /* Pre-allocate memory for max kretprobe instances */ | 592 | /* Pre-allocate memory for max kretprobe instances */ |
590 | if (rp->maxactive <= 0) { | 593 | if (rp->maxactive <= 0) { |
diff --git a/mm/mempolicy.c b/mm/mempolicy.c index dec8249e972d..8778f58880c4 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c | |||
@@ -1761,7 +1761,6 @@ static void gather_stats(struct page *page, void *private, int pte_dirty) | |||
1761 | md->mapcount_max = count; | 1761 | md->mapcount_max = count; |
1762 | 1762 | ||
1763 | md->node[page_to_nid(page)]++; | 1763 | md->node[page_to_nid(page)]++; |
1764 | cond_resched(); | ||
1765 | } | 1764 | } |
1766 | 1765 | ||
1767 | #ifdef CONFIG_HUGETLB_PAGE | 1766 | #ifdef CONFIG_HUGETLB_PAGE |
diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c index 8687ae3c66b8..b49a45cbf67a 100644 --- a/sound/drivers/mpu401/mpu401_uart.c +++ b/sound/drivers/mpu401/mpu401_uart.c | |||
@@ -183,7 +183,8 @@ static void snd_mpu401_uart_remove_timer (struct snd_mpu401 *mpu, int input) | |||
183 | 183 | ||
184 | */ | 184 | */ |
185 | 185 | ||
186 | static void snd_mpu401_uart_cmd(struct snd_mpu401 * mpu, unsigned char cmd, int ack) | 186 | static int snd_mpu401_uart_cmd(struct snd_mpu401 * mpu, unsigned char cmd, |
187 | int ack) | ||
187 | { | 188 | { |
188 | unsigned long flags; | 189 | unsigned long flags; |
189 | int timeout, ok; | 190 | int timeout, ok; |
@@ -218,9 +219,11 @@ static void snd_mpu401_uart_cmd(struct snd_mpu401 * mpu, unsigned char cmd, int | |||
218 | ok = 1; | 219 | ok = 1; |
219 | } | 220 | } |
220 | spin_unlock_irqrestore(&mpu->input_lock, flags); | 221 | spin_unlock_irqrestore(&mpu->input_lock, flags); |
221 | if (! ok) | 222 | if (!ok) { |
222 | snd_printk("cmd: 0x%x failed at 0x%lx (status = 0x%x, data = 0x%x)\n", cmd, mpu->port, mpu->read(mpu, MPU401C(mpu)), mpu->read(mpu, MPU401D(mpu))); | 223 | snd_printk("cmd: 0x%x failed at 0x%lx (status = 0x%x, data = 0x%x)\n", cmd, mpu->port, mpu->read(mpu, MPU401C(mpu)), mpu->read(mpu, MPU401D(mpu))); |
223 | // snd_printk("cmd: 0x%x at 0x%lx (status = 0x%x, data = 0x%x)\n", cmd, mpu->port, mpu->read(mpu, MPU401C(mpu)), mpu->read(mpu, MPU401D(mpu))); | 224 | return 1; |
225 | } | ||
226 | return 0; | ||
224 | } | 227 | } |
225 | 228 | ||
226 | /* | 229 | /* |
@@ -235,12 +238,19 @@ static int snd_mpu401_uart_input_open(struct snd_rawmidi_substream *substream) | |||
235 | if (mpu->open_input && (err = mpu->open_input(mpu)) < 0) | 238 | if (mpu->open_input && (err = mpu->open_input(mpu)) < 0) |
236 | return err; | 239 | return err; |
237 | if (! test_bit(MPU401_MODE_BIT_OUTPUT, &mpu->mode)) { | 240 | if (! test_bit(MPU401_MODE_BIT_OUTPUT, &mpu->mode)) { |
238 | snd_mpu401_uart_cmd(mpu, MPU401_RESET, 1); | 241 | if (snd_mpu401_uart_cmd(mpu, MPU401_RESET, 1)) |
239 | snd_mpu401_uart_cmd(mpu, MPU401_ENTER_UART, 1); | 242 | goto error_out; |
243 | if (snd_mpu401_uart_cmd(mpu, MPU401_ENTER_UART, 1)) | ||
244 | goto error_out; | ||
240 | } | 245 | } |
241 | mpu->substream_input = substream; | 246 | mpu->substream_input = substream; |
242 | set_bit(MPU401_MODE_BIT_INPUT, &mpu->mode); | 247 | set_bit(MPU401_MODE_BIT_INPUT, &mpu->mode); |
243 | return 0; | 248 | return 0; |
249 | |||
250 | error_out: | ||
251 | if (mpu->open_input && mpu->close_input) | ||
252 | mpu->close_input(mpu); | ||
253 | return -EIO; | ||
244 | } | 254 | } |
245 | 255 | ||
246 | static int snd_mpu401_uart_output_open(struct snd_rawmidi_substream *substream) | 256 | static int snd_mpu401_uart_output_open(struct snd_rawmidi_substream *substream) |
@@ -252,39 +262,52 @@ static int snd_mpu401_uart_output_open(struct snd_rawmidi_substream *substream) | |||
252 | if (mpu->open_output && (err = mpu->open_output(mpu)) < 0) | 262 | if (mpu->open_output && (err = mpu->open_output(mpu)) < 0) |
253 | return err; | 263 | return err; |
254 | if (! test_bit(MPU401_MODE_BIT_INPUT, &mpu->mode)) { | 264 | if (! test_bit(MPU401_MODE_BIT_INPUT, &mpu->mode)) { |
255 | snd_mpu401_uart_cmd(mpu, MPU401_RESET, 1); | 265 | if (snd_mpu401_uart_cmd(mpu, MPU401_RESET, 1)) |
256 | snd_mpu401_uart_cmd(mpu, MPU401_ENTER_UART, 1); | 266 | goto error_out; |
267 | if (snd_mpu401_uart_cmd(mpu, MPU401_ENTER_UART, 1)) | ||
268 | goto error_out; | ||
257 | } | 269 | } |
258 | mpu->substream_output = substream; | 270 | mpu->substream_output = substream; |
259 | set_bit(MPU401_MODE_BIT_OUTPUT, &mpu->mode); | 271 | set_bit(MPU401_MODE_BIT_OUTPUT, &mpu->mode); |
260 | return 0; | 272 | return 0; |
273 | |||
274 | error_out: | ||
275 | if (mpu->open_output && mpu->close_output) | ||
276 | mpu->close_output(mpu); | ||
277 | return -EIO; | ||
261 | } | 278 | } |
262 | 279 | ||
263 | static int snd_mpu401_uart_input_close(struct snd_rawmidi_substream *substream) | 280 | static int snd_mpu401_uart_input_close(struct snd_rawmidi_substream *substream) |
264 | { | 281 | { |
265 | struct snd_mpu401 *mpu; | 282 | struct snd_mpu401 *mpu; |
283 | int err = 0; | ||
266 | 284 | ||
267 | mpu = substream->rmidi->private_data; | 285 | mpu = substream->rmidi->private_data; |
268 | clear_bit(MPU401_MODE_BIT_INPUT, &mpu->mode); | 286 | clear_bit(MPU401_MODE_BIT_INPUT, &mpu->mode); |
269 | mpu->substream_input = NULL; | 287 | mpu->substream_input = NULL; |
270 | if (! test_bit(MPU401_MODE_BIT_OUTPUT, &mpu->mode)) | 288 | if (! test_bit(MPU401_MODE_BIT_OUTPUT, &mpu->mode)) |
271 | snd_mpu401_uart_cmd(mpu, MPU401_RESET, 0); | 289 | err = snd_mpu401_uart_cmd(mpu, MPU401_RESET, 0); |
272 | if (mpu->close_input) | 290 | if (mpu->close_input) |
273 | mpu->close_input(mpu); | 291 | mpu->close_input(mpu); |
292 | if (err) | ||
293 | return -EIO; | ||
274 | return 0; | 294 | return 0; |
275 | } | 295 | } |
276 | 296 | ||
277 | static int snd_mpu401_uart_output_close(struct snd_rawmidi_substream *substream) | 297 | static int snd_mpu401_uart_output_close(struct snd_rawmidi_substream *substream) |
278 | { | 298 | { |
279 | struct snd_mpu401 *mpu; | 299 | struct snd_mpu401 *mpu; |
300 | int err = 0; | ||
280 | 301 | ||
281 | mpu = substream->rmidi->private_data; | 302 | mpu = substream->rmidi->private_data; |
282 | clear_bit(MPU401_MODE_BIT_OUTPUT, &mpu->mode); | 303 | clear_bit(MPU401_MODE_BIT_OUTPUT, &mpu->mode); |
283 | mpu->substream_output = NULL; | 304 | mpu->substream_output = NULL; |
284 | if (! test_bit(MPU401_MODE_BIT_INPUT, &mpu->mode)) | 305 | if (! test_bit(MPU401_MODE_BIT_INPUT, &mpu->mode)) |
285 | snd_mpu401_uart_cmd(mpu, MPU401_RESET, 0); | 306 | err = snd_mpu401_uart_cmd(mpu, MPU401_RESET, 0); |
286 | if (mpu->close_output) | 307 | if (mpu->close_output) |
287 | mpu->close_output(mpu); | 308 | mpu->close_output(mpu); |
309 | if (err) | ||
310 | return -EIO; | ||
288 | return 0; | 311 | return 0; |
289 | } | 312 | } |
290 | 313 | ||
@@ -316,6 +339,7 @@ static void snd_mpu401_uart_input_trigger(struct snd_rawmidi_substream *substrea | |||
316 | snd_mpu401_uart_remove_timer(mpu, 1); | 339 | snd_mpu401_uart_remove_timer(mpu, 1); |
317 | clear_bit(MPU401_MODE_BIT_INPUT_TRIGGER, &mpu->mode); | 340 | clear_bit(MPU401_MODE_BIT_INPUT_TRIGGER, &mpu->mode); |
318 | } | 341 | } |
342 | |||
319 | } | 343 | } |
320 | 344 | ||
321 | /* | 345 | /* |
diff --git a/sound/oss/Kconfig b/sound/oss/Kconfig index 88e52dc84c09..6275266dde2e 100644 --- a/sound/oss/Kconfig +++ b/sound/oss/Kconfig | |||
@@ -5,23 +5,9 @@ | |||
5 | # | 5 | # |
6 | # Prompt user for primary drivers. | 6 | # Prompt user for primary drivers. |
7 | 7 | ||
8 | config OBSOLETE_OSS_DRIVER | ||
9 | bool "Obsolete OSS drivers" | ||
10 | depends on SOUND_PRIME | ||
11 | help | ||
12 | This option enables support for obsolete OSS drivers that | ||
13 | are scheduled for removal in the near future since there | ||
14 | are ALSA drivers for the same hardware. | ||
15 | |||
16 | Please contact Adrian Bunk <bunk@stusta.de> if you had to | ||
17 | say Y here because your soundcard is not properly supported | ||
18 | by ALSA. | ||
19 | |||
20 | If unsure, say N. | ||
21 | |||
22 | config SOUND_BT878 | 8 | config SOUND_BT878 |
23 | tristate "BT878 audio dma" | 9 | tristate "BT878 audio dma" |
24 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | 10 | depends on SOUND_PRIME && PCI |
25 | ---help--- | 11 | ---help--- |
26 | Audio DMA support for bt878 based grabber boards. As you might have | 12 | Audio DMA support for bt878 based grabber boards. As you might have |
27 | already noticed, bt878 is listed with two functions in /proc/pci. | 13 | already noticed, bt878 is listed with two functions in /proc/pci. |
@@ -35,48 +21,9 @@ config SOUND_BT878 | |||
35 | To compile this driver as a module, choose M here: the module will | 21 | To compile this driver as a module, choose M here: the module will |
36 | be called btaudio. | 22 | be called btaudio. |
37 | 23 | ||
38 | config SOUND_CMPCI | ||
39 | tristate "C-Media PCI (CMI8338/8738)" | ||
40 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | ||
41 | help | ||
42 | Say Y or M if you have a PCI sound card using the CMI8338 | ||
43 | or the CMI8738 chipset. Data on these chips are available at | ||
44 | <http://www.cmedia.com.tw/>. | ||
45 | |||
46 | A userspace utility to control some internal registers of these | ||
47 | chips is available at | ||
48 | <http://member.nifty.ne.jp/Breeze/softwares/unix/cmictl-e.html>. | ||
49 | |||
50 | config SOUND_CMPCI_FM | ||
51 | bool "Enable legacy FM" | ||
52 | depends on SOUND_CMPCI && X86 | ||
53 | help | ||
54 | Say Y here to enable the legacy FM (frequency-modulation) synthesizer | ||
55 | support on a card using the CMI8338 or CMI8378 chipset. Even it is | ||
56 | enabled, you need to set fmio as proper value to enable it. | ||
57 | Say N here if you don't need this. | ||
58 | |||
59 | config SOUND_CMPCI_MIDI | ||
60 | bool "Enable legacy MPU-401" | ||
61 | depends on SOUND_CMPCI && X86 | ||
62 | help | ||
63 | Say Y here to enable the legacy MPU401 MIDI synthesizer support on a | ||
64 | card using the CMI8338 or CMI8378 chipset. Even it is enabled, | ||
65 | you need to set mpuio as proper value to enable it. | ||
66 | Say N here if you don't need this. | ||
67 | |||
68 | config SOUND_CMPCI_JOYSTICK | ||
69 | bool "Enable joystick" | ||
70 | depends on SOUND_CMPCI && X86 && (GAMEPORT=y || SOUND_CMPCI=GAMEPORT) | ||
71 | help | ||
72 | Say Y here in order to enable the joystick port on a sound card using | ||
73 | the CMI8338 or the CMI8738 chipset. You need to config the | ||
74 | gameport support and set joystick parameter as 1 to use it. | ||
75 | Say N here if you don't need this. | ||
76 | |||
77 | config SOUND_EMU10K1 | 24 | config SOUND_EMU10K1 |
78 | tristate "Creative SBLive! (EMU10K1)" | 25 | tristate "Creative SBLive! (EMU10K1)" |
79 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | 26 | depends on SOUND_PRIME && PCI |
80 | ---help--- | 27 | ---help--- |
81 | Say Y or M if you have a PCI sound card using the EMU10K1 chipset, | 28 | Say Y or M if you have a PCI sound card using the EMU10K1 chipset, |
82 | such as the Creative SBLive!, SB PCI512 or Emu-APS. | 29 | such as the Creative SBLive!, SB PCI512 or Emu-APS. |
@@ -108,13 +55,6 @@ config SOUND_FUSION | |||
108 | series) when wired as native sound drivers with AC97 codecs. If | 55 | series) when wired as native sound drivers with AC97 codecs. If |
109 | this driver does not work try the CS4232 driver. | 56 | this driver does not work try the CS4232 driver. |
110 | 57 | ||
111 | config SOUND_CS4281 | ||
112 | tristate "Crystal Sound CS4281" | ||
113 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | ||
114 | help | ||
115 | Picture and feature list at | ||
116 | <http://www.pcbroker.com/crystal4281.html>. | ||
117 | |||
118 | config SOUND_BCM_CS4297A | 58 | config SOUND_BCM_CS4297A |
119 | tristate "Crystal Sound CS4297a (for Swarm)" | 59 | tristate "Crystal Sound CS4297a (for Swarm)" |
120 | depends on SOUND_PRIME && SIBYTE_SWARM | 60 | depends on SOUND_PRIME && SIBYTE_SWARM |
@@ -125,22 +65,9 @@ config SOUND_BCM_CS4297A | |||
125 | note that CONFIG_KGDB should not be enabled at the same | 65 | note that CONFIG_KGDB should not be enabled at the same |
126 | time, since it also attempts to use this UART port. | 66 | time, since it also attempts to use this UART port. |
127 | 67 | ||
128 | config SOUND_ES1370 | ||
129 | tristate "Ensoniq AudioPCI (ES1370)" | ||
130 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | ||
131 | help | ||
132 | Say Y or M if you have a PCI sound card utilizing the Ensoniq | ||
133 | ES1370 chipset, such as Ensoniq's AudioPCI (non-97). To find | ||
134 | out if your sound card uses an ES1370 without removing your | ||
135 | computer's cover, use lspci -n and look for the PCI ID | ||
136 | 1274:5000. Since Ensoniq was bought by Creative Labs, | ||
137 | Sound Blaster 64/PCI models are either ES1370 or ES1371 based. | ||
138 | This driver differs slightly from OSS/Free, so PLEASE READ | ||
139 | <file:Documentation/sound/oss/es1370>. | ||
140 | |||
141 | config SOUND_ES1371 | 68 | config SOUND_ES1371 |
142 | tristate "Creative Ensoniq AudioPCI 97 (ES1371)" | 69 | tristate "Creative Ensoniq AudioPCI 97 (ES1371)" |
143 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | 70 | depends on SOUND_PRIME && PCI |
144 | help | 71 | help |
145 | Say Y or M if you have a PCI sound card utilizing the Ensoniq | 72 | Say Y or M if you have a PCI sound card utilizing the Ensoniq |
146 | ES1371 chipset, such as Ensoniq's AudioPCI97. To find out if | 73 | ES1371 chipset, such as Ensoniq's AudioPCI97. To find out if |
@@ -151,33 +78,6 @@ config SOUND_ES1371 | |||
151 | slightly from OSS/Free, so PLEASE READ | 78 | slightly from OSS/Free, so PLEASE READ |
152 | <file:Documentation/sound/oss/es1371>. | 79 | <file:Documentation/sound/oss/es1371>. |
153 | 80 | ||
154 | config SOUND_ESSSOLO1 | ||
155 | tristate "ESS Technology Solo1" | ||
156 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | ||
157 | help | ||
158 | Say Y or M if you have a PCI sound card utilizing the ESS Technology | ||
159 | Solo1 chip. To find out if your sound card uses a | ||
160 | Solo1 chip without removing your computer's cover, use | ||
161 | lspci -n and look for the PCI ID 125D:1969. This driver | ||
162 | differs slightly from OSS/Free, so PLEASE READ | ||
163 | <file:Documentation/sound/oss/solo1>. | ||
164 | |||
165 | config SOUND_MAESTRO | ||
166 | tristate "ESS Maestro, Maestro2, Maestro2E driver" | ||
167 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | ||
168 | help | ||
169 | Say Y or M if you have a sound system driven by ESS's Maestro line | ||
170 | of PCI sound chips. These include the Maestro 1, Maestro 2, and | ||
171 | Maestro 2E. See <file:Documentation/sound/oss/Maestro> for more | ||
172 | details. | ||
173 | |||
174 | config SOUND_MAESTRO3 | ||
175 | tristate "ESS Maestro3/Allegro driver (EXPERIMENTAL)" | ||
176 | depends on SOUND_PRIME && PCI && EXPERIMENTAL && OBSOLETE_OSS_DRIVER | ||
177 | help | ||
178 | Say Y or M if you have a sound system driven by ESS's Maestro 3 | ||
179 | PCI sound chip. | ||
180 | |||
181 | config SOUND_ICH | 81 | config SOUND_ICH |
182 | tristate "Intel ICH (i8xx) audio support" | 82 | tristate "Intel ICH (i8xx) audio support" |
183 | depends on SOUND_PRIME && PCI | 83 | depends on SOUND_PRIME && PCI |
@@ -185,24 +85,6 @@ config SOUND_ICH | |||
185 | Support for integral audio in Intel's I/O Controller Hub (ICH) | 85 | Support for integral audio in Intel's I/O Controller Hub (ICH) |
186 | chipset, as used on the 810/820/840 motherboards. | 86 | chipset, as used on the 810/820/840 motherboards. |
187 | 87 | ||
188 | config SOUND_HARMONY | ||
189 | tristate "PA Harmony audio driver" | ||
190 | depends on GSC_LASI && SOUND_PRIME && OBSOLETE_OSS_DRIVER | ||
191 | help | ||
192 | Say 'Y' or 'M' to include support for Harmony soundchip | ||
193 | on HP 712, 715/new and many other GSC based machines. | ||
194 | |||
195 | config SOUND_SONICVIBES | ||
196 | tristate "S3 SonicVibes" | ||
197 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | ||
198 | help | ||
199 | Say Y or M if you have a PCI sound card utilizing the S3 | ||
200 | SonicVibes chipset. To find out if your sound card uses a | ||
201 | SonicVibes chip without removing your computer's cover, use | ||
202 | lspci -n and look for the PCI ID 5333:CA00. This driver | ||
203 | differs slightly from OSS/Free, so PLEASE READ | ||
204 | <file:Documentation/sound/oss/sonicvibes>. | ||
205 | |||
206 | config SOUND_VWSND | 88 | config SOUND_VWSND |
207 | tristate "SGI Visual Workstation Sound" | 89 | tristate "SGI Visual Workstation Sound" |
208 | depends on SOUND_PRIME && X86_VISWS | 90 | depends on SOUND_PRIME && X86_VISWS |
@@ -231,10 +113,6 @@ config SOUND_VRC5477 | |||
231 | integrated, multi-function controller chip for MIPS CPUs. Works | 113 | integrated, multi-function controller chip for MIPS CPUs. Works |
232 | with the AC97 codec. | 114 | with the AC97 codec. |
233 | 115 | ||
234 | config SOUND_AU1000 | ||
235 | tristate "Au1000 Sound" | ||
236 | depends on SOUND_PRIME && (SOC_AU1000 || SOC_AU1100 || SOC_AU1500) && OBSOLETE_OSS_DRIVER | ||
237 | |||
238 | config SOUND_AU1550_AC97 | 116 | config SOUND_AU1550_AC97 |
239 | tristate "Au1550 AC97 Sound" | 117 | tristate "Au1550 AC97 Sound" |
240 | depends on SOUND_PRIME && SOC_AU1550 | 118 | depends on SOUND_PRIME && SOC_AU1550 |
@@ -507,7 +385,7 @@ config MSND_FIFOSIZE | |||
507 | 385 | ||
508 | config SOUND_VIA82CXXX | 386 | config SOUND_VIA82CXXX |
509 | tristate "VIA 82C686 Audio Codec" | 387 | tristate "VIA 82C686 Audio Codec" |
510 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | 388 | depends on SOUND_PRIME && PCI |
511 | help | 389 | help |
512 | Say Y here to include support for the audio codec found on VIA | 390 | Say Y here to include support for the audio codec found on VIA |
513 | 82Cxxx-based chips. Typically these are built into a motherboard. | 391 | 82Cxxx-based chips. Typically these are built into a motherboard. |
@@ -576,18 +454,6 @@ config SOUND_AD1889 | |||
576 | Say M here if you have a sound card based on the Analog Devices | 454 | Say M here if you have a sound card based on the Analog Devices |
577 | AD1889 chip. | 455 | AD1889 chip. |
578 | 456 | ||
579 | config SOUND_SGALAXY | ||
580 | tristate "Aztech Sound Galaxy (non-PnP) cards" | ||
581 | depends on SOUND_OSS && OBSOLETE_OSS_DRIVER | ||
582 | help | ||
583 | This module initializes the older non Plug and Play sound galaxy | ||
584 | cards from Aztech. It supports the Waverider Pro 32 - 3D and the | ||
585 | Galaxy Washington 16. | ||
586 | |||
587 | If you compile the driver into the kernel, you have to add | ||
588 | "sgalaxy=<io>,<irq>,<dma>,<dma2>,<sgbase>" to the kernel command | ||
589 | line. | ||
590 | |||
591 | config SOUND_ADLIB | 457 | config SOUND_ADLIB |
592 | tristate "Adlib Cards" | 458 | tristate "Adlib Cards" |
593 | depends on SOUND_OSS | 459 | depends on SOUND_OSS |
@@ -612,56 +478,6 @@ config SOUND_ACI_MIXER | |||
612 | 478 | ||
613 | This driver is also available as a module and will be called aci. | 479 | This driver is also available as a module and will be called aci. |
614 | 480 | ||
615 | config SOUND_CS4232 | ||
616 | tristate "Crystal CS4232 based (PnP) cards" | ||
617 | depends on SOUND_OSS && OBSOLETE_OSS_DRIVER | ||
618 | help | ||
619 | Say Y here if you have a card based on the Crystal CS4232 chip set, | ||
620 | which uses its own Plug and Play protocol. | ||
621 | |||
622 | If you compile the driver into the kernel, you have to add | ||
623 | "cs4232=<io>,<irq>,<dma>,<dma2>,<mpuio>,<mpuirq>" to the kernel | ||
624 | command line. | ||
625 | |||
626 | See <file:Documentation/sound/oss/CS4232> for more information on | ||
627 | configuring this card. | ||
628 | |||
629 | config SOUND_SSCAPE | ||
630 | tristate "Ensoniq SoundScape support" | ||
631 | depends on SOUND_OSS && OBSOLETE_OSS_DRIVER | ||
632 | help | ||
633 | Answer Y if you have a sound card based on the Ensoniq SoundScape | ||
634 | chipset. Such cards are being manufactured at least by Ensoniq, Spea | ||
635 | and Reveal (Reveal makes also other cards). | ||
636 | |||
637 | If you compile the driver into the kernel, you have to add | ||
638 | "sscape=<io>,<irq>,<dma>,<mpuio>,<mpuirq>" to the kernel command | ||
639 | line. | ||
640 | |||
641 | config SOUND_GUS | ||
642 | tristate "Gravis Ultrasound support" | ||
643 | depends on SOUND_OSS && OBSOLETE_OSS_DRIVER | ||
644 | help | ||
645 | Say Y here for any type of Gravis Ultrasound card, including the GUS | ||
646 | or GUS MAX. See also <file:Documentation/sound/oss/ultrasound> for more | ||
647 | information on configuring this card with modules. | ||
648 | |||
649 | If you compile the driver into the kernel, you have to add | ||
650 | "gus=<io>,<irq>,<dma>,<dma2>" to the kernel command line. | ||
651 | |||
652 | config SOUND_GUS16 | ||
653 | bool "16 bit sampling option of GUS (_NOT_ GUS MAX)" | ||
654 | depends on SOUND_GUS | ||
655 | help | ||
656 | Support for Gravis Ulstrasound (GUS) cards (other than the GUS), | ||
657 | sampling at 16-bit width. | ||
658 | |||
659 | config SOUND_GUSMAX | ||
660 | bool "GUS MAX support" | ||
661 | depends on SOUND_GUS | ||
662 | help | ||
663 | Support for Gravis Ulstrasound MAX. | ||
664 | |||
665 | config SOUND_VMIDI | 481 | config SOUND_VMIDI |
666 | tristate "Loopback MIDI device support" | 482 | tristate "Loopback MIDI device support" |
667 | depends on SOUND_OSS | 483 | depends on SOUND_OSS |
@@ -742,7 +558,7 @@ config SOUND_MPU401 | |||
742 | 558 | ||
743 | config SOUND_NM256 | 559 | config SOUND_NM256 |
744 | tristate "NM256AV/NM256ZX audio support" | 560 | tristate "NM256AV/NM256ZX audio support" |
745 | depends on SOUND_OSS && OBSOLETE_OSS_DRIVER | 561 | depends on SOUND_OSS |
746 | help | 562 | help |
747 | Say M here to include audio support for the NeoMagic 256AV/256ZX | 563 | Say M here to include audio support for the NeoMagic 256AV/256ZX |
748 | chipsets. These are the audio chipsets found in the Sony | 564 | chipsets. These are the audio chipsets found in the Sony |
@@ -752,35 +568,6 @@ config SOUND_NM256 | |||
752 | 568 | ||
753 | See <file:Documentation/sound/oss/NM256> for further information. | 569 | See <file:Documentation/sound/oss/NM256> for further information. |
754 | 570 | ||
755 | config SOUND_MAD16 | ||
756 | tristate "OPTi MAD16 and/or Mozart based cards" | ||
757 | depends on SOUND_OSS && OBSOLETE_OSS_DRIVER | ||
758 | ---help--- | ||
759 | Answer Y if your card has a Mozart (OAK OTI-601) or MAD16 (OPTi | ||
760 | 82C928 or 82C929 or 82C931) audio interface chip. These chips are | ||
761 | quite common so it's possible that many no-name cards have one of | ||
762 | them. In addition the MAD16 chip is used in some cards made by known | ||
763 | manufacturers such as Turtle Beach (Tropez), Reveal (some models) | ||
764 | and Diamond (latest ones). Note however that the Tropez sound cards | ||
765 | have their own driver; if you have one of those, say N here and Y or | ||
766 | M to "Full support for Turtle Beach WaveFront", below. | ||
767 | |||
768 | If you compile the driver into the kernel, you have to add | ||
769 | "mad16=<io>,<irq>,<dma>,<dma2>,<mpuio>,<mpuirq>" to the | ||
770 | kernel command line. | ||
771 | |||
772 | See also <file:Documentation/sound/oss/Opti> and | ||
773 | <file:Documentation/sound/oss/MAD16> for more information on setting | ||
774 | these cards up as modules. | ||
775 | |||
776 | config MAD16_OLDCARD | ||
777 | bool "Support MIDI in older MAD16 based cards (requires SB)" | ||
778 | depends on SOUND_MAD16 | ||
779 | help | ||
780 | Answer Y (or M) if you have an older card based on the C928 or | ||
781 | Mozart chipset and you want to have MIDI support. If you enable this | ||
782 | option you also need to enable support for Sound Blaster. | ||
783 | |||
784 | config SOUND_PAS | 571 | config SOUND_PAS |
785 | tristate "ProAudioSpectrum 16 support" | 572 | tristate "ProAudioSpectrum 16 support" |
786 | depends on SOUND_OSS | 573 | depends on SOUND_OSS |
@@ -873,53 +660,9 @@ config SOUND_SB | |||
873 | You can say M here to compile this driver as a module; the module is | 660 | You can say M here to compile this driver as a module; the module is |
874 | called sb. | 661 | called sb. |
875 | 662 | ||
876 | config SOUND_AWE32_SYNTH | ||
877 | tristate "AWE32 synth" | ||
878 | depends on SOUND_OSS && OBSOLETE_OSS_DRIVER | ||
879 | help | ||
880 | Say Y here if you have a Sound Blaster SB32, AWE32-PnP, SB AWE64 or | ||
881 | similar sound card. See <file:Documentation/sound/oss/README.awe>, | ||
882 | <file:Documentation/sound/oss/AWE32> and the Soundblaster-AWE | ||
883 | mini-HOWTO, available from <http://www.tldp.org/docs.html#howto> | ||
884 | for more info. | ||
885 | |||
886 | config SOUND_WAVEFRONT | ||
887 | tristate "Full support for Turtle Beach WaveFront (Tropez Plus, Tropez, Maui) synth/soundcards" | ||
888 | depends on SOUND_OSS && m && OBSOLETE_OSS_DRIVER | ||
889 | help | ||
890 | Answer Y or M if you have a Tropez Plus, Tropez or Maui sound card | ||
891 | and read the files <file:Documentation/sound/oss/Wavefront> and | ||
892 | <file:Documentation/sound/oss/Tropez+>. | ||
893 | |||
894 | config SOUND_MAUI | ||
895 | tristate "Limited support for Turtle Beach Wave Front (Maui, Tropez) synthesizers" | ||
896 | depends on SOUND_OSS && OBSOLETE_OSS_DRIVER | ||
897 | help | ||
898 | Say Y here if you have a Turtle Beach Wave Front, Maui, or Tropez | ||
899 | sound card. | ||
900 | |||
901 | If you compile the driver into the kernel, you have to add | ||
902 | "maui=<io>,<irq>" to the kernel command line. | ||
903 | |||
904 | config MAUI_HAVE_BOOT | ||
905 | bool "Have OSWF.MOT firmware file" | ||
906 | depends on SOUND_MAUI=y && !STANDALONE | ||
907 | help | ||
908 | Turtle Beach Maui and Tropez sound cards have a microcontroller | ||
909 | which needs to be initialized prior to use. OSWF.MOT is a file | ||
910 | distributed with the card's DOS/Windows drivers. Answer Y if you | ||
911 | have this file. | ||
912 | |||
913 | config MAUI_BOOT_FILE | ||
914 | string "Full pathname of OSWF.MOT firmware file" | ||
915 | depends on MAUI_HAVE_BOOT | ||
916 | default "/etc/sound/oswf.mot" | ||
917 | help | ||
918 | Enter the full pathname of your OSWF.MOT file, starting from /. | ||
919 | |||
920 | config SOUND_YM3812 | 663 | config SOUND_YM3812 |
921 | tristate "Yamaha FM synthesizer (YM3812/OPL-3) support" | 664 | tristate "Yamaha FM synthesizer (YM3812/OPL-3) support" |
922 | depends on SOUND_OSS && OBSOLETE_OSS_DRIVER | 665 | depends on SOUND_OSS |
923 | ---help--- | 666 | ---help--- |
924 | Answer Y if your card has a FM chip made by Yamaha (OPL2/OPL3/OPL4). | 667 | Answer Y if your card has a FM chip made by Yamaha (OPL2/OPL3/OPL4). |
925 | Answering Y is usually a safe and recommended choice, however some | 668 | Answering Y is usually a safe and recommended choice, however some |
@@ -933,18 +676,6 @@ config SOUND_YM3812 | |||
933 | 676 | ||
934 | If unsure, say Y. | 677 | If unsure, say Y. |
935 | 678 | ||
936 | config SOUND_OPL3SA1 | ||
937 | tristate "Yamaha OPL3-SA1 audio controller" | ||
938 | depends on SOUND_OSS && OBSOLETE_OSS_DRIVER | ||
939 | help | ||
940 | Say Y or M if you have a Yamaha OPL3-SA1 sound chip, which is | ||
941 | usually built into motherboards. Read | ||
942 | <file:Documentation/sound/oss/OPL3-SA> for details. | ||
943 | |||
944 | If you compile the driver into the kernel, you have to add | ||
945 | "opl3sa=<io>,<irq>,<dma>,<dma2>,<mpuio>,<mpuirq>" to the kernel | ||
946 | command line. | ||
947 | |||
948 | config SOUND_OPL3SA2 | 679 | config SOUND_OPL3SA2 |
949 | tristate "Yamaha OPL3-SA2 and SA3 based PnP cards" | 680 | tristate "Yamaha OPL3-SA2 and SA3 based PnP cards" |
950 | depends on SOUND_OSS | 681 | depends on SOUND_OSS |
@@ -959,19 +690,6 @@ config SOUND_OPL3SA2 | |||
959 | "opl3sa2=<io>,<irq>,<dma>,<dma2>,<mssio>,<mpuio>" to the kernel | 690 | "opl3sa2=<io>,<irq>,<dma>,<dma2>,<mssio>,<mpuio>" to the kernel |
960 | command line. | 691 | command line. |
961 | 692 | ||
962 | config SOUND_YMFPCI | ||
963 | tristate "Yamaha YMF7xx PCI audio (native mode)" | ||
964 | depends on SOUND_OSS && PCI && OBSOLETE_OSS_DRIVER | ||
965 | help | ||
966 | Support for Yamaha cards including the YMF711, YMF715, YMF718, | ||
967 | YMF719, YMF724, Waveforce 192XG, and Waveforce 192 Digital. | ||
968 | |||
969 | config SOUND_YMFPCI_LEGACY | ||
970 | bool "Yamaha PCI legacy ports support" | ||
971 | depends on SOUND_YMFPCI | ||
972 | help | ||
973 | Support for YMF7xx PCI cards emulating an MP401. | ||
974 | |||
975 | config SOUND_UART6850 | 693 | config SOUND_UART6850 |
976 | tristate "6850 UART support" | 694 | tristate "6850 UART support" |
977 | depends on SOUND_OSS | 695 | depends on SOUND_OSS |
@@ -1101,30 +819,6 @@ config SOUND_KAHLUA | |||
1101 | tristate "XpressAudio Sound Blaster emulation" | 819 | tristate "XpressAudio Sound Blaster emulation" |
1102 | depends on SOUND_SB | 820 | depends on SOUND_SB |
1103 | 821 | ||
1104 | config SOUND_ALI5455 | ||
1105 | tristate "ALi5455 audio support" | ||
1106 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | ||
1107 | |||
1108 | config SOUND_FORTE | ||
1109 | tristate "ForteMedia FM801 driver" | ||
1110 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | ||
1111 | help | ||
1112 | Say Y or M if you want driver support for the ForteMedia FM801 PCI | ||
1113 | audio controller (Abit AU10, Genius Sound Maker, HP Workstation | ||
1114 | zx2000, and others). | ||
1115 | |||
1116 | config SOUND_RME96XX | ||
1117 | tristate "RME Hammerfall (RME96XX) support" | ||
1118 | depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER | ||
1119 | help | ||
1120 | Say Y or M if you have a Hammerfall or Hammerfall light | ||
1121 | multichannel card from RME. If you want to access advanced | ||
1122 | features of the card, read <file:Documentation/sound/oss/rme96xx>. | ||
1123 | |||
1124 | config SOUND_AD1980 | ||
1125 | tristate "AD1980 front/back switch plugin" | ||
1126 | depends on SOUND_PRIME && OBSOLETE_OSS_DRIVER | ||
1127 | |||
1128 | config SOUND_SH_DAC_AUDIO | 822 | config SOUND_SH_DAC_AUDIO |
1129 | tristate "SuperH DAC audio support" | 823 | tristate "SuperH DAC audio support" |
1130 | depends on SOUND_PRIME && CPU_SH3 | 824 | depends on SOUND_PRIME && CPU_SH3 |