aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/feature-removal-schedule.txt5
-rw-r--r--MAINTAINERS7
-rw-r--r--arch/i386/kernel/cpu/amd.c2
-rw-r--r--arch/x86_64/kernel/process.c4
-rw-r--r--arch/x86_64/kernel/setup.c4
-rw-r--r--drivers/char/cs5535_gpio.c5
-rw-r--r--drivers/char/sonypi.c3
-rw-r--r--drivers/i2c/busses/i2c-i801.c5
-rw-r--r--drivers/md/md.c24
-rw-r--r--drivers/pci/quirks.c29
-rw-r--r--drivers/video/pm2fb.c4
-rw-r--r--include/asm-i386/cpufeature.h1
-rw-r--r--include/asm-i386/i387.h30
-rw-r--r--include/asm-sparc/unistd.h2
-rw-r--r--include/asm-sparc64/unistd.h2
-rw-r--r--include/asm-x86_64/cache.h4
-rw-r--r--include/asm-x86_64/cpufeature.h1
-rw-r--r--include/asm-x86_64/i387.h20
-rw-r--r--include/asm-xtensa/ioctls.h2
-rw-r--r--include/linux/memory_hotplug.h3
-rw-r--r--kernel/kprobes.c3
-rw-r--r--mm/mempolicy.c1
-rw-r--r--sound/drivers/mpu401/mpu401_uart.c42
-rw-r--r--sound/oss/Kconfig318
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
28What: drivers depending on OBSOLETE_OSS_DRIVER 28What: drivers that were depending on OBSOLETE_OSS_DRIVER
29When: January 2006 29 (config options already removed)
30When: before 2.6.19
30Why: OSS drivers with ALSA replacements 31Why: OSS drivers with ALSA replacements
31Who: Adrian Bunk <bunk@stusta.de> 32Who: 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
1458L: openib-general@openib.org 1458L: openib-general@openib.org
1459S: Supported 1459S: Supported
1460 1460
1461IPMI SUBSYSTEM
1462P: Corey Minyard
1463M: minyard@acm.org
1464L: openipmi-developer@lists.sourceforge.net
1465W: http://openipmi.sourceforge.net/
1466S: Supported
1467
1461IPX NETWORK LAYER 1468IPX NETWORK LAYER
1462P: Arnaldo Carvalho de Melo 1469P: Arnaldo Carvalho de Melo
1463M: acme@conectiva.com.br 1470M: 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)
241static void __exit cs5535_gpio_cleanup(void) 241static 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
249module_init(cs5535_gpio_init); 250module_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
282static inline void mddev_lock_uninterruptible(mddev_t * mddev)
283{
284 mutex_lock(&mddev->reconfig_mutex);
285}
286
287static inline int mddev_trylock(mddev_t * mddev) 282static 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)
865DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82375, quirk_eisa_bridge ); 865DECLARE_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 */
873static 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}
894DECLARE_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 */
76static int lowhsync __devinitdata = 0; 76static int lowhsync;
77static int lowvsync __devinitdata = 0; 77static 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 *);
38extern void kernel_fpu_begin(void); 39extern 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 */
44static inline void __save_init_fpu( struct task_struct *tsk ) 54static 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. */
82static 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
75static inline int restore_fpu_checking(struct i387_fxsave_struct *fx) 92static 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
155static inline void kernel_fpu_begin(void) 173static 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)
104extern int add_memory(u64 start, u64 size); 102extern int add_memory(u64 start, u64 size);
105extern int remove_memory(u64 start, u64 size); 103extern 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
186static void snd_mpu401_uart_cmd(struct snd_mpu401 * mpu, unsigned char cmd, int ack) 186static 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
250error_out:
251 if (mpu->open_input && mpu->close_input)
252 mpu->close_input(mpu);
253 return -EIO;
244} 254}
245 255
246static int snd_mpu401_uart_output_open(struct snd_rawmidi_substream *substream) 256static 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
274error_out:
275 if (mpu->open_output && mpu->close_output)
276 mpu->close_output(mpu);
277 return -EIO;
261} 278}
262 279
263static int snd_mpu401_uart_input_close(struct snd_rawmidi_substream *substream) 280static 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
277static int snd_mpu401_uart_output_close(struct snd_rawmidi_substream *substream) 297static 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
8config 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
22config SOUND_BT878 8config 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
38config 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
50config 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
59config 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
68config 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
77config SOUND_EMU10K1 24config 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
111config 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
118config SOUND_BCM_CS4297A 58config 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
128config 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
141config SOUND_ES1371 68config 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
154config 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
165config 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
174config 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
181config SOUND_ICH 81config 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
188config 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
195config 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
206config SOUND_VWSND 88config 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
234config SOUND_AU1000
235 tristate "Au1000 Sound"
236 depends on SOUND_PRIME && (SOC_AU1000 || SOC_AU1100 || SOC_AU1500) && OBSOLETE_OSS_DRIVER
237
238config SOUND_AU1550_AC97 116config 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
508config SOUND_VIA82CXXX 386config 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
579config 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
591config SOUND_ADLIB 457config 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
615config 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
629config 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
641config 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
652config 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
659config SOUND_GUSMAX
660 bool "GUS MAX support"
661 depends on SOUND_GUS
662 help
663 Support for Gravis Ulstrasound MAX.
664
665config SOUND_VMIDI 481config 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
743config SOUND_NM256 559config 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
755config 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
776config 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
784config SOUND_PAS 571config 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
876config 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
886config 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
894config 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
904config 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
913config 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
920config SOUND_YM3812 663config 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
936config 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
948config SOUND_OPL3SA2 679config 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
962config 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
969config 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
975config SOUND_UART6850 693config 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
1104config SOUND_ALI5455
1105 tristate "ALi5455 audio support"
1106 depends on SOUND_PRIME && PCI && OBSOLETE_OSS_DRIVER
1107
1108config 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
1116config 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
1124config SOUND_AD1980
1125 tristate "AD1980 front/back switch plugin"
1126 depends on SOUND_PRIME && OBSOLETE_OSS_DRIVER
1127
1128config SOUND_SH_DAC_AUDIO 822config 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