aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/powerpc/booting-without-of.txt19
-rw-r--r--Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl8
-rw-r--r--arch/arm/configs/ep93xx_defconfig123
-rw-r--r--arch/arm/configs/iop13xx_defconfig99
-rw-r--r--arch/arm/configs/iop32x_defconfig213
-rw-r--r--arch/arm/configs/iop33x_defconfig110
-rw-r--r--arch/arm/configs/ixp2000_defconfig114
-rw-r--r--arch/arm/configs/ixp23xx_defconfig136
-rw-r--r--arch/arm/configs/lpd270_defconfig103
-rw-r--r--arch/arm/configs/onearm_defconfig126
-rw-r--r--arch/arm/kernel/calls.S24
-rw-r--r--arch/arm/kernel/setup.c1
-rw-r--r--arch/arm/kernel/sys_arm.c13
-rw-r--r--arch/arm/mach-ep93xx/core.c4
-rw-r--r--arch/arm/mach-iop13xx/iq81340mc.c6
-rw-r--r--arch/arm/mach-iop13xx/iq81340sc.c6
-rw-r--r--arch/arm/mach-iop13xx/irq.c22
-rw-r--r--arch/arm/mach-iop13xx/setup.c2
-rw-r--r--arch/arm/mach-s3c2410/Kconfig25
-rw-r--r--arch/arm/mach-s3c2410/cpu.c1
-rw-r--r--arch/arm/mach-s3c2410/devs.c1
-rw-r--r--arch/arm/mach-s3c2410/dma.c2
-rw-r--r--arch/arm/mach-s3c2410/irq.h2
-rw-r--r--arch/arm/mach-s3c2410/mach-anubis.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-bast.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-h1940.c3
-rw-r--r--arch/arm/mach-s3c2410/mach-n30.c3
-rw-r--r--arch/arm/mach-s3c2410/mach-nexcoder.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-osiris.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-otom.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-smdk2410.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-smdk2413.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-smdk2440.c1
-rw-r--r--arch/arm/mach-s3c2410/mach-vr1000.c2
-rw-r--r--arch/arm/mach-s3c2410/mach-vstms.c1
-rw-r--r--arch/arm/mach-s3c2410/pm-simtec.c1
-rw-r--r--arch/arm/mach-s3c2410/pm.c1
-rw-r--r--arch/arm/mach-s3c2410/s3c2410-clock.c5
-rw-r--r--arch/arm/mach-s3c2410/s3c2410-dma.c9
-rw-r--r--arch/arm/mach-s3c2410/s3c2410-pm.c8
-rw-r--r--arch/arm/mach-s3c2410/s3c2410.c3
-rw-r--r--arch/arm/mach-s3c2410/s3c2412-clock.c11
-rw-r--r--arch/arm/mach-s3c2410/s3c2412-dma.c3
-rw-r--r--arch/arm/mach-s3c2410/s3c2412.c2
-rw-r--r--arch/arm/mach-s3c2410/s3c2440-clock.c24
-rw-r--r--arch/arm/mach-s3c2410/s3c2440-dma.c3
-rw-r--r--arch/arm/mach-s3c2410/s3c2440.c9
-rw-r--r--arch/arm/mach-s3c2410/s3c2440.h18
-rw-r--r--arch/arm/mach-s3c2410/s3c2442-clock.c22
-rw-r--r--arch/arm/mach-s3c2410/s3c2442.c20
-rw-r--r--arch/arm/mach-s3c2410/s3c244x.c3
-rw-r--r--arch/arm/mach-s3c2410/usb-simtec.h3
-rw-r--r--arch/arm/mm/ioremap.c2
-rw-r--r--arch/arm/mm/mmu.c20
-rw-r--r--arch/arm/mm/proc-xsc3.S2
-rw-r--r--arch/powerpc/boot/Makefile3
-rw-r--r--arch/powerpc/configs/cell_defconfig358
-rw-r--r--arch/powerpc/kernel/of_platform.c1
-rw-r--r--arch/powerpc/kernel/pci_64.c1
-rw-r--r--arch/powerpc/kernel/prom_parse.c15
-rw-r--r--arch/powerpc/kernel/signal_32.c16
-rw-r--r--arch/powerpc/platforms/Makefile2
-rw-r--r--arch/powerpc/platforms/cell/io-workarounds.c2
-rw-r--r--arch/powerpc/platforms/cell/spu_priv1_mmio.c95
-rw-r--r--arch/powerpc/platforms/iseries/Kconfig2
-rw-r--r--drivers/block/viodasd.c6
-rw-r--r--drivers/cdrom/viocd.c4
-rw-r--r--drivers/char/drm/drmP.h7
-rw-r--r--drivers/char/drm/drm_lock.c2
-rw-r--r--drivers/char/drm/drm_stub.c12
-rw-r--r--drivers/char/drm/drm_sysfs.c8
-rw-r--r--drivers/char/drm/i915_irq.c199
-rw-r--r--drivers/char/drm/r128_drm.h3
-rw-r--r--drivers/char/drm/r128_drv.h3
-rw-r--r--drivers/char/drm/r128_state.c3
-rw-r--r--drivers/char/drm/r300_cmdbuf.c32
-rw-r--r--drivers/char/drm/radeon_drv.h15
-rw-r--r--drivers/char/drm/radeon_irq.c4
-rw-r--r--drivers/char/drm/radeon_mem.c4
-rw-r--r--drivers/char/drm/radeon_state.c13
-rw-r--r--drivers/char/drm/savage_bci.c4
-rw-r--r--drivers/char/viocons.c7
-rw-r--r--drivers/char/viotape.c5
-rw-r--r--drivers/net/iseries_veth.c9
-rw-r--r--drivers/video/pxafb.c40
-rw-r--r--drivers/video/sa1100fb.c6
-rw-r--r--include/asm-arm/arch-iop13xx/iq81340.h5
-rw-r--r--include/asm-arm/arch-ixp23xx/memory.h16
-rw-r--r--include/asm-arm/arch-s3c2410/anubis-cpld.h2
-rw-r--r--include/asm-arm/arch-s3c2410/anubis-irq.h2
-rw-r--r--include/asm-arm/arch-s3c2410/anubis-map.h2
-rw-r--r--include/asm-arm/arch-s3c2410/audio.h2
-rw-r--r--include/asm-arm/arch-s3c2410/bast-cpld.h4
-rw-r--r--include/asm-arm/arch-s3c2410/bast-irq.h4
-rw-r--r--include/asm-arm/arch-s3c2410/bast-map.h4
-rw-r--r--include/asm-arm/arch-s3c2410/bast-pmu.h2
-rw-r--r--include/asm-arm/arch-s3c2410/h1940-latch.h4
-rw-r--r--include/asm-arm/arch-s3c2410/hardware.h4
-rw-r--r--include/asm-arm/arch-s3c2410/iic.h2
-rw-r--r--include/asm-arm/arch-s3c2410/leds-gpio.h2
-rw-r--r--include/asm-arm/arch-s3c2410/map.h30
-rw-r--r--include/asm-arm/arch-s3c2410/nand.h4
-rw-r--r--include/asm-arm/arch-s3c2410/osiris-cpld.h2
-rw-r--r--include/asm-arm/arch-s3c2410/regs-serial.h2
-rw-r--r--include/asm-arm/arch-s3c2410/system.h4
-rw-r--r--include/asm-arm/arch-s3c2410/timex.h4
-rw-r--r--include/asm-arm/arch-s3c2410/uncompress.h5
-rw-r--r--include/asm-arm/arch-s3c2410/usb-control.h4
-rw-r--r--include/asm-arm/arch-s3c2410/vr1000-cpld.h4
-rw-r--r--include/asm-arm/arch-s3c2410/vr1000-irq.h4
-rw-r--r--include/asm-arm/arch-s3c2410/vr1000-map.h4
-rw-r--r--include/asm-arm/elf.h1
-rw-r--r--include/asm-arm/system.h33
-rw-r--r--include/asm-arm/unistd.h12
-rw-r--r--include/asm-powerpc/spu.h2
-rw-r--r--include/sound/pcm_oss.h1
-rw-r--r--include/sound/version.h4
-rw-r--r--include/sound/ymfpci.h5
-rw-r--r--sound/aoa/codecs/snd-aoa-codec-onyx.h1
-rw-r--r--sound/aoa/codecs/snd-aoa-codec-tas.c1
-rw-r--r--sound/core/control.c2
-rw-r--r--sound/core/oss/pcm_oss.c52
-rw-r--r--sound/core/pcm.c4
-rw-r--r--sound/core/pcm_lib.c8
-rw-r--r--sound/core/rawmidi.c4
-rw-r--r--sound/core/seq/seq_memory.c2
-rw-r--r--sound/core/sgbuf.c2
-rw-r--r--sound/isa/gus/gus_mem.c7
-rw-r--r--sound/isa/sb/sb_common.c2
-rw-r--r--sound/isa/wavefront/wavefront_synth.c2
-rw-r--r--sound/pci/ac97/ac97_codec.c10
-rw-r--r--sound/pci/ac97/ac97_patch.c7
-rw-r--r--sound/pci/ad1889.c4
-rw-r--r--sound/pci/ali5451/ali5451.c5
-rw-r--r--sound/pci/als300.c6
-rw-r--r--sound/pci/atiixp.c2
-rw-r--r--sound/pci/atiixp_modem.c2
-rw-r--r--sound/pci/au88x0/au88x0.c2
-rw-r--r--sound/pci/azt3328.c5
-rw-r--r--sound/pci/bt87x.c4
-rw-r--r--sound/pci/ca0106/ca0106.h2
-rw-r--r--sound/pci/ca0106/ca0106_main.c37
-rw-r--r--sound/pci/cmipci.c2
-rw-r--r--sound/pci/cs4281.c2
-rw-r--r--sound/pci/cs46xx/cs46xx_lib.c2
-rw-r--r--sound/pci/cs5535audio/cs5535audio.c2
-rw-r--r--sound/pci/echoaudio/echoaudio.c6
-rw-r--r--sound/pci/emu10k1/emu10k1_main.c5
-rw-r--r--sound/pci/emu10k1/emu10k1x.c9
-rw-r--r--sound/pci/ens1370.c2
-rw-r--r--sound/pci/es1938.c4
-rw-r--r--sound/pci/es1968.c8
-rw-r--r--sound/pci/fm801.c2
-rw-r--r--sound/pci/hda/hda_codec.c3
-rw-r--r--sound/pci/hda/hda_intel.c3
-rw-r--r--sound/pci/hda/hda_proc.c53
-rw-r--r--sound/pci/hda/patch_analog.c8
-rw-r--r--sound/pci/hda/patch_realtek.c4
-rw-r--r--sound/pci/hda/patch_si3054.c3
-rw-r--r--sound/pci/ice1712/ice1712.c2
-rw-r--r--sound/pci/ice1712/ice1724.c2
-rw-r--r--sound/pci/intel8x0.c4
-rw-r--r--sound/pci/intel8x0m.c4
-rw-r--r--sound/pci/korg1212/korg1212.c2
-rw-r--r--sound/pci/maestro3.c4
-rw-r--r--sound/pci/mixart/mixart.c5
-rw-r--r--sound/pci/nm256/nm256.c2
-rw-r--r--sound/pci/pcxhr/pcxhr.c2
-rw-r--r--sound/pci/riptide/riptide.c5
-rw-r--r--sound/pci/rme32.c3
-rw-r--r--sound/pci/rme96.c3
-rw-r--r--sound/pci/rme9652/hdsp.c9
-rw-r--r--sound/pci/rme9652/hdspm.c3
-rw-r--r--sound/pci/rme9652/rme9652.c7
-rw-r--r--sound/pci/sonicvibes.c5
-rw-r--r--sound/pci/trident/trident_main.c6
-rw-r--r--sound/pci/via82xx.c6
-rw-r--r--sound/pci/via82xx_modem.c2
-rw-r--r--sound/pci/vx222/vx222.c4
-rw-r--r--sound/pci/ymfpci/ymfpci.c5
-rw-r--r--sound/pci/ymfpci/ymfpci_main.c39
-rw-r--r--sound/usb/usbaudio.c3
182 files changed, 1972 insertions, 853 deletions
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt
index b3bd36668db3..33994271cb3b 100644
--- a/Documentation/powerpc/booting-without-of.txt
+++ b/Documentation/powerpc/booting-without-of.txt
@@ -1703,29 +1703,32 @@ platforms are moved over to use the flattened-device-tree model.
1703 Required properties: 1703 Required properties:
1704 1704
1705 - device_type : has to be "rom" 1705 - device_type : has to be "rom"
1706 - compatible : Should specify what this ROM device is compatible with 1706 - compatible : Should specify what this flash device is compatible with.
1707 (i.e. "onenand"). Currently, this is most likely to be "direct-mapped" 1707 Currently, this is most likely to be "direct-mapped" (which
1708 (which corresponds to the MTD physmap mapping driver). 1708 corresponds to the MTD physmap mapping driver).
1709 - regs : Offset and length of the register set (or memory mapping) for 1709 - reg : Offset and length of the register set (or memory mapping) for
1710 the device. 1710 the device.
1711 - bank-width : Width of the flash data bus in bytes. Required
1712 for the NOR flashes (compatible == "direct-mapped" and others) ONLY.
1711 1713
1712 Recommended properties : 1714 Recommended properties :
1713 1715
1714 - bank-width : Width of the flash data bus in bytes. Required
1715 for the NOR flashes (compatible == "direct-mapped" and others) ONLY.
1716 - partitions : Several pairs of 32-bit values where the first value is 1716 - partitions : Several pairs of 32-bit values where the first value is
1717 partition's offset from the start of the device and the second one is 1717 partition's offset from the start of the device and the second one is
1718 partition size in bytes with LSB used to signify a read only 1718 partition size in bytes with LSB used to signify a read only
1719 partititon (so, the parition size should always be an even number). 1719 partition (so, the parition size should always be an even number).
1720 - partition-names : The list of concatenated zero terminated strings 1720 - partition-names : The list of concatenated zero terminated strings
1721 representing the partition names. 1721 representing the partition names.
1722 - probe-type : The type of probe which should be done for the chip
1723 (JEDEC vs CFI actually). Valid ONLY for NOR flashes.
1722 1724
1723 Example: 1725 Example:
1724 1726
1725 flash@ff000000 { 1727 flash@ff000000 {
1726 device_type = "rom"; 1728 device_type = "rom";
1727 compatible = "direct-mapped"; 1729 compatible = "direct-mapped";
1728 regs = <ff000000 01000000>; 1730 probe-type = "CFI";
1731 reg = <ff000000 01000000>;
1729 bank-width = <4>; 1732 bank-width = <4>;
1730 partitions = <00000000 00f80000 1733 partitions = <00000000 00f80000
1731 00f80000 00080001>; 1734 00f80000 00080001>;
diff --git a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
index 077fbe25ebf4..ccd0a953953d 100644
--- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
+++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
@@ -927,7 +927,7 @@
927 <informalexample> 927 <informalexample>
928 <programlisting> 928 <programlisting>
929<![CDATA[ 929<![CDATA[
930 struct mychip *chip = (struct mychip *)card->private_data; 930 struct mychip *chip = card->private_data;
931]]> 931]]>
932 </programlisting> 932 </programlisting>
933 </informalexample> 933 </informalexample>
@@ -1095,7 +1095,7 @@
1095 1095
1096 /* release the irq */ 1096 /* release the irq */
1097 if (chip->irq >= 0) 1097 if (chip->irq >= 0)
1098 free_irq(chip->irq, (void *)chip); 1098 free_irq(chip->irq, chip);
1099 /* release the i/o ports & memory */ 1099 /* release the i/o ports & memory */
1100 pci_release_regions(chip->pci); 1100 pci_release_regions(chip->pci);
1101 /* disable the PCI entry */ 1101 /* disable the PCI entry */
@@ -1148,7 +1148,7 @@
1148 } 1148 }
1149 chip->port = pci_resource_start(pci, 0); 1149 chip->port = pci_resource_start(pci, 0);
1150 if (request_irq(pci->irq, snd_mychip_interrupt, 1150 if (request_irq(pci->irq, snd_mychip_interrupt,
1151 IRQF_DISABLED|IRQF_SHARED, "My Chip", chip)) { 1151 IRQF_SHARED, "My Chip", chip)) {
1152 printk(KERN_ERR "cannot grab irq %d\n", pci->irq); 1152 printk(KERN_ERR "cannot grab irq %d\n", pci->irq);
1153 snd_mychip_free(chip); 1153 snd_mychip_free(chip);
1154 return -EBUSY; 1154 return -EBUSY;
@@ -1387,7 +1387,7 @@
1387 <programlisting> 1387 <programlisting>
1388<![CDATA[ 1388<![CDATA[
1389 if (chip->irq >= 0) 1389 if (chip->irq >= 0)
1390 free_irq(chip->irq, (void *)chip); 1390 free_irq(chip->irq, chip);
1391]]> 1391]]>
1392 </programlisting> 1392 </programlisting>
1393 </informalexample> 1393 </informalexample>
diff --git a/arch/arm/configs/ep93xx_defconfig b/arch/arm/configs/ep93xx_defconfig
index f8a66b72ad5d..24a701ab33e5 100644
--- a/arch/arm/configs/ep93xx_defconfig
+++ b/arch/arm/configs/ep93xx_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc1-git9 3# Linux kernel version: 2.6.20-rc1
4# Sat Jul 15 15:08:10 2006 4# Sat Dec 16 06:05:24 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
9CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
12CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -28,18 +32,22 @@ CONFIG_LOCALVERSION=""
28CONFIG_LOCALVERSION_AUTO=y 32CONFIG_LOCALVERSION_AUTO=y
29CONFIG_SWAP=y 33CONFIG_SWAP=y
30CONFIG_SYSVIPC=y 34CONFIG_SYSVIPC=y
35# CONFIG_IPC_NS is not set
31# CONFIG_POSIX_MQUEUE is not set 36# CONFIG_POSIX_MQUEUE is not set
32# CONFIG_BSD_PROCESS_ACCT is not set 37# CONFIG_BSD_PROCESS_ACCT is not set
33# CONFIG_TASKSTATS is not set 38# CONFIG_TASKSTATS is not set
34CONFIG_SYSCTL=y 39# CONFIG_UTS_NS is not set
35# CONFIG_AUDIT is not set 40# CONFIG_AUDIT is not set
36CONFIG_IKCONFIG=y 41CONFIG_IKCONFIG=y
37CONFIG_IKCONFIG_PROC=y 42CONFIG_IKCONFIG_PROC=y
43CONFIG_SYSFS_DEPRECATED=y
38# CONFIG_RELAY is not set 44# CONFIG_RELAY is not set
39CONFIG_INITRAMFS_SOURCE="" 45CONFIG_INITRAMFS_SOURCE=""
40CONFIG_UID16=y
41CONFIG_CC_OPTIMIZE_FOR_SIZE=y 46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
42CONFIG_EMBEDDED=y 48CONFIG_EMBEDDED=y
49CONFIG_UID16=y
50CONFIG_SYSCTL_SYSCALL=y
43CONFIG_KALLSYMS=y 51CONFIG_KALLSYMS=y
44# CONFIG_KALLSYMS_ALL is not set 52# CONFIG_KALLSYMS_ALL is not set
45# CONFIG_KALLSYMS_EXTRA_PASS is not set 53# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -48,12 +56,12 @@ CONFIG_PRINTK=y
48CONFIG_BUG=y 56CONFIG_BUG=y
49CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
50CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
51CONFIG_RT_MUTEXES=y
52CONFIG_FUTEX=y 59CONFIG_FUTEX=y
53CONFIG_EPOLL=y 60CONFIG_EPOLL=y
54CONFIG_SHMEM=y 61CONFIG_SHMEM=y
55CONFIG_SLAB=y 62CONFIG_SLAB=y
56CONFIG_VM_EVENT_COUNTERS=y 63CONFIG_VM_EVENT_COUNTERS=y
64CONFIG_RT_MUTEXES=y
57# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
58CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
59# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -71,7 +79,10 @@ CONFIG_KMOD=y
71# 79#
72# Block layer 80# Block layer
73# 81#
82CONFIG_BLOCK=y
83# CONFIG_LBD is not set
74# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
85# CONFIG_LSF is not set
75 86
76# 87#
77# IO Schedulers 88# IO Schedulers
@@ -103,7 +114,9 @@ CONFIG_ARCH_EP93XX=y
103# CONFIG_ARCH_NETX is not set 114# CONFIG_ARCH_NETX is not set
104# CONFIG_ARCH_H720X is not set 115# CONFIG_ARCH_H720X is not set
105# CONFIG_ARCH_IMX is not set 116# CONFIG_ARCH_IMX is not set
106# CONFIG_ARCH_IOP3XX is not set 117# CONFIG_ARCH_IOP32X is not set
118# CONFIG_ARCH_IOP33X is not set
119# CONFIG_ARCH_IOP13XX is not set
107# CONFIG_ARCH_IXP4XX is not set 120# CONFIG_ARCH_IXP4XX is not set
108# CONFIG_ARCH_IXP2000 is not set 121# CONFIG_ARCH_IXP2000 is not set
109# CONFIG_ARCH_IXP23XX is not set 122# CONFIG_ARCH_IXP23XX is not set
@@ -127,6 +140,7 @@ CONFIG_CRUNCH=y
127# 140#
128CONFIG_MACH_ADSSPHERE=y 141CONFIG_MACH_ADSSPHERE=y
129CONFIG_MACH_EDB9302=y 142CONFIG_MACH_EDB9302=y
143CONFIG_MACH_EDB9302A=y
130CONFIG_MACH_EDB9312=y 144CONFIG_MACH_EDB9312=y
131CONFIG_MACH_EDB9315=y 145CONFIG_MACH_EDB9315=y
132CONFIG_MACH_EDB9315A=y 146CONFIG_MACH_EDB9315A=y
@@ -138,12 +152,14 @@ CONFIG_MACH_TS72XX=y
138# 152#
139CONFIG_CPU_32=y 153CONFIG_CPU_32=y
140CONFIG_CPU_ARM920T=y 154CONFIG_CPU_ARM920T=y
141CONFIG_CPU_32v4=y 155CONFIG_CPU_32v4T=y
142CONFIG_CPU_ABRT_EV4T=y 156CONFIG_CPU_ABRT_EV4T=y
143CONFIG_CPU_CACHE_V4WT=y 157CONFIG_CPU_CACHE_V4WT=y
144CONFIG_CPU_CACHE_VIVT=y 158CONFIG_CPU_CACHE_VIVT=y
145CONFIG_CPU_COPY_V4WB=y 159CONFIG_CPU_COPY_V4WB=y
146CONFIG_CPU_TLB_V4WBI=y 160CONFIG_CPU_TLB_V4WBI=y
161CONFIG_CPU_CP15=y
162CONFIG_CPU_CP15_MMU=y
147 163
148# 164#
149# Processor Features 165# Processor Features
@@ -230,6 +246,7 @@ CONFIG_PACKET_MMAP=y
230CONFIG_UNIX=y 246CONFIG_UNIX=y
231CONFIG_XFRM=y 247CONFIG_XFRM=y
232# CONFIG_XFRM_USER is not set 248# CONFIG_XFRM_USER is not set
249# CONFIG_XFRM_SUB_POLICY is not set
233CONFIG_NET_KEY=y 250CONFIG_NET_KEY=y
234CONFIG_INET=y 251CONFIG_INET=y
235# CONFIG_IP_MULTICAST is not set 252# CONFIG_IP_MULTICAST is not set
@@ -250,13 +267,29 @@ CONFIG_SYN_COOKIES=y
250# CONFIG_INET_TUNNEL is not set 267# CONFIG_INET_TUNNEL is not set
251CONFIG_INET_XFRM_MODE_TRANSPORT=y 268CONFIG_INET_XFRM_MODE_TRANSPORT=y
252CONFIG_INET_XFRM_MODE_TUNNEL=y 269CONFIG_INET_XFRM_MODE_TUNNEL=y
270CONFIG_INET_XFRM_MODE_BEET=y
253CONFIG_INET_DIAG=y 271CONFIG_INET_DIAG=y
254CONFIG_INET_TCP_DIAG=y 272CONFIG_INET_TCP_DIAG=y
255# CONFIG_TCP_CONG_ADVANCED is not set 273# CONFIG_TCP_CONG_ADVANCED is not set
256CONFIG_TCP_CONG_BIC=y 274CONFIG_TCP_CONG_CUBIC=y
257# CONFIG_IPV6 is not set 275CONFIG_DEFAULT_TCP_CONG="cubic"
276# CONFIG_TCP_MD5SIG is not set
277CONFIG_IPV6=y
278# CONFIG_IPV6_PRIVACY is not set
279# CONFIG_IPV6_ROUTER_PREF is not set
280# CONFIG_INET6_AH is not set
281# CONFIG_INET6_ESP is not set
282# CONFIG_INET6_IPCOMP is not set
283# CONFIG_IPV6_MIP6 is not set
258# CONFIG_INET6_XFRM_TUNNEL is not set 284# CONFIG_INET6_XFRM_TUNNEL is not set
259# CONFIG_INET6_TUNNEL is not set 285# CONFIG_INET6_TUNNEL is not set
286# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
287# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
288# CONFIG_INET6_XFRM_MODE_BEET is not set
289# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
290# CONFIG_IPV6_SIT is not set
291# CONFIG_IPV6_TUNNEL is not set
292# CONFIG_IPV6_MULTIPLE_TABLES is not set
260# CONFIG_NETWORK_SECMARK is not set 293# CONFIG_NETWORK_SECMARK is not set
261# CONFIG_NETFILTER is not set 294# CONFIG_NETFILTER is not set
262 295
@@ -283,7 +316,6 @@ CONFIG_TCP_CONG_BIC=y
283# CONFIG_ATALK is not set 316# CONFIG_ATALK is not set
284# CONFIG_X25 is not set 317# CONFIG_X25 is not set
285# CONFIG_LAPB is not set 318# CONFIG_LAPB is not set
286# CONFIG_NET_DIVERT is not set
287# CONFIG_ECONET is not set 319# CONFIG_ECONET is not set
288# CONFIG_WAN_ROUTER is not set 320# CONFIG_WAN_ROUTER is not set
289 321
@@ -330,7 +362,7 @@ CONFIG_MTD_REDBOOT_PARTS=y
330CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 362CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
331# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set 363# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
332# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set 364# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
333# CONFIG_MTD_CMDLINE_PARTS is not set 365CONFIG_MTD_CMDLINE_PARTS=y
334# CONFIG_MTD_AFS_PARTS is not set 366# CONFIG_MTD_AFS_PARTS is not set
335 367
336# 368#
@@ -342,6 +374,7 @@ CONFIG_MTD_BLOCK=y
342# CONFIG_NFTL is not set 374# CONFIG_NFTL is not set
343# CONFIG_INFTL is not set 375# CONFIG_INFTL is not set
344# CONFIG_RFD_FTL is not set 376# CONFIG_RFD_FTL is not set
377# CONFIG_SSFDC is not set
345 378
346# 379#
347# RAM/ROM/Flash chip drivers 380# RAM/ROM/Flash chip drivers
@@ -430,7 +463,7 @@ CONFIG_MTD_NAND_IDS=y
430# 463#
431# CONFIG_BLK_DEV_COW_COMMON is not set 464# CONFIG_BLK_DEV_COW_COMMON is not set
432# CONFIG_BLK_DEV_LOOP is not set 465# CONFIG_BLK_DEV_LOOP is not set
433# CONFIG_BLK_DEV_NBD is not set 466CONFIG_BLK_DEV_NBD=y
434# CONFIG_BLK_DEV_UB is not set 467# CONFIG_BLK_DEV_UB is not set
435# CONFIG_BLK_DEV_RAM is not set 468# CONFIG_BLK_DEV_RAM is not set
436# CONFIG_BLK_DEV_INITRD is not set 469# CONFIG_BLK_DEV_INITRD is not set
@@ -442,6 +475,8 @@ CONFIG_MTD_NAND_IDS=y
442# 475#
443# CONFIG_RAID_ATTRS is not set 476# CONFIG_RAID_ATTRS is not set
444CONFIG_SCSI=y 477CONFIG_SCSI=y
478# CONFIG_SCSI_TGT is not set
479# CONFIG_SCSI_NETLINK is not set
445# CONFIG_SCSI_PROC_FS is not set 480# CONFIG_SCSI_PROC_FS is not set
446 481
447# 482#
@@ -460,23 +495,29 @@ CONFIG_BLK_DEV_SD=y
460# CONFIG_SCSI_MULTI_LUN is not set 495# CONFIG_SCSI_MULTI_LUN is not set
461# CONFIG_SCSI_CONSTANTS is not set 496# CONFIG_SCSI_CONSTANTS is not set
462# CONFIG_SCSI_LOGGING is not set 497# CONFIG_SCSI_LOGGING is not set
498# CONFIG_SCSI_SCAN_ASYNC is not set
463 499
464# 500#
465# SCSI Transport Attributes 501# SCSI Transports
466# 502#
467# CONFIG_SCSI_SPI_ATTRS is not set 503# CONFIG_SCSI_SPI_ATTRS is not set
468# CONFIG_SCSI_FC_ATTRS is not set 504# CONFIG_SCSI_FC_ATTRS is not set
469# CONFIG_SCSI_ISCSI_ATTRS is not set 505# CONFIG_SCSI_ISCSI_ATTRS is not set
470# CONFIG_SCSI_SAS_ATTRS is not set 506# CONFIG_SCSI_SAS_ATTRS is not set
507# CONFIG_SCSI_SAS_LIBSAS is not set
471 508
472# 509#
473# SCSI low-level drivers 510# SCSI low-level drivers
474# 511#
475# CONFIG_ISCSI_TCP is not set 512# CONFIG_ISCSI_TCP is not set
476# CONFIG_SCSI_SATA is not set
477# CONFIG_SCSI_DEBUG is not set 513# CONFIG_SCSI_DEBUG is not set
478 514
479# 515#
516# Serial ATA (prod) and Parallel ATA (experimental) drivers
517#
518# CONFIG_ATA is not set
519
520#
480# Multi-device support (RAID and LVM) 521# Multi-device support (RAID and LVM)
481# 522#
482# CONFIG_MD is not set 523# CONFIG_MD is not set
@@ -513,6 +554,7 @@ CONFIG_NETDEVICES=y
513# 554#
514CONFIG_NET_ETHERNET=y 555CONFIG_NET_ETHERNET=y
515CONFIG_MII=y 556CONFIG_MII=y
557CONFIG_EP93XX_ETH=y
516# CONFIG_SMC91X is not set 558# CONFIG_SMC91X is not set
517# CONFIG_DM9000 is not set 559# CONFIG_DM9000 is not set
518 560
@@ -607,17 +649,12 @@ CONFIG_EP93XX_WATCHDOG=y
607# CONFIG_NVRAM is not set 649# CONFIG_NVRAM is not set
608# CONFIG_DTLK is not set 650# CONFIG_DTLK is not set
609# CONFIG_R3964 is not set 651# CONFIG_R3964 is not set
610
611#
612# Ftape, the floppy tape device driver
613#
614# CONFIG_RAW_DRIVER is not set 652# CONFIG_RAW_DRIVER is not set
615 653
616# 654#
617# TPM devices 655# TPM devices
618# 656#
619# CONFIG_TCG_TPM is not set 657# CONFIG_TCG_TPM is not set
620# CONFIG_TELCLOCK is not set
621 658
622# 659#
623# I2C support 660# I2C support
@@ -645,7 +682,7 @@ CONFIG_I2C_ALGOBIT=y
645# 682#
646# CONFIG_SENSORS_DS1337 is not set 683# CONFIG_SENSORS_DS1337 is not set
647# CONFIG_SENSORS_DS1374 is not set 684# CONFIG_SENSORS_DS1374 is not set
648# CONFIG_SENSORS_EEPROM is not set 685CONFIG_SENSORS_EEPROM=y
649# CONFIG_SENSORS_PCF8574 is not set 686# CONFIG_SENSORS_PCF8574 is not set
650# CONFIG_SENSORS_PCA9539 is not set 687# CONFIG_SENSORS_PCA9539 is not set
651# CONFIG_SENSORS_PCF8591 is not set 688# CONFIG_SENSORS_PCF8591 is not set
@@ -664,6 +701,7 @@ CONFIG_I2C_DEBUG_CHIP=y
664# 701#
665# Dallas's 1-wire bus 702# Dallas's 1-wire bus
666# 703#
704# CONFIG_W1 is not set
667 705
668# 706#
669# Hardware Monitoring support 707# Hardware Monitoring support
@@ -697,12 +735,15 @@ CONFIG_HWMON=y
697# CONFIG_SENSORS_LM92 is not set 735# CONFIG_SENSORS_LM92 is not set
698# CONFIG_SENSORS_MAX1619 is not set 736# CONFIG_SENSORS_MAX1619 is not set
699# CONFIG_SENSORS_PC87360 is not set 737# CONFIG_SENSORS_PC87360 is not set
738# CONFIG_SENSORS_PC87427 is not set
700# CONFIG_SENSORS_SMSC47M1 is not set 739# CONFIG_SENSORS_SMSC47M1 is not set
701# CONFIG_SENSORS_SMSC47M192 is not set 740# CONFIG_SENSORS_SMSC47M192 is not set
702# CONFIG_SENSORS_SMSC47B397 is not set 741# CONFIG_SENSORS_SMSC47B397 is not set
742# CONFIG_SENSORS_VT1211 is not set
703# CONFIG_SENSORS_W83781D is not set 743# CONFIG_SENSORS_W83781D is not set
704# CONFIG_SENSORS_W83791D is not set 744# CONFIG_SENSORS_W83791D is not set
705# CONFIG_SENSORS_W83792D is not set 745# CONFIG_SENSORS_W83792D is not set
746# CONFIG_SENSORS_W83793 is not set
706# CONFIG_SENSORS_W83L785TS is not set 747# CONFIG_SENSORS_W83L785TS is not set
707# CONFIG_SENSORS_W83627HF is not set 748# CONFIG_SENSORS_W83627HF is not set
708# CONFIG_SENSORS_W83627EHF is not set 749# CONFIG_SENSORS_W83627EHF is not set
@@ -711,6 +752,7 @@ CONFIG_HWMON=y
711# 752#
712# Misc devices 753# Misc devices
713# 754#
755# CONFIG_TIFM_CORE is not set
714 756
715# 757#
716# LED devices 758# LED devices
@@ -729,7 +771,6 @@ CONFIG_HWMON=y
729# Multimedia devices 771# Multimedia devices
730# 772#
731# CONFIG_VIDEO_DEV is not set 773# CONFIG_VIDEO_DEV is not set
732CONFIG_VIDEO_V4L2=y
733 774
734# 775#
735# Digital Video Broadcasting Devices 776# Digital Video Broadcasting Devices
@@ -742,6 +783,7 @@ CONFIG_VIDEO_V4L2=y
742# 783#
743# CONFIG_FIRMWARE_EDID is not set 784# CONFIG_FIRMWARE_EDID is not set
744# CONFIG_FB is not set 785# CONFIG_FB is not set
786# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
745 787
746# 788#
747# Sound 789# Sound
@@ -763,6 +805,7 @@ CONFIG_USB_DEBUG=y
763CONFIG_USB_DEVICEFS=y 805CONFIG_USB_DEVICEFS=y
764# CONFIG_USB_BANDWIDTH is not set 806# CONFIG_USB_BANDWIDTH is not set
765CONFIG_USB_DYNAMIC_MINORS=y 807CONFIG_USB_DYNAMIC_MINORS=y
808# CONFIG_USB_MULTITHREAD_PROBE is not set
766# CONFIG_USB_OTG is not set 809# CONFIG_USB_OTG is not set
767 810
768# 811#
@@ -797,12 +840,12 @@ CONFIG_USB_STORAGE=y
797# CONFIG_USB_STORAGE_SDDR55 is not set 840# CONFIG_USB_STORAGE_SDDR55 is not set
798# CONFIG_USB_STORAGE_JUMPSHOT is not set 841# CONFIG_USB_STORAGE_JUMPSHOT is not set
799# CONFIG_USB_STORAGE_ALAUDA is not set 842# CONFIG_USB_STORAGE_ALAUDA is not set
843# CONFIG_USB_STORAGE_KARMA is not set
800# CONFIG_USB_LIBUSUAL is not set 844# CONFIG_USB_LIBUSUAL is not set
801 845
802# 846#
803# USB Input Devices 847# USB Input Devices
804# 848#
805# CONFIG_USB_HID is not set
806 849
807# 850#
808# USB HID Boot Protocol drivers 851# USB HID Boot Protocol drivers
@@ -821,6 +864,7 @@ CONFIG_USB_STORAGE=y
821# CONFIG_USB_KAWETH is not set 864# CONFIG_USB_KAWETH is not set
822# CONFIG_USB_PEGASUS is not set 865# CONFIG_USB_PEGASUS is not set
823CONFIG_USB_RTL8150=y 866CONFIG_USB_RTL8150=y
867# CONFIG_USB_USBNET_MII is not set
824# CONFIG_USB_USBNET is not set 868# CONFIG_USB_USBNET is not set
825# CONFIG_USB_MON is not set 869# CONFIG_USB_MON is not set
826 870
@@ -834,8 +878,8 @@ CONFIG_USB_RTL8150=y
834CONFIG_USB_SERIAL=y 878CONFIG_USB_SERIAL=y
835CONFIG_USB_SERIAL_CONSOLE=y 879CONFIG_USB_SERIAL_CONSOLE=y
836# CONFIG_USB_SERIAL_GENERIC is not set 880# CONFIG_USB_SERIAL_GENERIC is not set
881# CONFIG_USB_SERIAL_AIRCABLE is not set
837# CONFIG_USB_SERIAL_AIRPRIME is not set 882# CONFIG_USB_SERIAL_AIRPRIME is not set
838# CONFIG_USB_SERIAL_ANYDATA is not set
839# CONFIG_USB_SERIAL_ARK3116 is not set 883# CONFIG_USB_SERIAL_ARK3116 is not set
840# CONFIG_USB_SERIAL_BELKIN is not set 884# CONFIG_USB_SERIAL_BELKIN is not set
841# CONFIG_USB_SERIAL_WHITEHEAT is not set 885# CONFIG_USB_SERIAL_WHITEHEAT is not set
@@ -857,6 +901,8 @@ CONFIG_USB_SERIAL_CONSOLE=y
857# CONFIG_USB_SERIAL_KLSI is not set 901# CONFIG_USB_SERIAL_KLSI is not set
858# CONFIG_USB_SERIAL_KOBIL_SCT is not set 902# CONFIG_USB_SERIAL_KOBIL_SCT is not set
859# CONFIG_USB_SERIAL_MCT_U232 is not set 903# CONFIG_USB_SERIAL_MCT_U232 is not set
904# CONFIG_USB_SERIAL_MOS7720 is not set
905# CONFIG_USB_SERIAL_MOS7840 is not set
860# CONFIG_USB_SERIAL_NAVMAN is not set 906# CONFIG_USB_SERIAL_NAVMAN is not set
861CONFIG_USB_SERIAL_PL2303=y 907CONFIG_USB_SERIAL_PL2303=y
862# CONFIG_USB_SERIAL_HP4X is not set 908# CONFIG_USB_SERIAL_HP4X is not set
@@ -867,12 +913,14 @@ CONFIG_USB_SERIAL_PL2303=y
867# CONFIG_USB_SERIAL_XIRCOM is not set 913# CONFIG_USB_SERIAL_XIRCOM is not set
868# CONFIG_USB_SERIAL_OPTION is not set 914# CONFIG_USB_SERIAL_OPTION is not set
869# CONFIG_USB_SERIAL_OMNINET is not set 915# CONFIG_USB_SERIAL_OMNINET is not set
916# CONFIG_USB_SERIAL_DEBUG is not set
870 917
871# 918#
872# USB Miscellaneous drivers 919# USB Miscellaneous drivers
873# 920#
874# CONFIG_USB_EMI62 is not set 921# CONFIG_USB_EMI62 is not set
875# CONFIG_USB_EMI26 is not set 922# CONFIG_USB_EMI26 is not set
923# CONFIG_USB_ADUTUX is not set
876# CONFIG_USB_AUERSWALD is not set 924# CONFIG_USB_AUERSWALD is not set
877# CONFIG_USB_RIO500 is not set 925# CONFIG_USB_RIO500 is not set
878# CONFIG_USB_LEGOTOWER is not set 926# CONFIG_USB_LEGOTOWER is not set
@@ -880,11 +928,12 @@ CONFIG_USB_SERIAL_PL2303=y
880# CONFIG_USB_LED is not set 928# CONFIG_USB_LED is not set
881# CONFIG_USB_CYPRESS_CY7C63 is not set 929# CONFIG_USB_CYPRESS_CY7C63 is not set
882# CONFIG_USB_CYTHERM is not set 930# CONFIG_USB_CYTHERM is not set
883# CONFIG_USB_PHIDGETKIT is not set 931# CONFIG_USB_PHIDGET is not set
884# CONFIG_USB_PHIDGETSERVO is not set
885# CONFIG_USB_IDMOUSE is not set 932# CONFIG_USB_IDMOUSE is not set
933# CONFIG_USB_FTDI_ELAN is not set
886# CONFIG_USB_APPLEDISPLAY is not set 934# CONFIG_USB_APPLEDISPLAY is not set
887# CONFIG_USB_LD is not set 935# CONFIG_USB_LD is not set
936# CONFIG_USB_TRANCEVIBRATOR is not set
888# CONFIG_USB_TEST is not set 937# CONFIG_USB_TEST is not set
889 938
890# 939#
@@ -908,6 +957,7 @@ CONFIG_RTC_LIB=y
908CONFIG_RTC_CLASS=y 957CONFIG_RTC_CLASS=y
909CONFIG_RTC_HCTOSYS=y 958CONFIG_RTC_HCTOSYS=y
910CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 959CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
960# CONFIG_RTC_DEBUG is not set
911 961
912# 962#
913# RTC interfaces 963# RTC interfaces
@@ -921,7 +971,7 @@ CONFIG_RTC_INTF_DEV=y
921# RTC drivers 971# RTC drivers
922# 972#
923# CONFIG_RTC_DRV_X1205 is not set 973# CONFIG_RTC_DRV_X1205 is not set
924# CONFIG_RTC_DRV_DS1307 is not set 974CONFIG_RTC_DRV_DS1307=y
925# CONFIG_RTC_DRV_DS1553 is not set 975# CONFIG_RTC_DRV_DS1553 is not set
926# CONFIG_RTC_DRV_ISL1208 is not set 976# CONFIG_RTC_DRV_ISL1208 is not set
927# CONFIG_RTC_DRV_DS1672 is not set 977# CONFIG_RTC_DRV_DS1672 is not set
@@ -943,12 +993,14 @@ CONFIG_EXT2_FS=y
943# CONFIG_EXT2_FS_XIP is not set 993# CONFIG_EXT2_FS_XIP is not set
944CONFIG_EXT3_FS=y 994CONFIG_EXT3_FS=y
945# CONFIG_EXT3_FS_XATTR is not set 995# CONFIG_EXT3_FS_XATTR is not set
996# CONFIG_EXT4DEV_FS is not set
946CONFIG_JBD=y 997CONFIG_JBD=y
947# CONFIG_JBD_DEBUG is not set 998# CONFIG_JBD_DEBUG is not set
948# CONFIG_REISERFS_FS is not set 999# CONFIG_REISERFS_FS is not set
949# CONFIG_JFS_FS is not set 1000# CONFIG_JFS_FS is not set
950# CONFIG_FS_POSIX_ACL is not set 1001# CONFIG_FS_POSIX_ACL is not set
951# CONFIG_XFS_FS is not set 1002# CONFIG_XFS_FS is not set
1003# CONFIG_GFS2_FS is not set
952# CONFIG_OCFS2_FS is not set 1004# CONFIG_OCFS2_FS is not set
953# CONFIG_MINIX_FS is not set 1005# CONFIG_MINIX_FS is not set
954# CONFIG_ROMFS_FS is not set 1006# CONFIG_ROMFS_FS is not set
@@ -980,8 +1032,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
980# Pseudo filesystems 1032# Pseudo filesystems
981# 1033#
982CONFIG_PROC_FS=y 1034CONFIG_PROC_FS=y
1035CONFIG_PROC_SYSCTL=y
983CONFIG_SYSFS=y 1036CONFIG_SYSFS=y
984CONFIG_TMPFS=y 1037CONFIG_TMPFS=y
1038# CONFIG_TMPFS_POSIX_ACL is not set
985# CONFIG_HUGETLB_PAGE is not set 1039# CONFIG_HUGETLB_PAGE is not set
986CONFIG_RAMFS=y 1040CONFIG_RAMFS=y
987# CONFIG_CONFIGFS_FS is not set 1041# CONFIG_CONFIGFS_FS is not set
@@ -1102,6 +1156,11 @@ CONFIG_NLS_ISO8859_1=y
1102# CONFIG_NLS_UTF8 is not set 1156# CONFIG_NLS_UTF8 is not set
1103 1157
1104# 1158#
1159# Distributed Lock Manager
1160#
1161# CONFIG_DLM is not set
1162
1163#
1105# Profiling support 1164# Profiling support
1106# 1165#
1107# CONFIG_PROFILING is not set 1166# CONFIG_PROFILING is not set
@@ -1110,8 +1169,11 @@ CONFIG_NLS_ISO8859_1=y
1110# Kernel hacking 1169# Kernel hacking
1111# 1170#
1112# CONFIG_PRINTK_TIME is not set 1171# CONFIG_PRINTK_TIME is not set
1172CONFIG_ENABLE_MUST_CHECK=y
1113CONFIG_MAGIC_SYSRQ=y 1173CONFIG_MAGIC_SYSRQ=y
1114# CONFIG_UNUSED_SYMBOLS is not set 1174# CONFIG_UNUSED_SYMBOLS is not set
1175# CONFIG_DEBUG_FS is not set
1176# CONFIG_HEADERS_CHECK is not set
1115CONFIG_DEBUG_KERNEL=y 1177CONFIG_DEBUG_KERNEL=y
1116CONFIG_LOG_BUF_SHIFT=14 1178CONFIG_LOG_BUF_SHIFT=14
1117CONFIG_DETECT_SOFTLOCKUP=y 1179CONFIG_DETECT_SOFTLOCKUP=y
@@ -1128,10 +1190,9 @@ CONFIG_DEBUG_MUTEXES=y
1128# CONFIG_DEBUG_KOBJECT is not set 1190# CONFIG_DEBUG_KOBJECT is not set
1129CONFIG_DEBUG_BUGVERBOSE=y 1191CONFIG_DEBUG_BUGVERBOSE=y
1130# CONFIG_DEBUG_INFO is not set 1192# CONFIG_DEBUG_INFO is not set
1131# CONFIG_DEBUG_FS is not set
1132# CONFIG_DEBUG_VM is not set 1193# CONFIG_DEBUG_VM is not set
1194# CONFIG_DEBUG_LIST is not set
1133CONFIG_FRAME_POINTER=y 1195CONFIG_FRAME_POINTER=y
1134# CONFIG_UNWIND_INFO is not set
1135CONFIG_FORCED_INLINING=y 1196CONFIG_FORCED_INLINING=y
1136# CONFIG_RCU_TORTURE_TEST is not set 1197# CONFIG_RCU_TORTURE_TEST is not set
1137CONFIG_DEBUG_USER=y 1198CONFIG_DEBUG_USER=y
@@ -1151,12 +1212,9 @@ CONFIG_DEBUG_LL=y
1151# CONFIG_CRYPTO is not set 1212# CONFIG_CRYPTO is not set
1152 1213
1153# 1214#
1154# Hardware crypto devices
1155#
1156
1157#
1158# Library routines 1215# Library routines
1159# 1216#
1217CONFIG_BITREVERSE=y
1160# CONFIG_CRC_CCITT is not set 1218# CONFIG_CRC_CCITT is not set
1161# CONFIG_CRC16 is not set 1219# CONFIG_CRC16 is not set
1162CONFIG_CRC32=y 1220CONFIG_CRC32=y
@@ -1164,3 +1222,4 @@ CONFIG_LIBCRC32C=y
1164CONFIG_ZLIB_INFLATE=y 1222CONFIG_ZLIB_INFLATE=y
1165CONFIG_ZLIB_DEFLATE=y 1223CONFIG_ZLIB_DEFLATE=y
1166CONFIG_PLIST=y 1224CONFIG_PLIST=y
1225CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/iop13xx_defconfig b/arch/arm/configs/iop13xx_defconfig
index f6e46193fd26..43c4a37e9247 100644
--- a/arch/arm/configs/iop13xx_defconfig
+++ b/arch/arm/configs/iop13xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.19 3# Linux kernel version: 2.6.20-rc1-git5
4# Fri Dec 1 10:51:01 2006 4# Tue Dec 19 21:38:01 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set 7# CONFIG_GENERIC_TIME is not set
@@ -11,6 +11,8 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
11CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
12CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
13CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
14CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
15CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
16CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -39,6 +41,7 @@ CONFIG_BSD_PROCESS_ACCT=y
39# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
40CONFIG_IKCONFIG=y 42CONFIG_IKCONFIG=y
41CONFIG_IKCONFIG_PROC=y 43CONFIG_IKCONFIG_PROC=y
44CONFIG_SYSFS_DEPRECATED=y
42# CONFIG_RELAY is not set 45# CONFIG_RELAY is not set
43CONFIG_INITRAMFS_SOURCE="" 46CONFIG_INITRAMFS_SOURCE=""
44# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 47# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -77,7 +80,9 @@ CONFIG_KMOD=y
77# Block layer 80# Block layer
78# 81#
79CONFIG_BLOCK=y 82CONFIG_BLOCK=y
83# CONFIG_LBD is not set
80# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
85# CONFIG_LSF is not set
81 86
82# 87#
83# IO Schedulers 88# IO Schedulers
@@ -154,11 +159,13 @@ CONFIG_IO_36=y
154CONFIG_ARM_THUMB=y 159CONFIG_ARM_THUMB=y
155# CONFIG_CPU_DCACHE_DISABLE is not set 160# CONFIG_CPU_DCACHE_DISABLE is not set
156# CONFIG_CPU_BPREDICT_DISABLE is not set 161# CONFIG_CPU_BPREDICT_DISABLE is not set
162# CONFIG_IWMMXT is not set
157 163
158# 164#
159# Bus support 165# Bus support
160# 166#
161CONFIG_PCI=y 167CONFIG_PCI=y
168# CONFIG_PCI_MULTITHREAD_PROBE is not set
162 169
163# 170#
164# PCCARD (PCMCIA/CardBus) support 171# PCCARD (PCMCIA/CardBus) support
@@ -259,9 +266,23 @@ CONFIG_INET_TCP_DIAG=y
259# CONFIG_TCP_CONG_ADVANCED is not set 266# CONFIG_TCP_CONG_ADVANCED is not set
260CONFIG_TCP_CONG_CUBIC=y 267CONFIG_TCP_CONG_CUBIC=y
261CONFIG_DEFAULT_TCP_CONG="cubic" 268CONFIG_DEFAULT_TCP_CONG="cubic"
262# CONFIG_IPV6 is not set 269# CONFIG_TCP_MD5SIG is not set
270CONFIG_IPV6=y
271# CONFIG_IPV6_PRIVACY is not set
272# CONFIG_IPV6_ROUTER_PREF is not set
273# CONFIG_INET6_AH is not set
274# CONFIG_INET6_ESP is not set
275# CONFIG_INET6_IPCOMP is not set
276# CONFIG_IPV6_MIP6 is not set
263# CONFIG_INET6_XFRM_TUNNEL is not set 277# CONFIG_INET6_XFRM_TUNNEL is not set
264# CONFIG_INET6_TUNNEL is not set 278# CONFIG_INET6_TUNNEL is not set
279# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
280# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
281# CONFIG_INET6_XFRM_MODE_BEET is not set
282# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
283# CONFIG_IPV6_SIT is not set
284# CONFIG_IPV6_TUNNEL is not set
285# CONFIG_IPV6_MULTIPLE_TABLES is not set
265# CONFIG_NETWORK_SECMARK is not set 286# CONFIG_NETWORK_SECMARK is not set
266# CONFIG_NETFILTER is not set 287# CONFIG_NETFILTER is not set
267 288
@@ -433,7 +454,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
433# CONFIG_BLK_DEV_UMEM is not set 454# CONFIG_BLK_DEV_UMEM is not set
434# CONFIG_BLK_DEV_COW_COMMON is not set 455# CONFIG_BLK_DEV_COW_COMMON is not set
435# CONFIG_BLK_DEV_LOOP is not set 456# CONFIG_BLK_DEV_LOOP is not set
436# CONFIG_BLK_DEV_NBD is not set 457CONFIG_BLK_DEV_NBD=y
437# CONFIG_BLK_DEV_SX8 is not set 458# CONFIG_BLK_DEV_SX8 is not set
438CONFIG_BLK_DEV_RAM=y 459CONFIG_BLK_DEV_RAM=y
439CONFIG_BLK_DEV_RAM_COUNT=2 460CONFIG_BLK_DEV_RAM_COUNT=2
@@ -448,6 +469,7 @@ CONFIG_BLK_DEV_INITRD=y
448# 469#
449# CONFIG_RAID_ATTRS is not set 470# CONFIG_RAID_ATTRS is not set
450CONFIG_SCSI=y 471CONFIG_SCSI=y
472# CONFIG_SCSI_TGT is not set
451# CONFIG_SCSI_NETLINK is not set 473# CONFIG_SCSI_NETLINK is not set
452CONFIG_SCSI_PROC_FS=y 474CONFIG_SCSI_PROC_FS=y
453 475
@@ -467,6 +489,7 @@ CONFIG_CHR_DEV_SG=y
467# CONFIG_SCSI_MULTI_LUN is not set 489# CONFIG_SCSI_MULTI_LUN is not set
468CONFIG_SCSI_CONSTANTS=y 490CONFIG_SCSI_CONSTANTS=y
469# CONFIG_SCSI_LOGGING is not set 491# CONFIG_SCSI_LOGGING is not set
492# CONFIG_SCSI_SCAN_ASYNC is not set
470 493
471# 494#
472# SCSI Transports 495# SCSI Transports
@@ -510,6 +533,7 @@ CONFIG_SCSI_SAS_ATTRS=y
510# CONFIG_SCSI_DC390T is not set 533# CONFIG_SCSI_DC390T is not set
511# CONFIG_SCSI_NSP32 is not set 534# CONFIG_SCSI_NSP32 is not set
512# CONFIG_SCSI_DEBUG is not set 535# CONFIG_SCSI_DEBUG is not set
536# CONFIG_SCSI_SRP is not set
513 537
514# 538#
515# Serial ATA (prod) and Parallel ATA (experimental) drivers 539# Serial ATA (prod) and Parallel ATA (experimental) drivers
@@ -605,6 +629,7 @@ CONFIG_E1000_NAPI=y
605# CONFIG_IXGB is not set 629# CONFIG_IXGB is not set
606# CONFIG_S2IO is not set 630# CONFIG_S2IO is not set
607# CONFIG_MYRI10GE is not set 631# CONFIG_MYRI10GE is not set
632# CONFIG_NETXEN_NIC is not set
608 633
609# 634#
610# Token Ring devices 635# Token Ring devices
@@ -711,10 +736,6 @@ CONFIG_HW_RANDOM=y
711# CONFIG_DTLK is not set 736# CONFIG_DTLK is not set
712# CONFIG_R3964 is not set 737# CONFIG_R3964 is not set
713# CONFIG_APPLICOM is not set 738# CONFIG_APPLICOM is not set
714
715#
716# Ftape, the floppy tape device driver
717#
718# CONFIG_DRM is not set 739# CONFIG_DRM is not set
719# CONFIG_RAW_DRIVER is not set 740# CONFIG_RAW_DRIVER is not set
720 741
@@ -820,6 +841,7 @@ CONFIG_HWMON=y
820# CONFIG_SENSORS_LM92 is not set 841# CONFIG_SENSORS_LM92 is not set
821# CONFIG_SENSORS_MAX1619 is not set 842# CONFIG_SENSORS_MAX1619 is not set
822# CONFIG_SENSORS_PC87360 is not set 843# CONFIG_SENSORS_PC87360 is not set
844# CONFIG_SENSORS_PC87427 is not set
823# CONFIG_SENSORS_SIS5595 is not set 845# CONFIG_SENSORS_SIS5595 is not set
824# CONFIG_SENSORS_SMSC47M1 is not set 846# CONFIG_SENSORS_SMSC47M1 is not set
825# CONFIG_SENSORS_SMSC47M192 is not set 847# CONFIG_SENSORS_SMSC47M192 is not set
@@ -830,6 +852,7 @@ CONFIG_HWMON=y
830# CONFIG_SENSORS_W83781D is not set 852# CONFIG_SENSORS_W83781D is not set
831# CONFIG_SENSORS_W83791D is not set 853# CONFIG_SENSORS_W83791D is not set
832# CONFIG_SENSORS_W83792D is not set 854# CONFIG_SENSORS_W83792D is not set
855# CONFIG_SENSORS_W83793 is not set
833# CONFIG_SENSORS_W83L785TS is not set 856# CONFIG_SENSORS_W83L785TS is not set
834# CONFIG_SENSORS_W83627HF is not set 857# CONFIG_SENSORS_W83627HF is not set
835# CONFIG_SENSORS_W83627EHF is not set 858# CONFIG_SENSORS_W83627EHF is not set
@@ -883,6 +906,11 @@ CONFIG_DUMMY_CONSOLE=y
883# CONFIG_SOUND is not set 906# CONFIG_SOUND is not set
884 907
885# 908#
909# HID Devices
910#
911CONFIG_HID=y
912
913#
886# USB support 914# USB support
887# 915#
888CONFIG_USB_ARCH_HAS_HCD=y 916CONFIG_USB_ARCH_HAS_HCD=y
@@ -970,6 +998,7 @@ CONFIG_RAMFS=y
970# 998#
971# CONFIG_ADFS_FS is not set 999# CONFIG_ADFS_FS is not set
972# CONFIG_AFFS_FS is not set 1000# CONFIG_AFFS_FS is not set
1001CONFIG_ECRYPT_FS=y
973# CONFIG_HFS_FS is not set 1002# CONFIG_HFS_FS is not set
974# CONFIG_HFSPLUS_FS is not set 1003# CONFIG_HFSPLUS_FS is not set
975# CONFIG_BEFS_FS is not set 1004# CONFIG_BEFS_FS is not set
@@ -1092,6 +1121,11 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1092# CONFIG_NLS_UTF8 is not set 1121# CONFIG_NLS_UTF8 is not set
1093 1122
1094# 1123#
1124# Distributed Lock Manager
1125#
1126# CONFIG_DLM is not set
1127
1128#
1095# Profiling support 1129# Profiling support
1096# 1130#
1097# CONFIG_PROFILING is not set 1131# CONFIG_PROFILING is not set
@@ -1103,28 +1137,68 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1103CONFIG_ENABLE_MUST_CHECK=y 1137CONFIG_ENABLE_MUST_CHECK=y
1104# CONFIG_MAGIC_SYSRQ is not set 1138# CONFIG_MAGIC_SYSRQ is not set
1105# CONFIG_UNUSED_SYMBOLS is not set 1139# CONFIG_UNUSED_SYMBOLS is not set
1140# CONFIG_DEBUG_FS is not set
1141# CONFIG_HEADERS_CHECK is not set
1106# CONFIG_DEBUG_KERNEL is not set 1142# CONFIG_DEBUG_KERNEL is not set
1107CONFIG_LOG_BUF_SHIFT=14 1143CONFIG_LOG_BUF_SHIFT=14
1108CONFIG_DEBUG_BUGVERBOSE=y 1144CONFIG_DEBUG_BUGVERBOSE=y
1109# CONFIG_DEBUG_FS is not set
1110CONFIG_FRAME_POINTER=y 1145CONFIG_FRAME_POINTER=y
1111# CONFIG_HEADERS_CHECK is not set
1112CONFIG_DEBUG_USER=y 1146CONFIG_DEBUG_USER=y
1113 1147
1114# 1148#
1115# Security options 1149# Security options
1116# 1150#
1117# CONFIG_KEYS is not set 1151CONFIG_KEYS=y
1152CONFIG_KEYS_DEBUG_PROC_KEYS=y
1118# CONFIG_SECURITY is not set 1153# CONFIG_SECURITY is not set
1119 1154
1120# 1155#
1121# Cryptographic options 1156# Cryptographic options
1122# 1157#
1123# CONFIG_CRYPTO is not set 1158CONFIG_CRYPTO=y
1159CONFIG_CRYPTO_ALGAPI=y
1160CONFIG_CRYPTO_BLKCIPHER=y
1161CONFIG_CRYPTO_HASH=y
1162CONFIG_CRYPTO_MANAGER=y
1163CONFIG_CRYPTO_HMAC=y
1164CONFIG_CRYPTO_XCBC=y
1165CONFIG_CRYPTO_NULL=y
1166CONFIG_CRYPTO_MD4=y
1167CONFIG_CRYPTO_MD5=y
1168CONFIG_CRYPTO_SHA1=y
1169CONFIG_CRYPTO_SHA256=y
1170CONFIG_CRYPTO_SHA512=y
1171CONFIG_CRYPTO_WP512=y
1172CONFIG_CRYPTO_TGR192=y
1173CONFIG_CRYPTO_GF128MUL=y
1174CONFIG_CRYPTO_ECB=y
1175CONFIG_CRYPTO_CBC=y
1176CONFIG_CRYPTO_LRW=y
1177CONFIG_CRYPTO_DES=y
1178CONFIG_CRYPTO_BLOWFISH=y
1179CONFIG_CRYPTO_TWOFISH=y
1180CONFIG_CRYPTO_TWOFISH_COMMON=y
1181CONFIG_CRYPTO_SERPENT=y
1182CONFIG_CRYPTO_AES=y
1183CONFIG_CRYPTO_CAST5=y
1184CONFIG_CRYPTO_CAST6=y
1185CONFIG_CRYPTO_TEA=y
1186CONFIG_CRYPTO_ARC4=y
1187CONFIG_CRYPTO_KHAZAD=y
1188CONFIG_CRYPTO_ANUBIS=y
1189CONFIG_CRYPTO_DEFLATE=y
1190CONFIG_CRYPTO_MICHAEL_MIC=y
1191CONFIG_CRYPTO_CRC32C=y
1192# CONFIG_CRYPTO_TEST is not set
1193
1194#
1195# Hardware crypto devices
1196#
1124 1197
1125# 1198#
1126# Library routines 1199# Library routines
1127# 1200#
1201CONFIG_BITREVERSE=y
1128CONFIG_CRC_CCITT=y 1202CONFIG_CRC_CCITT=y
1129# CONFIG_CRC16 is not set 1203# CONFIG_CRC16 is not set
1130CONFIG_CRC32=y 1204CONFIG_CRC32=y
@@ -1132,3 +1206,4 @@ CONFIG_LIBCRC32C=y
1132CONFIG_ZLIB_INFLATE=y 1206CONFIG_ZLIB_INFLATE=y
1133CONFIG_ZLIB_DEFLATE=y 1207CONFIG_ZLIB_DEFLATE=y
1134CONFIG_PLIST=y 1208CONFIG_PLIST=y
1209CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/iop32x_defconfig b/arch/arm/configs/iop32x_defconfig
index b275c53728ec..7909a555706d 100644
--- a/arch/arm/configs/iop32x_defconfig
+++ b/arch/arm/configs/iop32x_defconfig
@@ -1,15 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc7 3# Linux kernel version: 2.6.20-rc1-git5
4# Tue Sep 19 00:30:18 2006 4# Tue Dec 19 21:37:52 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
9CONFIG_TRACE_IRQFLAGS_SUPPORT=y 10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
10CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
11CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
12CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
13CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
14CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
15CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -29,18 +32,22 @@ CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y 32CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y 33CONFIG_SWAP=y
31CONFIG_SYSVIPC=y 34CONFIG_SYSVIPC=y
35# CONFIG_IPC_NS is not set
32# CONFIG_POSIX_MQUEUE is not set 36# CONFIG_POSIX_MQUEUE is not set
33CONFIG_BSD_PROCESS_ACCT=y 37CONFIG_BSD_PROCESS_ACCT=y
34# CONFIG_BSD_PROCESS_ACCT_V3 is not set 38# CONFIG_BSD_PROCESS_ACCT_V3 is not set
35# CONFIG_TASKSTATS is not set 39# CONFIG_TASKSTATS is not set
36CONFIG_SYSCTL=y 40# CONFIG_UTS_NS is not set
37# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
38# CONFIG_IKCONFIG is not set 42# CONFIG_IKCONFIG is not set
43CONFIG_SYSFS_DEPRECATED=y
39# CONFIG_RELAY is not set 44# CONFIG_RELAY is not set
40CONFIG_INITRAMFS_SOURCE="" 45CONFIG_INITRAMFS_SOURCE=""
41CONFIG_UID16=y
42CONFIG_CC_OPTIMIZE_FOR_SIZE=y 46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
43# CONFIG_EMBEDDED is not set 48# CONFIG_EMBEDDED is not set
49CONFIG_UID16=y
50CONFIG_SYSCTL_SYSCALL=y
44CONFIG_KALLSYMS=y 51CONFIG_KALLSYMS=y
45CONFIG_KALLSYMS_ALL=y 52CONFIG_KALLSYMS_ALL=y
46# CONFIG_KALLSYMS_EXTRA_PASS is not set 53# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -49,12 +56,12 @@ CONFIG_PRINTK=y
49CONFIG_BUG=y 56CONFIG_BUG=y
50CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
51CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
52CONFIG_RT_MUTEXES=y
53CONFIG_FUTEX=y 59CONFIG_FUTEX=y
54CONFIG_EPOLL=y 60CONFIG_EPOLL=y
55CONFIG_SHMEM=y 61CONFIG_SHMEM=y
56CONFIG_SLAB=y 62CONFIG_SLAB=y
57CONFIG_VM_EVENT_COUNTERS=y 63CONFIG_VM_EVENT_COUNTERS=y
64CONFIG_RT_MUTEXES=y
58# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
59CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
60# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -72,7 +79,10 @@ CONFIG_KMOD=y
72# 79#
73# Block layer 80# Block layer
74# 81#
82CONFIG_BLOCK=y
83# CONFIG_LBD is not set
75# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
85# CONFIG_LSF is not set
76 86
77# 87#
78# IO Schedulers 88# IO Schedulers
@@ -106,6 +116,7 @@ CONFIG_DEFAULT_IOSCHED="cfq"
106# CONFIG_ARCH_IMX is not set 116# CONFIG_ARCH_IMX is not set
107CONFIG_ARCH_IOP32X=y 117CONFIG_ARCH_IOP32X=y
108# CONFIG_ARCH_IOP33X is not set 118# CONFIG_ARCH_IOP33X is not set
119# CONFIG_ARCH_IOP13XX is not set
109# CONFIG_ARCH_IXP4XX is not set 120# CONFIG_ARCH_IXP4XX is not set
110# CONFIG_ARCH_IXP2000 is not set 121# CONFIG_ARCH_IXP2000 is not set
111# CONFIG_ARCH_IXP23XX is not set 122# CONFIG_ARCH_IXP23XX is not set
@@ -141,17 +152,22 @@ CONFIG_CPU_32v5=y
141CONFIG_CPU_ABRT_EV5T=y 152CONFIG_CPU_ABRT_EV5T=y
142CONFIG_CPU_CACHE_VIVT=y 153CONFIG_CPU_CACHE_VIVT=y
143CONFIG_CPU_TLB_V4WBI=y 154CONFIG_CPU_TLB_V4WBI=y
155CONFIG_CPU_CP15=y
156CONFIG_CPU_CP15_MMU=y
144 157
145# 158#
146# Processor Features 159# Processor Features
147# 160#
148# CONFIG_ARM_THUMB is not set 161# CONFIG_ARM_THUMB is not set
162# CONFIG_CPU_DCACHE_DISABLE is not set
163# CONFIG_IWMMXT is not set
149CONFIG_XSCALE_PMU=y 164CONFIG_XSCALE_PMU=y
150 165
151# 166#
152# Bus support 167# Bus support
153# 168#
154CONFIG_PCI=y 169CONFIG_PCI=y
170# CONFIG_PCI_MULTITHREAD_PROBE is not set
155# CONFIG_PCI_DEBUG is not set 171# CONFIG_PCI_DEBUG is not set
156 172
157# 173#
@@ -225,6 +241,7 @@ CONFIG_PACKET_MMAP=y
225CONFIG_UNIX=y 241CONFIG_UNIX=y
226CONFIG_XFRM=y 242CONFIG_XFRM=y
227# CONFIG_XFRM_USER is not set 243# CONFIG_XFRM_USER is not set
244# CONFIG_XFRM_SUB_POLICY is not set
228# CONFIG_NET_KEY is not set 245# CONFIG_NET_KEY is not set
229CONFIG_INET=y 246CONFIG_INET=y
230CONFIG_IP_MULTICAST=y 247CONFIG_IP_MULTICAST=y
@@ -246,13 +263,29 @@ CONFIG_IP_PNP_BOOTP=y
246# CONFIG_INET_TUNNEL is not set 263# CONFIG_INET_TUNNEL is not set
247CONFIG_INET_XFRM_MODE_TRANSPORT=y 264CONFIG_INET_XFRM_MODE_TRANSPORT=y
248CONFIG_INET_XFRM_MODE_TUNNEL=y 265CONFIG_INET_XFRM_MODE_TUNNEL=y
266CONFIG_INET_XFRM_MODE_BEET=y
249CONFIG_INET_DIAG=y 267CONFIG_INET_DIAG=y
250CONFIG_INET_TCP_DIAG=y 268CONFIG_INET_TCP_DIAG=y
251# CONFIG_TCP_CONG_ADVANCED is not set 269# CONFIG_TCP_CONG_ADVANCED is not set
252CONFIG_TCP_CONG_BIC=y 270CONFIG_TCP_CONG_CUBIC=y
253# CONFIG_IPV6 is not set 271CONFIG_DEFAULT_TCP_CONG="cubic"
272# CONFIG_TCP_MD5SIG is not set
273CONFIG_IPV6=y
274# CONFIG_IPV6_PRIVACY is not set
275# CONFIG_IPV6_ROUTER_PREF is not set
276# CONFIG_INET6_AH is not set
277# CONFIG_INET6_ESP is not set
278# CONFIG_INET6_IPCOMP is not set
279# CONFIG_IPV6_MIP6 is not set
254# CONFIG_INET6_XFRM_TUNNEL is not set 280# CONFIG_INET6_XFRM_TUNNEL is not set
255# CONFIG_INET6_TUNNEL is not set 281# CONFIG_INET6_TUNNEL is not set
282# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
283# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
284# CONFIG_INET6_XFRM_MODE_BEET is not set
285# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
286# CONFIG_IPV6_SIT is not set
287# CONFIG_IPV6_TUNNEL is not set
288# CONFIG_IPV6_MULTIPLE_TABLES is not set
256# CONFIG_NETWORK_SECMARK is not set 289# CONFIG_NETWORK_SECMARK is not set
257# CONFIG_NETFILTER is not set 290# CONFIG_NETFILTER is not set
258 291
@@ -279,7 +312,6 @@ CONFIG_TCP_CONG_BIC=y
279# CONFIG_ATALK is not set 312# CONFIG_ATALK is not set
280# CONFIG_X25 is not set 313# CONFIG_X25 is not set
281# CONFIG_LAPB is not set 314# CONFIG_LAPB is not set
282# CONFIG_NET_DIVERT is not set
283# CONFIG_ECONET is not set 315# CONFIG_ECONET is not set
284# CONFIG_WAN_ROUTER is not set 316# CONFIG_WAN_ROUTER is not set
285 317
@@ -338,6 +370,7 @@ CONFIG_MTD_BLOCK=y
338# CONFIG_NFTL is not set 370# CONFIG_NFTL is not set
339# CONFIG_INFTL is not set 371# CONFIG_INFTL is not set
340# CONFIG_RFD_FTL is not set 372# CONFIG_RFD_FTL is not set
373# CONFIG_SSFDC is not set
341 374
342# 375#
343# RAM/ROM/Flash chip drivers 376# RAM/ROM/Flash chip drivers
@@ -419,9 +452,11 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
419# CONFIG_BLK_DEV_DAC960 is not set 452# CONFIG_BLK_DEV_DAC960 is not set
420# CONFIG_BLK_DEV_UMEM is not set 453# CONFIG_BLK_DEV_UMEM is not set
421# CONFIG_BLK_DEV_COW_COMMON is not set 454# CONFIG_BLK_DEV_COW_COMMON is not set
422# CONFIG_BLK_DEV_LOOP is not set 455CONFIG_BLK_DEV_LOOP=y
423# CONFIG_BLK_DEV_NBD is not set 456# CONFIG_BLK_DEV_CRYPTOLOOP is not set
457CONFIG_BLK_DEV_NBD=y
424# CONFIG_BLK_DEV_SX8 is not set 458# CONFIG_BLK_DEV_SX8 is not set
459# CONFIG_BLK_DEV_UB is not set
425CONFIG_BLK_DEV_RAM=y 460CONFIG_BLK_DEV_RAM=y
426CONFIG_BLK_DEV_RAM_COUNT=16 461CONFIG_BLK_DEV_RAM_COUNT=16
427CONFIG_BLK_DEV_RAM_SIZE=8192 462CONFIG_BLK_DEV_RAM_SIZE=8192
@@ -440,6 +475,8 @@ CONFIG_BLK_DEV_INITRD=y
440# 475#
441# CONFIG_RAID_ATTRS is not set 476# CONFIG_RAID_ATTRS is not set
442CONFIG_SCSI=y 477CONFIG_SCSI=y
478# CONFIG_SCSI_TGT is not set
479# CONFIG_SCSI_NETLINK is not set
443CONFIG_SCSI_PROC_FS=y 480CONFIG_SCSI_PROC_FS=y
444 481
445# 482#
@@ -458,14 +495,16 @@ CONFIG_CHR_DEV_SG=y
458# CONFIG_SCSI_MULTI_LUN is not set 495# CONFIG_SCSI_MULTI_LUN is not set
459# CONFIG_SCSI_CONSTANTS is not set 496# CONFIG_SCSI_CONSTANTS is not set
460# CONFIG_SCSI_LOGGING is not set 497# CONFIG_SCSI_LOGGING is not set
498# CONFIG_SCSI_SCAN_ASYNC is not set
461 499
462# 500#
463# SCSI Transport Attributes 501# SCSI Transports
464# 502#
465# CONFIG_SCSI_SPI_ATTRS is not set 503# CONFIG_SCSI_SPI_ATTRS is not set
466# CONFIG_SCSI_FC_ATTRS is not set 504# CONFIG_SCSI_FC_ATTRS is not set
467# CONFIG_SCSI_ISCSI_ATTRS is not set 505# CONFIG_SCSI_ISCSI_ATTRS is not set
468# CONFIG_SCSI_SAS_ATTRS is not set 506# CONFIG_SCSI_SAS_ATTRS is not set
507# CONFIG_SCSI_SAS_LIBSAS is not set
469 508
470# 509#
471# SCSI low-level drivers 510# SCSI low-level drivers
@@ -478,26 +517,84 @@ CONFIG_CHR_DEV_SG=y
478# CONFIG_SCSI_AIC7XXX is not set 517# CONFIG_SCSI_AIC7XXX is not set
479# CONFIG_SCSI_AIC7XXX_OLD is not set 518# CONFIG_SCSI_AIC7XXX_OLD is not set
480# CONFIG_SCSI_AIC79XX is not set 519# CONFIG_SCSI_AIC79XX is not set
520# CONFIG_SCSI_AIC94XX is not set
481# CONFIG_SCSI_DPT_I2O is not set 521# CONFIG_SCSI_DPT_I2O is not set
522# CONFIG_SCSI_ARCMSR is not set
482# CONFIG_MEGARAID_NEWGEN is not set 523# CONFIG_MEGARAID_NEWGEN is not set
483# CONFIG_MEGARAID_LEGACY is not set 524# CONFIG_MEGARAID_LEGACY is not set
484# CONFIG_MEGARAID_SAS is not set 525# CONFIG_MEGARAID_SAS is not set
485# CONFIG_SCSI_SATA is not set
486# CONFIG_SCSI_HPTIOP is not set 526# CONFIG_SCSI_HPTIOP is not set
487# CONFIG_SCSI_DMX3191D is not set 527# CONFIG_SCSI_DMX3191D is not set
488# CONFIG_SCSI_FUTURE_DOMAIN is not set 528# CONFIG_SCSI_FUTURE_DOMAIN is not set
489# CONFIG_SCSI_IPS is not set 529# CONFIG_SCSI_IPS is not set
490# CONFIG_SCSI_INITIO is not set 530# CONFIG_SCSI_INITIO is not set
491# CONFIG_SCSI_INIA100 is not set 531# CONFIG_SCSI_INIA100 is not set
532# CONFIG_SCSI_STEX is not set
492# CONFIG_SCSI_SYM53C8XX_2 is not set 533# CONFIG_SCSI_SYM53C8XX_2 is not set
493# CONFIG_SCSI_IPR is not set 534# CONFIG_SCSI_IPR is not set
494# CONFIG_SCSI_QLOGIC_1280 is not set 535# CONFIG_SCSI_QLOGIC_1280 is not set
495# CONFIG_SCSI_QLA_FC is not set 536# CONFIG_SCSI_QLA_FC is not set
537# CONFIG_SCSI_QLA_ISCSI is not set
496# CONFIG_SCSI_LPFC is not set 538# CONFIG_SCSI_LPFC is not set
497# CONFIG_SCSI_DC395x is not set 539# CONFIG_SCSI_DC395x is not set
498# CONFIG_SCSI_DC390T is not set 540# CONFIG_SCSI_DC390T is not set
499# CONFIG_SCSI_NSP32 is not set 541# CONFIG_SCSI_NSP32 is not set
500# CONFIG_SCSI_DEBUG is not set 542# CONFIG_SCSI_DEBUG is not set
543# CONFIG_SCSI_SRP is not set
544
545#
546# Serial ATA (prod) and Parallel ATA (experimental) drivers
547#
548CONFIG_ATA=y
549# CONFIG_SATA_AHCI is not set
550# CONFIG_SATA_SVW is not set
551# CONFIG_ATA_PIIX is not set
552# CONFIG_SATA_MV is not set
553# CONFIG_SATA_NV is not set
554# CONFIG_PDC_ADMA is not set
555# CONFIG_SATA_QSTOR is not set
556# CONFIG_SATA_PROMISE is not set
557# CONFIG_SATA_SX4 is not set
558CONFIG_SATA_SIL=y
559# CONFIG_SATA_SIL24 is not set
560# CONFIG_SATA_SIS is not set
561# CONFIG_SATA_ULI is not set
562# CONFIG_SATA_VIA is not set
563# CONFIG_SATA_VITESSE is not set
564# CONFIG_PATA_ALI is not set
565# CONFIG_PATA_AMD is not set
566# CONFIG_PATA_ARTOP is not set
567# CONFIG_PATA_ATIIXP is not set
568# CONFIG_PATA_CMD64X is not set
569# CONFIG_PATA_CS5520 is not set
570# CONFIG_PATA_CS5530 is not set
571# CONFIG_PATA_CYPRESS is not set
572# CONFIG_PATA_EFAR is not set
573# CONFIG_ATA_GENERIC is not set
574# CONFIG_PATA_HPT366 is not set
575# CONFIG_PATA_HPT37X is not set
576# CONFIG_PATA_HPT3X2N is not set
577# CONFIG_PATA_HPT3X3 is not set
578# CONFIG_PATA_IT821X is not set
579# CONFIG_PATA_JMICRON is not set
580# CONFIG_PATA_TRIFLEX is not set
581# CONFIG_PATA_MARVELL is not set
582# CONFIG_PATA_MPIIX is not set
583# CONFIG_PATA_OLDPIIX is not set
584# CONFIG_PATA_NETCELL is not set
585# CONFIG_PATA_NS87410 is not set
586# CONFIG_PATA_OPTI is not set
587# CONFIG_PATA_OPTIDMA is not set
588# CONFIG_PATA_PDC_OLD is not set
589# CONFIG_PATA_RADISYS is not set
590# CONFIG_PATA_RZ1000 is not set
591# CONFIG_PATA_SC1200 is not set
592# CONFIG_PATA_SERVERWORKS is not set
593# CONFIG_PATA_PDC2027X is not set
594# CONFIG_PATA_SIL680 is not set
595# CONFIG_PATA_SIS is not set
596# CONFIG_PATA_VIA is not set
597# CONFIG_PATA_WINBOND is not set
501 598
502# 599#
503# Multi-device support (RAID and LVM) 600# Multi-device support (RAID and LVM)
@@ -512,6 +609,7 @@ CONFIG_MD_RAID1=y
512# CONFIG_MD_MULTIPATH is not set 609# CONFIG_MD_MULTIPATH is not set
513# CONFIG_MD_FAULTY is not set 610# CONFIG_MD_FAULTY is not set
514CONFIG_BLK_DEV_DM=y 611CONFIG_BLK_DEV_DM=y
612# CONFIG_DM_DEBUG is not set
515# CONFIG_DM_CRYPT is not set 613# CONFIG_DM_CRYPT is not set
516# CONFIG_DM_SNAPSHOT is not set 614# CONFIG_DM_SNAPSHOT is not set
517# CONFIG_DM_MIRROR is not set 615# CONFIG_DM_MIRROR is not set
@@ -612,6 +710,7 @@ CONFIG_R8169=y
612# CONFIG_VIA_VELOCITY is not set 710# CONFIG_VIA_VELOCITY is not set
613# CONFIG_TIGON3 is not set 711# CONFIG_TIGON3 is not set
614# CONFIG_BNX2 is not set 712# CONFIG_BNX2 is not set
713# CONFIG_QLA3XXX is not set
615 714
616# 715#
617# Ethernet (10000 Mbit) 716# Ethernet (10000 Mbit)
@@ -620,6 +719,7 @@ CONFIG_R8169=y
620# CONFIG_IXGB is not set 719# CONFIG_IXGB is not set
621# CONFIG_S2IO is not set 720# CONFIG_S2IO is not set
622# CONFIG_MYRI10GE is not set 721# CONFIG_MYRI10GE is not set
722# CONFIG_NETXEN_NIC is not set
623 723
624# 724#
625# Token Ring devices 725# Token Ring devices
@@ -654,6 +754,7 @@ CONFIG_R8169=y
654# Input device support 754# Input device support
655# 755#
656CONFIG_INPUT=y 756CONFIG_INPUT=y
757# CONFIG_INPUT_FF_MEMLESS is not set
657 758
658# 759#
659# Userland interfaces 760# Userland interfaces
@@ -725,10 +826,6 @@ CONFIG_HW_RANDOM=y
725# CONFIG_DTLK is not set 826# CONFIG_DTLK is not set
726# CONFIG_R3964 is not set 827# CONFIG_R3964 is not set
727# CONFIG_APPLICOM is not set 828# CONFIG_APPLICOM is not set
728
729#
730# Ftape, the floppy tape device driver
731#
732# CONFIG_DRM is not set 829# CONFIG_DRM is not set
733# CONFIG_RAW_DRIVER is not set 830# CONFIG_RAW_DRIVER is not set
734 831
@@ -736,7 +833,6 @@ CONFIG_HW_RANDOM=y
736# TPM devices 833# TPM devices
737# 834#
738# CONFIG_TCG_TPM is not set 835# CONFIG_TCG_TPM is not set
739# CONFIG_TELCLOCK is not set
740 836
741# 837#
742# I2C support 838# I2C support
@@ -801,6 +897,7 @@ CONFIG_I2C_IOP3XX=y
801# 897#
802# Dallas's 1-wire bus 898# Dallas's 1-wire bus
803# 899#
900# CONFIG_W1 is not set
804 901
805# 902#
806# Hardware Monitoring support 903# Hardware Monitoring support
@@ -834,15 +931,18 @@ CONFIG_HWMON=y
834# CONFIG_SENSORS_LM92 is not set 931# CONFIG_SENSORS_LM92 is not set
835# CONFIG_SENSORS_MAX1619 is not set 932# CONFIG_SENSORS_MAX1619 is not set
836# CONFIG_SENSORS_PC87360 is not set 933# CONFIG_SENSORS_PC87360 is not set
934# CONFIG_SENSORS_PC87427 is not set
837# CONFIG_SENSORS_SIS5595 is not set 935# CONFIG_SENSORS_SIS5595 is not set
838# CONFIG_SENSORS_SMSC47M1 is not set 936# CONFIG_SENSORS_SMSC47M1 is not set
839# CONFIG_SENSORS_SMSC47M192 is not set 937# CONFIG_SENSORS_SMSC47M192 is not set
840# CONFIG_SENSORS_SMSC47B397 is not set 938# CONFIG_SENSORS_SMSC47B397 is not set
841# CONFIG_SENSORS_VIA686A is not set 939# CONFIG_SENSORS_VIA686A is not set
940# CONFIG_SENSORS_VT1211 is not set
842# CONFIG_SENSORS_VT8231 is not set 941# CONFIG_SENSORS_VT8231 is not set
843# CONFIG_SENSORS_W83781D is not set 942# CONFIG_SENSORS_W83781D is not set
844# CONFIG_SENSORS_W83791D is not set 943# CONFIG_SENSORS_W83791D is not set
845# CONFIG_SENSORS_W83792D is not set 944# CONFIG_SENSORS_W83792D is not set
945# CONFIG_SENSORS_W83793 is not set
846# CONFIG_SENSORS_W83L785TS is not set 946# CONFIG_SENSORS_W83L785TS is not set
847# CONFIG_SENSORS_W83627HF is not set 947# CONFIG_SENSORS_W83627HF is not set
848# CONFIG_SENSORS_W83627EHF is not set 948# CONFIG_SENSORS_W83627EHF is not set
@@ -851,6 +951,8 @@ CONFIG_HWMON=y
851# 951#
852# Misc devices 952# Misc devices
853# 953#
954# CONFIG_SGI_IOC4 is not set
955# CONFIG_TIFM_CORE is not set
854 956
855# 957#
856# LED devices 958# LED devices
@@ -869,12 +971,12 @@ CONFIG_HWMON=y
869# Multimedia devices 971# Multimedia devices
870# 972#
871# CONFIG_VIDEO_DEV is not set 973# CONFIG_VIDEO_DEV is not set
872CONFIG_VIDEO_V4L2=y
873 974
874# 975#
875# Digital Video Broadcasting Devices 976# Digital Video Broadcasting Devices
876# 977#
877# CONFIG_DVB is not set 978# CONFIG_DVB is not set
979# CONFIG_USB_DABUSB is not set
878 980
879# 981#
880# Graphics support 982# Graphics support
@@ -895,6 +997,11 @@ CONFIG_DUMMY_CONSOLE=y
895# CONFIG_SOUND is not set 997# CONFIG_SOUND is not set
896 998
897# 999#
1000# HID Devices
1001#
1002CONFIG_HID=y
1003
1004#
898# USB support 1005# USB support
899# 1006#
900CONFIG_USB_ARCH_HAS_HCD=y 1007CONFIG_USB_ARCH_HAS_HCD=y
@@ -909,6 +1016,7 @@ CONFIG_USB=y
909# CONFIG_USB_DEVICEFS is not set 1016# CONFIG_USB_DEVICEFS is not set
910# CONFIG_USB_BANDWIDTH is not set 1017# CONFIG_USB_BANDWIDTH is not set
911# CONFIG_USB_DYNAMIC_MINORS is not set 1018# CONFIG_USB_DYNAMIC_MINORS is not set
1019# CONFIG_USB_MULTITHREAD_PROBE is not set
912# CONFIG_USB_OTG is not set 1020# CONFIG_USB_OTG is not set
913 1021
914# 1022#
@@ -946,6 +1054,7 @@ CONFIG_USB_STORAGE=y
946# CONFIG_USB_STORAGE_SDDR55 is not set 1054# CONFIG_USB_STORAGE_SDDR55 is not set
947# CONFIG_USB_STORAGE_JUMPSHOT is not set 1055# CONFIG_USB_STORAGE_JUMPSHOT is not set
948# CONFIG_USB_STORAGE_ALAUDA is not set 1056# CONFIG_USB_STORAGE_ALAUDA is not set
1057# CONFIG_USB_STORAGE_KARMA is not set
949# CONFIG_USB_LIBUSUAL is not set 1058# CONFIG_USB_LIBUSUAL is not set
950 1059
951# 1060#
@@ -984,6 +1093,7 @@ CONFIG_USB_STORAGE=y
984# CONFIG_USB_KAWETH is not set 1093# CONFIG_USB_KAWETH is not set
985# CONFIG_USB_PEGASUS is not set 1094# CONFIG_USB_PEGASUS is not set
986# CONFIG_USB_RTL8150 is not set 1095# CONFIG_USB_RTL8150 is not set
1096# CONFIG_USB_USBNET_MII is not set
987# CONFIG_USB_USBNET is not set 1097# CONFIG_USB_USBNET is not set
988CONFIG_USB_MON=y 1098CONFIG_USB_MON=y
989 1099
@@ -1001,6 +1111,7 @@ CONFIG_USB_MON=y
1001# 1111#
1002# CONFIG_USB_EMI62 is not set 1112# CONFIG_USB_EMI62 is not set
1003# CONFIG_USB_EMI26 is not set 1113# CONFIG_USB_EMI26 is not set
1114# CONFIG_USB_ADUTUX is not set
1004# CONFIG_USB_AUERSWALD is not set 1115# CONFIG_USB_AUERSWALD is not set
1005# CONFIG_USB_RIO500 is not set 1116# CONFIG_USB_RIO500 is not set
1006# CONFIG_USB_LEGOTOWER is not set 1117# CONFIG_USB_LEGOTOWER is not set
@@ -1008,12 +1119,13 @@ CONFIG_USB_MON=y
1008# CONFIG_USB_LED is not set 1119# CONFIG_USB_LED is not set
1009# CONFIG_USB_CYPRESS_CY7C63 is not set 1120# CONFIG_USB_CYPRESS_CY7C63 is not set
1010# CONFIG_USB_CYTHERM is not set 1121# CONFIG_USB_CYTHERM is not set
1011# CONFIG_USB_PHIDGETKIT is not set 1122# CONFIG_USB_PHIDGET is not set
1012# CONFIG_USB_PHIDGETSERVO is not set
1013# CONFIG_USB_IDMOUSE is not set 1123# CONFIG_USB_IDMOUSE is not set
1124# CONFIG_USB_FTDI_ELAN is not set
1014# CONFIG_USB_APPLEDISPLAY is not set 1125# CONFIG_USB_APPLEDISPLAY is not set
1015# CONFIG_USB_SISUSBVGA is not set 1126# CONFIG_USB_SISUSBVGA is not set
1016# CONFIG_USB_LD is not set 1127# CONFIG_USB_LD is not set
1128# CONFIG_USB_TRANCEVIBRATOR is not set
1017 1129
1018# 1130#
1019# USB DSL modem support 1131# USB DSL modem support
@@ -1045,6 +1157,7 @@ CONFIG_EXT3_FS=y
1045CONFIG_EXT3_FS_XATTR=y 1157CONFIG_EXT3_FS_XATTR=y
1046# CONFIG_EXT3_FS_POSIX_ACL is not set 1158# CONFIG_EXT3_FS_POSIX_ACL is not set
1047# CONFIG_EXT3_FS_SECURITY is not set 1159# CONFIG_EXT3_FS_SECURITY is not set
1160# CONFIG_EXT4DEV_FS is not set
1048CONFIG_JBD=y 1161CONFIG_JBD=y
1049# CONFIG_JBD_DEBUG is not set 1162# CONFIG_JBD_DEBUG is not set
1050CONFIG_FS_MBCACHE=y 1163CONFIG_FS_MBCACHE=y
@@ -1056,6 +1169,7 @@ CONFIG_XFS_FS=y
1056CONFIG_XFS_SECURITY=y 1169CONFIG_XFS_SECURITY=y
1057CONFIG_XFS_POSIX_ACL=y 1170CONFIG_XFS_POSIX_ACL=y
1058# CONFIG_XFS_RT is not set 1171# CONFIG_XFS_RT is not set
1172# CONFIG_GFS2_FS is not set
1059# CONFIG_OCFS2_FS is not set 1173# CONFIG_OCFS2_FS is not set
1060# CONFIG_MINIX_FS is not set 1174# CONFIG_MINIX_FS is not set
1061# CONFIG_ROMFS_FS is not set 1175# CONFIG_ROMFS_FS is not set
@@ -1084,8 +1198,10 @@ CONFIG_DNOTIFY=y
1084# Pseudo filesystems 1198# Pseudo filesystems
1085# 1199#
1086CONFIG_PROC_FS=y 1200CONFIG_PROC_FS=y
1201CONFIG_PROC_SYSCTL=y
1087CONFIG_SYSFS=y 1202CONFIG_SYSFS=y
1088CONFIG_TMPFS=y 1203CONFIG_TMPFS=y
1204# CONFIG_TMPFS_POSIX_ACL is not set
1089# CONFIG_HUGETLB_PAGE is not set 1205# CONFIG_HUGETLB_PAGE is not set
1090CONFIG_RAMFS=y 1206CONFIG_RAMFS=y
1091# CONFIG_CONFIGFS_FS is not set 1207# CONFIG_CONFIGFS_FS is not set
@@ -1095,6 +1211,7 @@ CONFIG_RAMFS=y
1095# 1211#
1096# CONFIG_ADFS_FS is not set 1212# CONFIG_ADFS_FS is not set
1097# CONFIG_AFFS_FS is not set 1213# CONFIG_AFFS_FS is not set
1214CONFIG_ECRYPT_FS=y
1098# CONFIG_HFS_FS is not set 1215# CONFIG_HFS_FS is not set
1099# CONFIG_HFSPLUS_FS is not set 1216# CONFIG_HFSPLUS_FS is not set
1100# CONFIG_BEFS_FS is not set 1217# CONFIG_BEFS_FS is not set
@@ -1129,7 +1246,7 @@ CONFIG_NFSD=y
1129CONFIG_NFSD_V3=y 1246CONFIG_NFSD_V3=y
1130# CONFIG_NFSD_V3_ACL is not set 1247# CONFIG_NFSD_V3_ACL is not set
1131# CONFIG_NFSD_V4 is not set 1248# CONFIG_NFSD_V4 is not set
1132# CONFIG_NFSD_TCP is not set 1249CONFIG_NFSD_TCP=y
1133CONFIG_ROOT_NFS=y 1250CONFIG_ROOT_NFS=y
1134CONFIG_LOCKD=y 1251CONFIG_LOCKD=y
1135CONFIG_LOCKD_V4=y 1252CONFIG_LOCKD_V4=y
@@ -1172,6 +1289,11 @@ CONFIG_MSDOS_PARTITION=y
1172# CONFIG_NLS is not set 1289# CONFIG_NLS is not set
1173 1290
1174# 1291#
1292# Distributed Lock Manager
1293#
1294# CONFIG_DLM is not set
1295
1296#
1175# Profiling support 1297# Profiling support
1176# 1298#
1177# CONFIG_PROFILING is not set 1299# CONFIG_PROFILING is not set
@@ -1180,8 +1302,11 @@ CONFIG_MSDOS_PARTITION=y
1180# Kernel hacking 1302# Kernel hacking
1181# 1303#
1182# CONFIG_PRINTK_TIME is not set 1304# CONFIG_PRINTK_TIME is not set
1305CONFIG_ENABLE_MUST_CHECK=y
1183CONFIG_MAGIC_SYSRQ=y 1306CONFIG_MAGIC_SYSRQ=y
1184# CONFIG_UNUSED_SYMBOLS is not set 1307# CONFIG_UNUSED_SYMBOLS is not set
1308# CONFIG_DEBUG_FS is not set
1309# CONFIG_HEADERS_CHECK is not set
1185CONFIG_DEBUG_KERNEL=y 1310CONFIG_DEBUG_KERNEL=y
1186CONFIG_LOG_BUF_SHIFT=14 1311CONFIG_LOG_BUF_SHIFT=14
1187CONFIG_DETECT_SOFTLOCKUP=y 1312CONFIG_DETECT_SOFTLOCKUP=y
@@ -1197,10 +1322,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
1197# CONFIG_DEBUG_KOBJECT is not set 1322# CONFIG_DEBUG_KOBJECT is not set
1198CONFIG_DEBUG_BUGVERBOSE=y 1323CONFIG_DEBUG_BUGVERBOSE=y
1199# CONFIG_DEBUG_INFO is not set 1324# CONFIG_DEBUG_INFO is not set
1200# CONFIG_DEBUG_FS is not set
1201# CONFIG_DEBUG_VM is not set 1325# CONFIG_DEBUG_VM is not set
1326# CONFIG_DEBUG_LIST is not set
1202CONFIG_FRAME_POINTER=y 1327CONFIG_FRAME_POINTER=y
1203# CONFIG_UNWIND_INFO is not set
1204# CONFIG_FORCED_INLINING is not set 1328# CONFIG_FORCED_INLINING is not set
1205# CONFIG_RCU_TORTURE_TEST is not set 1329# CONFIG_RCU_TORTURE_TEST is not set
1206CONFIG_DEBUG_USER=y 1330CONFIG_DEBUG_USER=y
@@ -1211,13 +1335,48 @@ CONFIG_DEBUG_LL=y
1211# 1335#
1212# Security options 1336# Security options
1213# 1337#
1214# CONFIG_KEYS is not set 1338CONFIG_KEYS=y
1339CONFIG_KEYS_DEBUG_PROC_KEYS=y
1215# CONFIG_SECURITY is not set 1340# CONFIG_SECURITY is not set
1216 1341
1217# 1342#
1218# Cryptographic options 1343# Cryptographic options
1219# 1344#
1220# CONFIG_CRYPTO is not set 1345CONFIG_CRYPTO=y
1346CONFIG_CRYPTO_ALGAPI=y
1347CONFIG_CRYPTO_BLKCIPHER=y
1348CONFIG_CRYPTO_HASH=y
1349CONFIG_CRYPTO_MANAGER=y
1350CONFIG_CRYPTO_HMAC=y
1351CONFIG_CRYPTO_XCBC=y
1352CONFIG_CRYPTO_NULL=y
1353CONFIG_CRYPTO_MD4=y
1354CONFIG_CRYPTO_MD5=y
1355CONFIG_CRYPTO_SHA1=y
1356CONFIG_CRYPTO_SHA256=y
1357CONFIG_CRYPTO_SHA512=y
1358CONFIG_CRYPTO_WP512=y
1359CONFIG_CRYPTO_TGR192=y
1360CONFIG_CRYPTO_GF128MUL=y
1361CONFIG_CRYPTO_ECB=y
1362CONFIG_CRYPTO_CBC=y
1363CONFIG_CRYPTO_LRW=y
1364CONFIG_CRYPTO_DES=y
1365CONFIG_CRYPTO_BLOWFISH=y
1366CONFIG_CRYPTO_TWOFISH=y
1367CONFIG_CRYPTO_TWOFISH_COMMON=y
1368CONFIG_CRYPTO_SERPENT=y
1369CONFIG_CRYPTO_AES=y
1370CONFIG_CRYPTO_CAST5=y
1371CONFIG_CRYPTO_CAST6=y
1372CONFIG_CRYPTO_TEA=y
1373CONFIG_CRYPTO_ARC4=y
1374CONFIG_CRYPTO_KHAZAD=y
1375CONFIG_CRYPTO_ANUBIS=y
1376CONFIG_CRYPTO_DEFLATE=y
1377CONFIG_CRYPTO_MICHAEL_MIC=y
1378CONFIG_CRYPTO_CRC32C=y
1379# CONFIG_CRYPTO_TEST is not set
1221 1380
1222# 1381#
1223# Hardware crypto devices 1382# Hardware crypto devices
@@ -1226,10 +1385,12 @@ CONFIG_DEBUG_LL=y
1226# 1385#
1227# Library routines 1386# Library routines
1228# 1387#
1388CONFIG_BITREVERSE=y
1229# CONFIG_CRC_CCITT is not set 1389# CONFIG_CRC_CCITT is not set
1230# CONFIG_CRC16 is not set 1390# CONFIG_CRC16 is not set
1231CONFIG_CRC32=y 1391CONFIG_CRC32=y
1232# CONFIG_LIBCRC32C is not set 1392CONFIG_LIBCRC32C=y
1233CONFIG_ZLIB_INFLATE=y 1393CONFIG_ZLIB_INFLATE=y
1234CONFIG_ZLIB_DEFLATE=y 1394CONFIG_ZLIB_DEFLATE=y
1235CONFIG_PLIST=y 1395CONFIG_PLIST=y
1396CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/iop33x_defconfig b/arch/arm/configs/iop33x_defconfig
index 848e3ace9069..fa271bce8ff7 100644
--- a/arch/arm/configs/iop33x_defconfig
+++ b/arch/arm/configs/iop33x_defconfig
@@ -1,15 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc7 3# Linux kernel version: 2.6.20-rc1
4# Tue Sep 19 00:30:42 2006 4# Sat Dec 16 06:05:34 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
9CONFIG_TRACE_IRQFLAGS_SUPPORT=y 10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
10CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
11CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
12CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
13CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
14CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
15CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -29,18 +32,22 @@ CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y 32CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y 33CONFIG_SWAP=y
31CONFIG_SYSVIPC=y 34CONFIG_SYSVIPC=y
35# CONFIG_IPC_NS is not set
32# CONFIG_POSIX_MQUEUE is not set 36# CONFIG_POSIX_MQUEUE is not set
33CONFIG_BSD_PROCESS_ACCT=y 37CONFIG_BSD_PROCESS_ACCT=y
34# CONFIG_BSD_PROCESS_ACCT_V3 is not set 38# CONFIG_BSD_PROCESS_ACCT_V3 is not set
35# CONFIG_TASKSTATS is not set 39# CONFIG_TASKSTATS is not set
36CONFIG_SYSCTL=y 40# CONFIG_UTS_NS is not set
37# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
38# CONFIG_IKCONFIG is not set 42# CONFIG_IKCONFIG is not set
43CONFIG_SYSFS_DEPRECATED=y
39# CONFIG_RELAY is not set 44# CONFIG_RELAY is not set
40CONFIG_INITRAMFS_SOURCE="" 45CONFIG_INITRAMFS_SOURCE=""
41CONFIG_UID16=y
42CONFIG_CC_OPTIMIZE_FOR_SIZE=y 46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
43# CONFIG_EMBEDDED is not set 48# CONFIG_EMBEDDED is not set
49CONFIG_UID16=y
50CONFIG_SYSCTL_SYSCALL=y
44CONFIG_KALLSYMS=y 51CONFIG_KALLSYMS=y
45CONFIG_KALLSYMS_ALL=y 52CONFIG_KALLSYMS_ALL=y
46# CONFIG_KALLSYMS_EXTRA_PASS is not set 53# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -49,12 +56,12 @@ CONFIG_PRINTK=y
49CONFIG_BUG=y 56CONFIG_BUG=y
50CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
51CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
52CONFIG_RT_MUTEXES=y
53CONFIG_FUTEX=y 59CONFIG_FUTEX=y
54CONFIG_EPOLL=y 60CONFIG_EPOLL=y
55CONFIG_SHMEM=y 61CONFIG_SHMEM=y
56CONFIG_SLAB=y 62CONFIG_SLAB=y
57CONFIG_VM_EVENT_COUNTERS=y 63CONFIG_VM_EVENT_COUNTERS=y
64CONFIG_RT_MUTEXES=y
58# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
59CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
60# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -72,7 +79,10 @@ CONFIG_KMOD=y
72# 79#
73# Block layer 80# Block layer
74# 81#
82CONFIG_BLOCK=y
83# CONFIG_LBD is not set
75# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
85# CONFIG_LSF is not set
76 86
77# 87#
78# IO Schedulers 88# IO Schedulers
@@ -106,6 +116,7 @@ CONFIG_DEFAULT_IOSCHED="cfq"
106# CONFIG_ARCH_IMX is not set 116# CONFIG_ARCH_IMX is not set
107# CONFIG_ARCH_IOP32X is not set 117# CONFIG_ARCH_IOP32X is not set
108CONFIG_ARCH_IOP33X=y 118CONFIG_ARCH_IOP33X=y
119# CONFIG_ARCH_IOP13XX is not set
109# CONFIG_ARCH_IXP4XX is not set 120# CONFIG_ARCH_IXP4XX is not set
110# CONFIG_ARCH_IXP2000 is not set 121# CONFIG_ARCH_IXP2000 is not set
111# CONFIG_ARCH_IXP23XX is not set 122# CONFIG_ARCH_IXP23XX is not set
@@ -139,17 +150,22 @@ CONFIG_CPU_32v5=y
139CONFIG_CPU_ABRT_EV5T=y 150CONFIG_CPU_ABRT_EV5T=y
140CONFIG_CPU_CACHE_VIVT=y 151CONFIG_CPU_CACHE_VIVT=y
141CONFIG_CPU_TLB_V4WBI=y 152CONFIG_CPU_TLB_V4WBI=y
153CONFIG_CPU_CP15=y
154CONFIG_CPU_CP15_MMU=y
142 155
143# 156#
144# Processor Features 157# Processor Features
145# 158#
146# CONFIG_ARM_THUMB is not set 159# CONFIG_ARM_THUMB is not set
160# CONFIG_CPU_DCACHE_DISABLE is not set
161# CONFIG_IWMMXT is not set
147CONFIG_XSCALE_PMU=y 162CONFIG_XSCALE_PMU=y
148 163
149# 164#
150# Bus support 165# Bus support
151# 166#
152CONFIG_PCI=y 167CONFIG_PCI=y
168# CONFIG_PCI_MULTITHREAD_PROBE is not set
153# CONFIG_PCI_DEBUG is not set 169# CONFIG_PCI_DEBUG is not set
154 170
155# 171#
@@ -223,6 +239,7 @@ CONFIG_PACKET_MMAP=y
223CONFIG_UNIX=y 239CONFIG_UNIX=y
224CONFIG_XFRM=y 240CONFIG_XFRM=y
225# CONFIG_XFRM_USER is not set 241# CONFIG_XFRM_USER is not set
242# CONFIG_XFRM_SUB_POLICY is not set
226# CONFIG_NET_KEY is not set 243# CONFIG_NET_KEY is not set
227CONFIG_INET=y 244CONFIG_INET=y
228CONFIG_IP_MULTICAST=y 245CONFIG_IP_MULTICAST=y
@@ -244,13 +261,29 @@ CONFIG_IP_PNP_BOOTP=y
244# CONFIG_INET_TUNNEL is not set 261# CONFIG_INET_TUNNEL is not set
245CONFIG_INET_XFRM_MODE_TRANSPORT=y 262CONFIG_INET_XFRM_MODE_TRANSPORT=y
246CONFIG_INET_XFRM_MODE_TUNNEL=y 263CONFIG_INET_XFRM_MODE_TUNNEL=y
264CONFIG_INET_XFRM_MODE_BEET=y
247CONFIG_INET_DIAG=y 265CONFIG_INET_DIAG=y
248CONFIG_INET_TCP_DIAG=y 266CONFIG_INET_TCP_DIAG=y
249# CONFIG_TCP_CONG_ADVANCED is not set 267# CONFIG_TCP_CONG_ADVANCED is not set
250CONFIG_TCP_CONG_BIC=y 268CONFIG_TCP_CONG_CUBIC=y
251# CONFIG_IPV6 is not set 269CONFIG_DEFAULT_TCP_CONG="cubic"
270# CONFIG_TCP_MD5SIG is not set
271CONFIG_IPV6=y
272# CONFIG_IPV6_PRIVACY is not set
273# CONFIG_IPV6_ROUTER_PREF is not set
274# CONFIG_INET6_AH is not set
275# CONFIG_INET6_ESP is not set
276# CONFIG_INET6_IPCOMP is not set
277# CONFIG_IPV6_MIP6 is not set
252# CONFIG_INET6_XFRM_TUNNEL is not set 278# CONFIG_INET6_XFRM_TUNNEL is not set
253# CONFIG_INET6_TUNNEL is not set 279# CONFIG_INET6_TUNNEL is not set
280# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
281# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
282# CONFIG_INET6_XFRM_MODE_BEET is not set
283# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
284# CONFIG_IPV6_SIT is not set
285# CONFIG_IPV6_TUNNEL is not set
286# CONFIG_IPV6_MULTIPLE_TABLES is not set
254# CONFIG_NETWORK_SECMARK is not set 287# CONFIG_NETWORK_SECMARK is not set
255# CONFIG_NETFILTER is not set 288# CONFIG_NETFILTER is not set
256 289
@@ -277,7 +310,6 @@ CONFIG_TCP_CONG_BIC=y
277# CONFIG_ATALK is not set 310# CONFIG_ATALK is not set
278# CONFIG_X25 is not set 311# CONFIG_X25 is not set
279# CONFIG_LAPB is not set 312# CONFIG_LAPB is not set
280# CONFIG_NET_DIVERT is not set
281# CONFIG_ECONET is not set 313# CONFIG_ECONET is not set
282# CONFIG_WAN_ROUTER is not set 314# CONFIG_WAN_ROUTER is not set
283 315
@@ -336,6 +368,7 @@ CONFIG_MTD_BLOCK=y
336# CONFIG_NFTL is not set 368# CONFIG_NFTL is not set
337# CONFIG_INFTL is not set 369# CONFIG_INFTL is not set
338# CONFIG_RFD_FTL is not set 370# CONFIG_RFD_FTL is not set
371# CONFIG_SSFDC is not set
339 372
340# 373#
341# RAM/ROM/Flash chip drivers 374# RAM/ROM/Flash chip drivers
@@ -423,7 +456,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
423# CONFIG_BLK_DEV_UMEM is not set 456# CONFIG_BLK_DEV_UMEM is not set
424# CONFIG_BLK_DEV_COW_COMMON is not set 457# CONFIG_BLK_DEV_COW_COMMON is not set
425# CONFIG_BLK_DEV_LOOP is not set 458# CONFIG_BLK_DEV_LOOP is not set
426# CONFIG_BLK_DEV_NBD is not set 459CONFIG_BLK_DEV_NBD=y
427# CONFIG_BLK_DEV_SX8 is not set 460# CONFIG_BLK_DEV_SX8 is not set
428CONFIG_BLK_DEV_RAM=y 461CONFIG_BLK_DEV_RAM=y
429CONFIG_BLK_DEV_RAM_COUNT=16 462CONFIG_BLK_DEV_RAM_COUNT=16
@@ -443,6 +476,8 @@ CONFIG_BLK_DEV_INITRD=y
443# 476#
444# CONFIG_RAID_ATTRS is not set 477# CONFIG_RAID_ATTRS is not set
445CONFIG_SCSI=y 478CONFIG_SCSI=y
479# CONFIG_SCSI_TGT is not set
480# CONFIG_SCSI_NETLINK is not set
446CONFIG_SCSI_PROC_FS=y 481CONFIG_SCSI_PROC_FS=y
447 482
448# 483#
@@ -461,14 +496,16 @@ CONFIG_CHR_DEV_SG=y
461# CONFIG_SCSI_MULTI_LUN is not set 496# CONFIG_SCSI_MULTI_LUN is not set
462# CONFIG_SCSI_CONSTANTS is not set 497# CONFIG_SCSI_CONSTANTS is not set
463# CONFIG_SCSI_LOGGING is not set 498# CONFIG_SCSI_LOGGING is not set
499# CONFIG_SCSI_SCAN_ASYNC is not set
464 500
465# 501#
466# SCSI Transport Attributes 502# SCSI Transports
467# 503#
468# CONFIG_SCSI_SPI_ATTRS is not set 504# CONFIG_SCSI_SPI_ATTRS is not set
469# CONFIG_SCSI_FC_ATTRS is not set 505# CONFIG_SCSI_FC_ATTRS is not set
470# CONFIG_SCSI_ISCSI_ATTRS is not set 506# CONFIG_SCSI_ISCSI_ATTRS is not set
471# CONFIG_SCSI_SAS_ATTRS is not set 507# CONFIG_SCSI_SAS_ATTRS is not set
508# CONFIG_SCSI_SAS_LIBSAS is not set
472 509
473# 510#
474# SCSI low-level drivers 511# SCSI low-level drivers
@@ -481,26 +518,34 @@ CONFIG_CHR_DEV_SG=y
481# CONFIG_SCSI_AIC7XXX is not set 518# CONFIG_SCSI_AIC7XXX is not set
482# CONFIG_SCSI_AIC7XXX_OLD is not set 519# CONFIG_SCSI_AIC7XXX_OLD is not set
483# CONFIG_SCSI_AIC79XX is not set 520# CONFIG_SCSI_AIC79XX is not set
521# CONFIG_SCSI_AIC94XX is not set
484# CONFIG_SCSI_DPT_I2O is not set 522# CONFIG_SCSI_DPT_I2O is not set
523# CONFIG_SCSI_ARCMSR is not set
485# CONFIG_MEGARAID_NEWGEN is not set 524# CONFIG_MEGARAID_NEWGEN is not set
486# CONFIG_MEGARAID_LEGACY is not set 525# CONFIG_MEGARAID_LEGACY is not set
487# CONFIG_MEGARAID_SAS is not set 526# CONFIG_MEGARAID_SAS is not set
488# CONFIG_SCSI_SATA is not set
489# CONFIG_SCSI_HPTIOP is not set 527# CONFIG_SCSI_HPTIOP is not set
490# CONFIG_SCSI_DMX3191D is not set 528# CONFIG_SCSI_DMX3191D is not set
491# CONFIG_SCSI_FUTURE_DOMAIN is not set 529# CONFIG_SCSI_FUTURE_DOMAIN is not set
492# CONFIG_SCSI_IPS is not set 530# CONFIG_SCSI_IPS is not set
493# CONFIG_SCSI_INITIO is not set 531# CONFIG_SCSI_INITIO is not set
494# CONFIG_SCSI_INIA100 is not set 532# CONFIG_SCSI_INIA100 is not set
533# CONFIG_SCSI_STEX is not set
495# CONFIG_SCSI_SYM53C8XX_2 is not set 534# CONFIG_SCSI_SYM53C8XX_2 is not set
496# CONFIG_SCSI_IPR is not set
497# CONFIG_SCSI_QLOGIC_1280 is not set 535# CONFIG_SCSI_QLOGIC_1280 is not set
498# CONFIG_SCSI_QLA_FC is not set 536# CONFIG_SCSI_QLA_FC is not set
537# CONFIG_SCSI_QLA_ISCSI is not set
499# CONFIG_SCSI_LPFC is not set 538# CONFIG_SCSI_LPFC is not set
500# CONFIG_SCSI_DC395x is not set 539# CONFIG_SCSI_DC395x is not set
501# CONFIG_SCSI_DC390T is not set 540# CONFIG_SCSI_DC390T is not set
502# CONFIG_SCSI_NSP32 is not set 541# CONFIG_SCSI_NSP32 is not set
503# CONFIG_SCSI_DEBUG is not set 542# CONFIG_SCSI_DEBUG is not set
543# CONFIG_SCSI_SRP is not set
544
545#
546# Serial ATA (prod) and Parallel ATA (experimental) drivers
547#
548# CONFIG_ATA is not set
504 549
505# 550#
506# Multi-device support (RAID and LVM) 551# Multi-device support (RAID and LVM)
@@ -515,6 +560,7 @@ CONFIG_MD_RAID1=y
515# CONFIG_MD_MULTIPATH is not set 560# CONFIG_MD_MULTIPATH is not set
516# CONFIG_MD_FAULTY is not set 561# CONFIG_MD_FAULTY is not set
517CONFIG_BLK_DEV_DM=y 562CONFIG_BLK_DEV_DM=y
563# CONFIG_DM_DEBUG is not set
518# CONFIG_DM_CRYPT is not set 564# CONFIG_DM_CRYPT is not set
519# CONFIG_DM_SNAPSHOT is not set 565# CONFIG_DM_SNAPSHOT is not set
520# CONFIG_DM_MIRROR is not set 566# CONFIG_DM_MIRROR is not set
@@ -580,6 +626,7 @@ CONFIG_E1000_NAPI=y
580# CONFIG_SK98LIN is not set 626# CONFIG_SK98LIN is not set
581# CONFIG_TIGON3 is not set 627# CONFIG_TIGON3 is not set
582# CONFIG_BNX2 is not set 628# CONFIG_BNX2 is not set
629# CONFIG_QLA3XXX is not set
583 630
584# 631#
585# Ethernet (10000 Mbit) 632# Ethernet (10000 Mbit)
@@ -588,6 +635,7 @@ CONFIG_E1000_NAPI=y
588# CONFIG_IXGB is not set 635# CONFIG_IXGB is not set
589# CONFIG_S2IO is not set 636# CONFIG_S2IO is not set
590# CONFIG_MYRI10GE is not set 637# CONFIG_MYRI10GE is not set
638# CONFIG_NETXEN_NIC is not set
591 639
592# 640#
593# Token Ring devices 641# Token Ring devices
@@ -622,6 +670,7 @@ CONFIG_E1000_NAPI=y
622# Input device support 670# Input device support
623# 671#
624CONFIG_INPUT=y 672CONFIG_INPUT=y
673# CONFIG_INPUT_FF_MEMLESS is not set
625 674
626# 675#
627# Userland interfaces 676# Userland interfaces
@@ -693,10 +742,6 @@ CONFIG_HW_RANDOM=y
693# CONFIG_DTLK is not set 742# CONFIG_DTLK is not set
694# CONFIG_R3964 is not set 743# CONFIG_R3964 is not set
695# CONFIG_APPLICOM is not set 744# CONFIG_APPLICOM is not set
696
697#
698# Ftape, the floppy tape device driver
699#
700# CONFIG_DRM is not set 745# CONFIG_DRM is not set
701# CONFIG_RAW_DRIVER is not set 746# CONFIG_RAW_DRIVER is not set
702 747
@@ -704,7 +749,6 @@ CONFIG_HW_RANDOM=y
704# TPM devices 749# TPM devices
705# 750#
706# CONFIG_TCG_TPM is not set 751# CONFIG_TCG_TPM is not set
707# CONFIG_TELCLOCK is not set
708 752
709# 753#
710# I2C support 754# I2C support
@@ -769,6 +813,7 @@ CONFIG_I2C_IOP3XX=y
769# 813#
770# Dallas's 1-wire bus 814# Dallas's 1-wire bus
771# 815#
816# CONFIG_W1 is not set
772 817
773# 818#
774# Hardware Monitoring support 819# Hardware Monitoring support
@@ -802,15 +847,18 @@ CONFIG_HWMON=y
802# CONFIG_SENSORS_LM92 is not set 847# CONFIG_SENSORS_LM92 is not set
803# CONFIG_SENSORS_MAX1619 is not set 848# CONFIG_SENSORS_MAX1619 is not set
804# CONFIG_SENSORS_PC87360 is not set 849# CONFIG_SENSORS_PC87360 is not set
850# CONFIG_SENSORS_PC87427 is not set
805# CONFIG_SENSORS_SIS5595 is not set 851# CONFIG_SENSORS_SIS5595 is not set
806# CONFIG_SENSORS_SMSC47M1 is not set 852# CONFIG_SENSORS_SMSC47M1 is not set
807# CONFIG_SENSORS_SMSC47M192 is not set 853# CONFIG_SENSORS_SMSC47M192 is not set
808# CONFIG_SENSORS_SMSC47B397 is not set 854# CONFIG_SENSORS_SMSC47B397 is not set
809# CONFIG_SENSORS_VIA686A is not set 855# CONFIG_SENSORS_VIA686A is not set
856# CONFIG_SENSORS_VT1211 is not set
810# CONFIG_SENSORS_VT8231 is not set 857# CONFIG_SENSORS_VT8231 is not set
811# CONFIG_SENSORS_W83781D is not set 858# CONFIG_SENSORS_W83781D is not set
812# CONFIG_SENSORS_W83791D is not set 859# CONFIG_SENSORS_W83791D is not set
813# CONFIG_SENSORS_W83792D is not set 860# CONFIG_SENSORS_W83792D is not set
861# CONFIG_SENSORS_W83793 is not set
814# CONFIG_SENSORS_W83L785TS is not set 862# CONFIG_SENSORS_W83L785TS is not set
815# CONFIG_SENSORS_W83627HF is not set 863# CONFIG_SENSORS_W83627HF is not set
816# CONFIG_SENSORS_W83627EHF is not set 864# CONFIG_SENSORS_W83627EHF is not set
@@ -819,6 +867,8 @@ CONFIG_HWMON=y
819# 867#
820# Misc devices 868# Misc devices
821# 869#
870# CONFIG_SGI_IOC4 is not set
871# CONFIG_TIFM_CORE is not set
822 872
823# 873#
824# LED devices 874# LED devices
@@ -837,7 +887,6 @@ CONFIG_HWMON=y
837# Multimedia devices 887# Multimedia devices
838# 888#
839# CONFIG_VIDEO_DEV is not set 889# CONFIG_VIDEO_DEV is not set
840CONFIG_VIDEO_V4L2=y
841 890
842# 891#
843# Digital Video Broadcasting Devices 892# Digital Video Broadcasting Devices
@@ -863,6 +912,11 @@ CONFIG_DUMMY_CONSOLE=y
863# CONFIG_SOUND is not set 912# CONFIG_SOUND is not set
864 913
865# 914#
915# HID Devices
916#
917CONFIG_HID=y
918
919#
866# USB support 920# USB support
867# 921#
868CONFIG_USB_ARCH_HAS_HCD=y 922CONFIG_USB_ARCH_HAS_HCD=y
@@ -900,6 +954,7 @@ CONFIG_EXT3_FS=y
900CONFIG_EXT3_FS_XATTR=y 954CONFIG_EXT3_FS_XATTR=y
901# CONFIG_EXT3_FS_POSIX_ACL is not set 955# CONFIG_EXT3_FS_POSIX_ACL is not set
902# CONFIG_EXT3_FS_SECURITY is not set 956# CONFIG_EXT3_FS_SECURITY is not set
957# CONFIG_EXT4DEV_FS is not set
903CONFIG_JBD=y 958CONFIG_JBD=y
904# CONFIG_JBD_DEBUG is not set 959# CONFIG_JBD_DEBUG is not set
905CONFIG_FS_MBCACHE=y 960CONFIG_FS_MBCACHE=y
@@ -911,6 +966,7 @@ CONFIG_XFS_FS=y
911CONFIG_XFS_SECURITY=y 966CONFIG_XFS_SECURITY=y
912CONFIG_XFS_POSIX_ACL=y 967CONFIG_XFS_POSIX_ACL=y
913# CONFIG_XFS_RT is not set 968# CONFIG_XFS_RT is not set
969# CONFIG_GFS2_FS is not set
914# CONFIG_OCFS2_FS is not set 970# CONFIG_OCFS2_FS is not set
915# CONFIG_MINIX_FS is not set 971# CONFIG_MINIX_FS is not set
916# CONFIG_ROMFS_FS is not set 972# CONFIG_ROMFS_FS is not set
@@ -939,8 +995,10 @@ CONFIG_DNOTIFY=y
939# Pseudo filesystems 995# Pseudo filesystems
940# 996#
941CONFIG_PROC_FS=y 997CONFIG_PROC_FS=y
998CONFIG_PROC_SYSCTL=y
942CONFIG_SYSFS=y 999CONFIG_SYSFS=y
943CONFIG_TMPFS=y 1000CONFIG_TMPFS=y
1001# CONFIG_TMPFS_POSIX_ACL is not set
944# CONFIG_HUGETLB_PAGE is not set 1002# CONFIG_HUGETLB_PAGE is not set
945CONFIG_RAMFS=y 1003CONFIG_RAMFS=y
946# CONFIG_CONFIGFS_FS is not set 1004# CONFIG_CONFIGFS_FS is not set
@@ -1019,6 +1077,11 @@ CONFIG_MSDOS_PARTITION=y
1019# CONFIG_NLS is not set 1077# CONFIG_NLS is not set
1020 1078
1021# 1079#
1080# Distributed Lock Manager
1081#
1082# CONFIG_DLM is not set
1083
1084#
1022# Profiling support 1085# Profiling support
1023# 1086#
1024# CONFIG_PROFILING is not set 1087# CONFIG_PROFILING is not set
@@ -1027,8 +1090,11 @@ CONFIG_MSDOS_PARTITION=y
1027# Kernel hacking 1090# Kernel hacking
1028# 1091#
1029# CONFIG_PRINTK_TIME is not set 1092# CONFIG_PRINTK_TIME is not set
1093CONFIG_ENABLE_MUST_CHECK=y
1030CONFIG_MAGIC_SYSRQ=y 1094CONFIG_MAGIC_SYSRQ=y
1031# CONFIG_UNUSED_SYMBOLS is not set 1095# CONFIG_UNUSED_SYMBOLS is not set
1096# CONFIG_DEBUG_FS is not set
1097# CONFIG_HEADERS_CHECK is not set
1032CONFIG_DEBUG_KERNEL=y 1098CONFIG_DEBUG_KERNEL=y
1033CONFIG_LOG_BUF_SHIFT=14 1099CONFIG_LOG_BUF_SHIFT=14
1034CONFIG_DETECT_SOFTLOCKUP=y 1100CONFIG_DETECT_SOFTLOCKUP=y
@@ -1044,10 +1110,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
1044# CONFIG_DEBUG_KOBJECT is not set 1110# CONFIG_DEBUG_KOBJECT is not set
1045CONFIG_DEBUG_BUGVERBOSE=y 1111CONFIG_DEBUG_BUGVERBOSE=y
1046# CONFIG_DEBUG_INFO is not set 1112# CONFIG_DEBUG_INFO is not set
1047# CONFIG_DEBUG_FS is not set
1048# CONFIG_DEBUG_VM is not set 1113# CONFIG_DEBUG_VM is not set
1114# CONFIG_DEBUG_LIST is not set
1049CONFIG_FRAME_POINTER=y 1115CONFIG_FRAME_POINTER=y
1050# CONFIG_UNWIND_INFO is not set
1051# CONFIG_FORCED_INLINING is not set 1116# CONFIG_FORCED_INLINING is not set
1052# CONFIG_RCU_TORTURE_TEST is not set 1117# CONFIG_RCU_TORTURE_TEST is not set
1053CONFIG_DEBUG_USER=y 1118CONFIG_DEBUG_USER=y
@@ -1067,10 +1132,6 @@ CONFIG_DEBUG_LL=y
1067# CONFIG_CRYPTO is not set 1132# CONFIG_CRYPTO is not set
1068 1133
1069# 1134#
1070# Hardware crypto devices
1071#
1072
1073#
1074# Library routines 1135# Library routines
1075# 1136#
1076# CONFIG_CRC_CCITT is not set 1137# CONFIG_CRC_CCITT is not set
@@ -1078,3 +1139,4 @@ CONFIG_DEBUG_LL=y
1078# CONFIG_CRC32 is not set 1139# CONFIG_CRC32 is not set
1079# CONFIG_LIBCRC32C is not set 1140# CONFIG_LIBCRC32C is not set
1080CONFIG_PLIST=y 1141CONFIG_PLIST=y
1142CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/ixp2000_defconfig b/arch/arm/configs/ixp2000_defconfig
index bbd2dcf91e52..f8f9793b526f 100644
--- a/arch/arm/configs/ixp2000_defconfig
+++ b/arch/arm/configs/ixp2000_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc1 3# Linux kernel version: 2.6.20-rc1
4# Sun Jul 9 15:28:50 2006 4# Sat Dec 16 06:05:39 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
9CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
12CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -28,17 +32,22 @@ CONFIG_LOCALVERSION=""
28CONFIG_LOCALVERSION_AUTO=y 32CONFIG_LOCALVERSION_AUTO=y
29CONFIG_SWAP=y 33CONFIG_SWAP=y
30CONFIG_SYSVIPC=y 34CONFIG_SYSVIPC=y
35# CONFIG_IPC_NS is not set
31# CONFIG_POSIX_MQUEUE is not set 36# CONFIG_POSIX_MQUEUE is not set
32CONFIG_BSD_PROCESS_ACCT=y 37CONFIG_BSD_PROCESS_ACCT=y
33# CONFIG_BSD_PROCESS_ACCT_V3 is not set 38# CONFIG_BSD_PROCESS_ACCT_V3 is not set
34CONFIG_SYSCTL=y 39# CONFIG_TASKSTATS is not set
40# CONFIG_UTS_NS is not set
35# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
36# CONFIG_IKCONFIG is not set 42# CONFIG_IKCONFIG is not set
43CONFIG_SYSFS_DEPRECATED=y
37# CONFIG_RELAY is not set 44# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE="" 45CONFIG_INITRAMFS_SOURCE=""
39CONFIG_UID16=y
40CONFIG_CC_OPTIMIZE_FOR_SIZE=y 46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
41CONFIG_EMBEDDED=y 48CONFIG_EMBEDDED=y
49CONFIG_UID16=y
50CONFIG_SYSCTL_SYSCALL=y
42CONFIG_KALLSYMS=y 51CONFIG_KALLSYMS=y
43# CONFIG_KALLSYMS_ALL is not set 52# CONFIG_KALLSYMS_ALL is not set
44# CONFIG_KALLSYMS_EXTRA_PASS is not set 53# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -47,12 +56,12 @@ CONFIG_PRINTK=y
47CONFIG_BUG=y 56CONFIG_BUG=y
48CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
49CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
50CONFIG_RT_MUTEXES=y
51CONFIG_FUTEX=y 59CONFIG_FUTEX=y
52CONFIG_EPOLL=y 60CONFIG_EPOLL=y
53CONFIG_SHMEM=y 61CONFIG_SHMEM=y
54CONFIG_SLAB=y 62CONFIG_SLAB=y
55CONFIG_VM_EVENT_COUNTERS=y 63CONFIG_VM_EVENT_COUNTERS=y
64CONFIG_RT_MUTEXES=y
56# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
57CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
58# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -70,7 +79,10 @@ CONFIG_KMOD=y
70# 79#
71# Block layer 80# Block layer
72# 81#
82CONFIG_BLOCK=y
83# CONFIG_LBD is not set
73# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
85# CONFIG_LSF is not set
74 86
75# 87#
76# IO Schedulers 88# IO Schedulers
@@ -102,7 +114,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
102# CONFIG_ARCH_NETX is not set 114# CONFIG_ARCH_NETX is not set
103# CONFIG_ARCH_H720X is not set 115# CONFIG_ARCH_H720X is not set
104# CONFIG_ARCH_IMX is not set 116# CONFIG_ARCH_IMX is not set
105# CONFIG_ARCH_IOP3XX is not set 117# CONFIG_ARCH_IOP32X is not set
118# CONFIG_ARCH_IOP33X is not set
119# CONFIG_ARCH_IOP13XX is not set
106# CONFIG_ARCH_IXP4XX is not set 120# CONFIG_ARCH_IXP4XX is not set
107CONFIG_ARCH_IXP2000=y 121CONFIG_ARCH_IXP2000=y
108# CONFIG_ARCH_IXP23XX is not set 122# CONFIG_ARCH_IXP23XX is not set
@@ -143,24 +157,28 @@ CONFIG_CPU_32v5=y
143CONFIG_CPU_ABRT_EV5T=y 157CONFIG_CPU_ABRT_EV5T=y
144CONFIG_CPU_CACHE_VIVT=y 158CONFIG_CPU_CACHE_VIVT=y
145CONFIG_CPU_TLB_V4WBI=y 159CONFIG_CPU_TLB_V4WBI=y
160CONFIG_CPU_CP15=y
161CONFIG_CPU_CP15_MMU=y
146 162
147# 163#
148# Processor Features 164# Processor Features
149# 165#
150# CONFIG_ARM_THUMB is not set 166# CONFIG_ARM_THUMB is not set
151CONFIG_CPU_BIG_ENDIAN=y 167CONFIG_CPU_BIG_ENDIAN=y
168# CONFIG_CPU_DCACHE_DISABLE is not set
169# CONFIG_IWMMXT is not set
152CONFIG_XSCALE_PMU=y 170CONFIG_XSCALE_PMU=y
153 171
154# 172#
155# Bus support 173# Bus support
156# 174#
157CONFIG_PCI=y 175CONFIG_PCI=y
176# CONFIG_PCI_MULTITHREAD_PROBE is not set
158# CONFIG_PCI_DEBUG is not set 177# CONFIG_PCI_DEBUG is not set
159 178
160# 179#
161# PCCARD (PCMCIA/CardBus) support 180# PCCARD (PCMCIA/CardBus) support
162# 181#
163# CONFIG_PCCARD is not set
164 182
165# 183#
166# Kernel Features 184# Kernel Features
@@ -228,6 +246,7 @@ CONFIG_PACKET_MMAP=y
228CONFIG_UNIX=y 246CONFIG_UNIX=y
229CONFIG_XFRM=y 247CONFIG_XFRM=y
230# CONFIG_XFRM_USER is not set 248# CONFIG_XFRM_USER is not set
249# CONFIG_XFRM_SUB_POLICY is not set
231# CONFIG_NET_KEY is not set 250# CONFIG_NET_KEY is not set
232CONFIG_INET=y 251CONFIG_INET=y
233# CONFIG_IP_MULTICAST is not set 252# CONFIG_IP_MULTICAST is not set
@@ -248,13 +267,29 @@ CONFIG_SYN_COOKIES=y
248# CONFIG_INET_TUNNEL is not set 267# CONFIG_INET_TUNNEL is not set
249CONFIG_INET_XFRM_MODE_TRANSPORT=y 268CONFIG_INET_XFRM_MODE_TRANSPORT=y
250CONFIG_INET_XFRM_MODE_TUNNEL=y 269CONFIG_INET_XFRM_MODE_TUNNEL=y
270CONFIG_INET_XFRM_MODE_BEET=y
251CONFIG_INET_DIAG=y 271CONFIG_INET_DIAG=y
252CONFIG_INET_TCP_DIAG=y 272CONFIG_INET_TCP_DIAG=y
253# CONFIG_TCP_CONG_ADVANCED is not set 273# CONFIG_TCP_CONG_ADVANCED is not set
254CONFIG_TCP_CONG_BIC=y 274CONFIG_TCP_CONG_CUBIC=y
255# CONFIG_IPV6 is not set 275CONFIG_DEFAULT_TCP_CONG="cubic"
276# CONFIG_TCP_MD5SIG is not set
277CONFIG_IPV6=y
278# CONFIG_IPV6_PRIVACY is not set
279# CONFIG_IPV6_ROUTER_PREF is not set
280# CONFIG_INET6_AH is not set
281# CONFIG_INET6_ESP is not set
282# CONFIG_INET6_IPCOMP is not set
283# CONFIG_IPV6_MIP6 is not set
256# CONFIG_INET6_XFRM_TUNNEL is not set 284# CONFIG_INET6_XFRM_TUNNEL is not set
257# CONFIG_INET6_TUNNEL is not set 285# CONFIG_INET6_TUNNEL is not set
286# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
287# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
288# CONFIG_INET6_XFRM_MODE_BEET is not set
289# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
290# CONFIG_IPV6_SIT is not set
291# CONFIG_IPV6_TUNNEL is not set
292# CONFIG_IPV6_MULTIPLE_TABLES is not set
258# CONFIG_NETWORK_SECMARK is not set 293# CONFIG_NETWORK_SECMARK is not set
259# CONFIG_NETFILTER is not set 294# CONFIG_NETFILTER is not set
260 295
@@ -281,7 +316,6 @@ CONFIG_TCP_CONG_BIC=y
281# CONFIG_ATALK is not set 316# CONFIG_ATALK is not set
282# CONFIG_X25 is not set 317# CONFIG_X25 is not set
283# CONFIG_LAPB is not set 318# CONFIG_LAPB is not set
284# CONFIG_NET_DIVERT is not set
285# CONFIG_ECONET is not set 319# CONFIG_ECONET is not set
286# CONFIG_WAN_ROUTER is not set 320# CONFIG_WAN_ROUTER is not set
287 321
@@ -308,7 +342,6 @@ CONFIG_TCP_CONG_BIC=y
308# 342#
309CONFIG_STANDALONE=y 343CONFIG_STANDALONE=y
310# CONFIG_PREVENT_FIRMWARE_BUILD is not set 344# CONFIG_PREVENT_FIRMWARE_BUILD is not set
311# CONFIG_FW_LOADER is not set
312# CONFIG_DEBUG_DRIVER is not set 345# CONFIG_DEBUG_DRIVER is not set
313# CONFIG_SYS_HYPERVISOR is not set 346# CONFIG_SYS_HYPERVISOR is not set
314 347
@@ -340,6 +373,7 @@ CONFIG_MTD_BLOCK=y
340# CONFIG_NFTL is not set 373# CONFIG_NFTL is not set
341# CONFIG_INFTL is not set 374# CONFIG_INFTL is not set
342# CONFIG_RFD_FTL is not set 375# CONFIG_RFD_FTL is not set
376# CONFIG_SSFDC is not set
343 377
344# 378#
345# RAM/ROM/Flash chip drivers 379# RAM/ROM/Flash chip drivers
@@ -422,11 +456,12 @@ CONFIG_MTD_IXP2000=y
422# CONFIG_BLK_DEV_COW_COMMON is not set 456# CONFIG_BLK_DEV_COW_COMMON is not set
423CONFIG_BLK_DEV_LOOP=y 457CONFIG_BLK_DEV_LOOP=y
424# CONFIG_BLK_DEV_CRYPTOLOOP is not set 458# CONFIG_BLK_DEV_CRYPTOLOOP is not set
425# CONFIG_BLK_DEV_NBD is not set 459CONFIG_BLK_DEV_NBD=y
426# CONFIG_BLK_DEV_SX8 is not set 460# CONFIG_BLK_DEV_SX8 is not set
427CONFIG_BLK_DEV_RAM=y 461CONFIG_BLK_DEV_RAM=y
428CONFIG_BLK_DEV_RAM_COUNT=16 462CONFIG_BLK_DEV_RAM_COUNT=16
429CONFIG_BLK_DEV_RAM_SIZE=8192 463CONFIG_BLK_DEV_RAM_SIZE=8192
464CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
430CONFIG_BLK_DEV_INITRD=y 465CONFIG_BLK_DEV_INITRD=y
431# CONFIG_CDROM_PKTCDVD is not set 466# CONFIG_CDROM_PKTCDVD is not set
432# CONFIG_ATA_OVER_ETH is not set 467# CONFIG_ATA_OVER_ETH is not set
@@ -436,6 +471,12 @@ CONFIG_BLK_DEV_INITRD=y
436# 471#
437# CONFIG_RAID_ATTRS is not set 472# CONFIG_RAID_ATTRS is not set
438# CONFIG_SCSI is not set 473# CONFIG_SCSI is not set
474# CONFIG_SCSI_NETLINK is not set
475
476#
477# Serial ATA (prod) and Parallel ATA (experimental) drivers
478#
479# CONFIG_ATA is not set
439 480
440# 481#
441# Multi-device support (RAID and LVM) 482# Multi-device support (RAID and LVM)
@@ -501,8 +542,8 @@ CONFIG_NET_PCI=y
501# CONFIG_FORCEDETH is not set 542# CONFIG_FORCEDETH is not set
502CONFIG_CS89x0=y 543CONFIG_CS89x0=y
503# CONFIG_DGRS is not set 544# CONFIG_DGRS is not set
504CONFIG_EEPRO100=y 545# CONFIG_EEPRO100 is not set
505# CONFIG_E100 is not set 546CONFIG_E100=y
506# CONFIG_FEALNX is not set 547# CONFIG_FEALNX is not set
507# CONFIG_NATSEMI is not set 548# CONFIG_NATSEMI is not set
508# CONFIG_NE2K_PCI is not set 549# CONFIG_NE2K_PCI is not set
@@ -532,6 +573,7 @@ CONFIG_ENP2611_MSF_NET=y
532# CONFIG_VIA_VELOCITY is not set 573# CONFIG_VIA_VELOCITY is not set
533# CONFIG_TIGON3 is not set 574# CONFIG_TIGON3 is not set
534# CONFIG_BNX2 is not set 575# CONFIG_BNX2 is not set
576# CONFIG_QLA3XXX is not set
535 577
536# 578#
537# Ethernet (10000 Mbit) 579# Ethernet (10000 Mbit)
@@ -540,6 +582,7 @@ CONFIG_ENP2611_MSF_NET=y
540# CONFIG_IXGB is not set 582# CONFIG_IXGB is not set
541# CONFIG_S2IO is not set 583# CONFIG_S2IO is not set
542# CONFIG_MYRI10GE is not set 584# CONFIG_MYRI10GE is not set
585# CONFIG_NETXEN_NIC is not set
543 586
544# 587#
545# Token Ring devices 588# Token Ring devices
@@ -555,7 +598,6 @@ CONFIG_ENP2611_MSF_NET=y
555# Wan interfaces 598# Wan interfaces
556# 599#
557CONFIG_WAN=y 600CONFIG_WAN=y
558# CONFIG_DSCC4 is not set
559# CONFIG_LANMEDIA is not set 601# CONFIG_LANMEDIA is not set
560CONFIG_HDLC=y 602CONFIG_HDLC=y
561CONFIG_HDLC_RAW=y 603CONFIG_HDLC_RAW=y
@@ -571,6 +613,7 @@ CONFIG_HDLC_PPP=y
571# CONFIG_WANXL is not set 613# CONFIG_WANXL is not set
572# CONFIG_PC300 is not set 614# CONFIG_PC300 is not set
573# CONFIG_FARSYNC is not set 615# CONFIG_FARSYNC is not set
616# CONFIG_DSCC4 is not set
574CONFIG_DLCI=y 617CONFIG_DLCI=y
575CONFIG_DLCI_COUNT=24 618CONFIG_DLCI_COUNT=24
576CONFIG_DLCI_MAX=8 619CONFIG_DLCI_MAX=8
@@ -592,6 +635,7 @@ CONFIG_DLCI_MAX=8
592# Input device support 635# Input device support
593# 636#
594CONFIG_INPUT=y 637CONFIG_INPUT=y
638# CONFIG_INPUT_FF_MEMLESS is not set
595 639
596# 640#
597# Userland interfaces 641# Userland interfaces
@@ -673,10 +717,6 @@ CONFIG_IXP2000_WATCHDOG=y
673# CONFIG_DTLK is not set 717# CONFIG_DTLK is not set
674# CONFIG_R3964 is not set 718# CONFIG_R3964 is not set
675# CONFIG_APPLICOM is not set 719# CONFIG_APPLICOM is not set
676
677#
678# Ftape, the floppy tape device driver
679#
680# CONFIG_DRM is not set 720# CONFIG_DRM is not set
681# CONFIG_RAW_DRIVER is not set 721# CONFIG_RAW_DRIVER is not set
682 722
@@ -684,7 +724,6 @@ CONFIG_IXP2000_WATCHDOG=y
684# TPM devices 724# TPM devices
685# 725#
686# CONFIG_TCG_TPM is not set 726# CONFIG_TCG_TPM is not set
687# CONFIG_TELCLOCK is not set
688 727
689# 728#
690# I2C support 729# I2C support
@@ -749,6 +788,7 @@ CONFIG_SENSORS_EEPROM=y
749# 788#
750# Dallas's 1-wire bus 789# Dallas's 1-wire bus
751# 790#
791# CONFIG_W1 is not set
752 792
753# 793#
754# Hardware Monitoring support 794# Hardware Monitoring support
@@ -782,15 +822,18 @@ CONFIG_HWMON=y
782# CONFIG_SENSORS_LM92 is not set 822# CONFIG_SENSORS_LM92 is not set
783# CONFIG_SENSORS_MAX1619 is not set 823# CONFIG_SENSORS_MAX1619 is not set
784# CONFIG_SENSORS_PC87360 is not set 824# CONFIG_SENSORS_PC87360 is not set
825# CONFIG_SENSORS_PC87427 is not set
785# CONFIG_SENSORS_SIS5595 is not set 826# CONFIG_SENSORS_SIS5595 is not set
786# CONFIG_SENSORS_SMSC47M1 is not set 827# CONFIG_SENSORS_SMSC47M1 is not set
787# CONFIG_SENSORS_SMSC47M192 is not set 828# CONFIG_SENSORS_SMSC47M192 is not set
788# CONFIG_SENSORS_SMSC47B397 is not set 829# CONFIG_SENSORS_SMSC47B397 is not set
789# CONFIG_SENSORS_VIA686A is not set 830# CONFIG_SENSORS_VIA686A is not set
831# CONFIG_SENSORS_VT1211 is not set
790# CONFIG_SENSORS_VT8231 is not set 832# CONFIG_SENSORS_VT8231 is not set
791# CONFIG_SENSORS_W83781D is not set 833# CONFIG_SENSORS_W83781D is not set
792# CONFIG_SENSORS_W83791D is not set 834# CONFIG_SENSORS_W83791D is not set
793# CONFIG_SENSORS_W83792D is not set 835# CONFIG_SENSORS_W83792D is not set
836# CONFIG_SENSORS_W83793 is not set
794# CONFIG_SENSORS_W83L785TS is not set 837# CONFIG_SENSORS_W83L785TS is not set
795# CONFIG_SENSORS_W83627HF is not set 838# CONFIG_SENSORS_W83627HF is not set
796# CONFIG_SENSORS_W83627EHF is not set 839# CONFIG_SENSORS_W83627EHF is not set
@@ -799,6 +842,8 @@ CONFIG_HWMON=y
799# 842#
800# Misc devices 843# Misc devices
801# 844#
845# CONFIG_SGI_IOC4 is not set
846# CONFIG_TIFM_CORE is not set
802 847
803# 848#
804# LED devices 849# LED devices
@@ -817,7 +862,6 @@ CONFIG_HWMON=y
817# Multimedia devices 862# Multimedia devices
818# 863#
819# CONFIG_VIDEO_DEV is not set 864# CONFIG_VIDEO_DEV is not set
820CONFIG_VIDEO_V4L2=y
821 865
822# 866#
823# Digital Video Broadcasting Devices 867# Digital Video Broadcasting Devices
@@ -829,6 +873,7 @@ CONFIG_VIDEO_V4L2=y
829# 873#
830# CONFIG_FIRMWARE_EDID is not set 874# CONFIG_FIRMWARE_EDID is not set
831# CONFIG_FB is not set 875# CONFIG_FB is not set
876# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
832 877
833# 878#
834# Sound 879# Sound
@@ -836,6 +881,11 @@ CONFIG_VIDEO_V4L2=y
836# CONFIG_SOUND is not set 881# CONFIG_SOUND is not set
837 882
838# 883#
884# HID Devices
885#
886CONFIG_HID=y
887
888#
839# USB support 889# USB support
840# 890#
841CONFIG_USB_ARCH_HAS_HCD=y 891CONFIG_USB_ARCH_HAS_HCD=y
@@ -875,6 +925,7 @@ CONFIG_EXT3_FS=y
875CONFIG_EXT3_FS_XATTR=y 925CONFIG_EXT3_FS_XATTR=y
876CONFIG_EXT3_FS_POSIX_ACL=y 926CONFIG_EXT3_FS_POSIX_ACL=y
877# CONFIG_EXT3_FS_SECURITY is not set 927# CONFIG_EXT3_FS_SECURITY is not set
928# CONFIG_EXT4DEV_FS is not set
878CONFIG_JBD=y 929CONFIG_JBD=y
879# CONFIG_JBD_DEBUG is not set 930# CONFIG_JBD_DEBUG is not set
880CONFIG_FS_MBCACHE=y 931CONFIG_FS_MBCACHE=y
@@ -882,6 +933,7 @@ CONFIG_FS_MBCACHE=y
882# CONFIG_JFS_FS is not set 933# CONFIG_JFS_FS is not set
883CONFIG_FS_POSIX_ACL=y 934CONFIG_FS_POSIX_ACL=y
884# CONFIG_XFS_FS is not set 935# CONFIG_XFS_FS is not set
936# CONFIG_GFS2_FS is not set
885# CONFIG_OCFS2_FS is not set 937# CONFIG_OCFS2_FS is not set
886# CONFIG_MINIX_FS is not set 938# CONFIG_MINIX_FS is not set
887# CONFIG_ROMFS_FS is not set 939# CONFIG_ROMFS_FS is not set
@@ -910,8 +962,10 @@ CONFIG_DNOTIFY=y
910# Pseudo filesystems 962# Pseudo filesystems
911# 963#
912CONFIG_PROC_FS=y 964CONFIG_PROC_FS=y
965CONFIG_PROC_SYSCTL=y
913CONFIG_SYSFS=y 966CONFIG_SYSFS=y
914CONFIG_TMPFS=y 967CONFIG_TMPFS=y
968# CONFIG_TMPFS_POSIX_ACL is not set
915# CONFIG_HUGETLB_PAGE is not set 969# CONFIG_HUGETLB_PAGE is not set
916CONFIG_RAMFS=y 970CONFIG_RAMFS=y
917# CONFIG_CONFIGFS_FS is not set 971# CONFIG_CONFIGFS_FS is not set
@@ -961,7 +1015,6 @@ CONFIG_SUNRPC=y
961# CONFIG_RPCSEC_GSS_SPKM3 is not set 1015# CONFIG_RPCSEC_GSS_SPKM3 is not set
962# CONFIG_SMB_FS is not set 1016# CONFIG_SMB_FS is not set
963# CONFIG_CIFS is not set 1017# CONFIG_CIFS is not set
964# CONFIG_CIFS_DEBUG2 is not set
965# CONFIG_NCP_FS is not set 1018# CONFIG_NCP_FS is not set
966# CONFIG_CODA_FS is not set 1019# CONFIG_CODA_FS is not set
967# CONFIG_AFS_FS is not set 1020# CONFIG_AFS_FS is not set
@@ -994,6 +1047,11 @@ CONFIG_MSDOS_PARTITION=y
994# CONFIG_NLS is not set 1047# CONFIG_NLS is not set
995 1048
996# 1049#
1050# Distributed Lock Manager
1051#
1052# CONFIG_DLM is not set
1053
1054#
997# Profiling support 1055# Profiling support
998# 1056#
999# CONFIG_PROFILING is not set 1057# CONFIG_PROFILING is not set
@@ -1002,8 +1060,11 @@ CONFIG_MSDOS_PARTITION=y
1002# Kernel hacking 1060# Kernel hacking
1003# 1061#
1004# CONFIG_PRINTK_TIME is not set 1062# CONFIG_PRINTK_TIME is not set
1063CONFIG_ENABLE_MUST_CHECK=y
1005CONFIG_MAGIC_SYSRQ=y 1064CONFIG_MAGIC_SYSRQ=y
1006# CONFIG_UNUSED_SYMBOLS is not set 1065# CONFIG_UNUSED_SYMBOLS is not set
1066# CONFIG_DEBUG_FS is not set
1067# CONFIG_HEADERS_CHECK is not set
1007CONFIG_DEBUG_KERNEL=y 1068CONFIG_DEBUG_KERNEL=y
1008CONFIG_LOG_BUF_SHIFT=14 1069CONFIG_LOG_BUF_SHIFT=14
1009CONFIG_DETECT_SOFTLOCKUP=y 1070CONFIG_DETECT_SOFTLOCKUP=y
@@ -1019,10 +1080,9 @@ CONFIG_DEBUG_MUTEXES=y
1019# CONFIG_DEBUG_KOBJECT is not set 1080# CONFIG_DEBUG_KOBJECT is not set
1020CONFIG_DEBUG_BUGVERBOSE=y 1081CONFIG_DEBUG_BUGVERBOSE=y
1021# CONFIG_DEBUG_INFO is not set 1082# CONFIG_DEBUG_INFO is not set
1022# CONFIG_DEBUG_FS is not set
1023# CONFIG_DEBUG_VM is not set 1083# CONFIG_DEBUG_VM is not set
1084# CONFIG_DEBUG_LIST is not set
1024CONFIG_FRAME_POINTER=y 1085CONFIG_FRAME_POINTER=y
1025# CONFIG_UNWIND_INFO is not set
1026CONFIG_FORCED_INLINING=y 1086CONFIG_FORCED_INLINING=y
1027# CONFIG_RCU_TORTURE_TEST is not set 1087# CONFIG_RCU_TORTURE_TEST is not set
1028CONFIG_DEBUG_USER=y 1088CONFIG_DEBUG_USER=y
@@ -1042,12 +1102,9 @@ CONFIG_DEBUG_LL=y
1042# CONFIG_CRYPTO is not set 1102# CONFIG_CRYPTO is not set
1043 1103
1044# 1104#
1045# Hardware crypto devices
1046#
1047
1048#
1049# Library routines 1105# Library routines
1050# 1106#
1107CONFIG_BITREVERSE=y
1051# CONFIG_CRC_CCITT is not set 1108# CONFIG_CRC_CCITT is not set
1052# CONFIG_CRC16 is not set 1109# CONFIG_CRC16 is not set
1053CONFIG_CRC32=y 1110CONFIG_CRC32=y
@@ -1055,3 +1112,4 @@ CONFIG_CRC32=y
1055CONFIG_ZLIB_INFLATE=y 1112CONFIG_ZLIB_INFLATE=y
1056CONFIG_ZLIB_DEFLATE=y 1113CONFIG_ZLIB_DEFLATE=y
1057CONFIG_PLIST=y 1114CONFIG_PLIST=y
1115CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/ixp23xx_defconfig b/arch/arm/configs/ixp23xx_defconfig
index 06deefaec1d2..27cf022dd807 100644
--- a/arch/arm/configs/ixp23xx_defconfig
+++ b/arch/arm/configs/ixp23xx_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc1 3# Linux kernel version: 2.6.20-rc1
4# Sun Jul 9 14:13:35 2006 4# Sat Dec 16 06:05:45 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
9CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
12CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -28,17 +32,22 @@ CONFIG_LOCALVERSION=""
28CONFIG_LOCALVERSION_AUTO=y 32CONFIG_LOCALVERSION_AUTO=y
29CONFIG_SWAP=y 33CONFIG_SWAP=y
30CONFIG_SYSVIPC=y 34CONFIG_SYSVIPC=y
35# CONFIG_IPC_NS is not set
31# CONFIG_POSIX_MQUEUE is not set 36# CONFIG_POSIX_MQUEUE is not set
32CONFIG_BSD_PROCESS_ACCT=y 37CONFIG_BSD_PROCESS_ACCT=y
33# CONFIG_BSD_PROCESS_ACCT_V3 is not set 38# CONFIG_BSD_PROCESS_ACCT_V3 is not set
34CONFIG_SYSCTL=y 39# CONFIG_TASKSTATS is not set
40# CONFIG_UTS_NS is not set
35# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
36# CONFIG_IKCONFIG is not set 42# CONFIG_IKCONFIG is not set
43CONFIG_SYSFS_DEPRECATED=y
37# CONFIG_RELAY is not set 44# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE="" 45CONFIG_INITRAMFS_SOURCE=""
39CONFIG_UID16=y
40CONFIG_CC_OPTIMIZE_FOR_SIZE=y 46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
41CONFIG_EMBEDDED=y 48CONFIG_EMBEDDED=y
49CONFIG_UID16=y
50CONFIG_SYSCTL_SYSCALL=y
42CONFIG_KALLSYMS=y 51CONFIG_KALLSYMS=y
43# CONFIG_KALLSYMS_ALL is not set 52# CONFIG_KALLSYMS_ALL is not set
44# CONFIG_KALLSYMS_EXTRA_PASS is not set 53# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -47,12 +56,12 @@ CONFIG_PRINTK=y
47CONFIG_BUG=y 56CONFIG_BUG=y
48CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
49CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
50CONFIG_RT_MUTEXES=y
51CONFIG_FUTEX=y 59CONFIG_FUTEX=y
52CONFIG_EPOLL=y 60CONFIG_EPOLL=y
53CONFIG_SHMEM=y 61CONFIG_SHMEM=y
54CONFIG_SLAB=y 62CONFIG_SLAB=y
55CONFIG_VM_EVENT_COUNTERS=y 63CONFIG_VM_EVENT_COUNTERS=y
64CONFIG_RT_MUTEXES=y
56# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
57CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
58# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -70,7 +79,10 @@ CONFIG_KMOD=y
70# 79#
71# Block layer 80# Block layer
72# 81#
82CONFIG_BLOCK=y
83# CONFIG_LBD is not set
73# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
85# CONFIG_LSF is not set
74 86
75# 87#
76# IO Schedulers 88# IO Schedulers
@@ -102,7 +114,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
102# CONFIG_ARCH_NETX is not set 114# CONFIG_ARCH_NETX is not set
103# CONFIG_ARCH_H720X is not set 115# CONFIG_ARCH_H720X is not set
104# CONFIG_ARCH_IMX is not set 116# CONFIG_ARCH_IMX is not set
105# CONFIG_ARCH_IOP3XX is not set 117# CONFIG_ARCH_IOP32X is not set
118# CONFIG_ARCH_IOP33X is not set
119# CONFIG_ARCH_IOP13XX is not set
106# CONFIG_ARCH_IXP4XX is not set 120# CONFIG_ARCH_IXP4XX is not set
107# CONFIG_ARCH_IXP2000 is not set 121# CONFIG_ARCH_IXP2000 is not set
108CONFIG_ARCH_IXP23XX=y 122CONFIG_ARCH_IXP23XX=y
@@ -137,6 +151,8 @@ CONFIG_CPU_32v5=y
137CONFIG_CPU_ABRT_EV5T=y 151CONFIG_CPU_ABRT_EV5T=y
138CONFIG_CPU_CACHE_VIVT=y 152CONFIG_CPU_CACHE_VIVT=y
139CONFIG_CPU_TLB_V4WBI=y 153CONFIG_CPU_TLB_V4WBI=y
154CONFIG_CPU_CP15=y
155CONFIG_CPU_CP15_MMU=y
140CONFIG_IO_36=y 156CONFIG_IO_36=y
141 157
142# 158#
@@ -144,11 +160,15 @@ CONFIG_IO_36=y
144# 160#
145# CONFIG_ARM_THUMB is not set 161# CONFIG_ARM_THUMB is not set
146CONFIG_CPU_BIG_ENDIAN=y 162CONFIG_CPU_BIG_ENDIAN=y
163# CONFIG_CPU_DCACHE_DISABLE is not set
164# CONFIG_CPU_BPREDICT_DISABLE is not set
165# CONFIG_IWMMXT is not set
147 166
148# 167#
149# Bus support 168# Bus support
150# 169#
151CONFIG_PCI=y 170CONFIG_PCI=y
171# CONFIG_PCI_MULTITHREAD_PROBE is not set
152# CONFIG_PCI_DEBUG is not set 172# CONFIG_PCI_DEBUG is not set
153 173
154# 174#
@@ -222,6 +242,7 @@ CONFIG_PACKET_MMAP=y
222CONFIG_UNIX=y 242CONFIG_UNIX=y
223CONFIG_XFRM=y 243CONFIG_XFRM=y
224# CONFIG_XFRM_USER is not set 244# CONFIG_XFRM_USER is not set
245# CONFIG_XFRM_SUB_POLICY is not set
225# CONFIG_NET_KEY is not set 246# CONFIG_NET_KEY is not set
226CONFIG_INET=y 247CONFIG_INET=y
227# CONFIG_IP_MULTICAST is not set 248# CONFIG_IP_MULTICAST is not set
@@ -242,13 +263,29 @@ CONFIG_SYN_COOKIES=y
242# CONFIG_INET_TUNNEL is not set 263# CONFIG_INET_TUNNEL is not set
243CONFIG_INET_XFRM_MODE_TRANSPORT=y 264CONFIG_INET_XFRM_MODE_TRANSPORT=y
244CONFIG_INET_XFRM_MODE_TUNNEL=y 265CONFIG_INET_XFRM_MODE_TUNNEL=y
266CONFIG_INET_XFRM_MODE_BEET=y
245CONFIG_INET_DIAG=y 267CONFIG_INET_DIAG=y
246CONFIG_INET_TCP_DIAG=y 268CONFIG_INET_TCP_DIAG=y
247# CONFIG_TCP_CONG_ADVANCED is not set 269# CONFIG_TCP_CONG_ADVANCED is not set
248CONFIG_TCP_CONG_BIC=y 270CONFIG_TCP_CONG_CUBIC=y
249# CONFIG_IPV6 is not set 271CONFIG_DEFAULT_TCP_CONG="cubic"
272# CONFIG_TCP_MD5SIG is not set
273CONFIG_IPV6=y
274# CONFIG_IPV6_PRIVACY is not set
275# CONFIG_IPV6_ROUTER_PREF is not set
276# CONFIG_INET6_AH is not set
277# CONFIG_INET6_ESP is not set
278# CONFIG_INET6_IPCOMP is not set
279# CONFIG_IPV6_MIP6 is not set
250# CONFIG_INET6_XFRM_TUNNEL is not set 280# CONFIG_INET6_XFRM_TUNNEL is not set
251# CONFIG_INET6_TUNNEL is not set 281# CONFIG_INET6_TUNNEL is not set
282# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
283# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
284# CONFIG_INET6_XFRM_MODE_BEET is not set
285# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
286# CONFIG_IPV6_SIT is not set
287# CONFIG_IPV6_TUNNEL is not set
288# CONFIG_IPV6_MULTIPLE_TABLES is not set
252# CONFIG_NETWORK_SECMARK is not set 289# CONFIG_NETWORK_SECMARK is not set
253# CONFIG_NETFILTER is not set 290# CONFIG_NETFILTER is not set
254 291
@@ -275,7 +312,6 @@ CONFIG_TCP_CONG_BIC=y
275# CONFIG_ATALK is not set 312# CONFIG_ATALK is not set
276# CONFIG_X25 is not set 313# CONFIG_X25 is not set
277# CONFIG_LAPB is not set 314# CONFIG_LAPB is not set
278# CONFIG_NET_DIVERT is not set
279# CONFIG_ECONET is not set 315# CONFIG_ECONET is not set
280# CONFIG_WAN_ROUTER is not set 316# CONFIG_WAN_ROUTER is not set
281 317
@@ -334,6 +370,7 @@ CONFIG_MTD_BLOCK=y
334# CONFIG_NFTL is not set 370# CONFIG_NFTL is not set
335# CONFIG_INFTL is not set 371# CONFIG_INFTL is not set
336# CONFIG_RFD_FTL is not set 372# CONFIG_RFD_FTL is not set
373# CONFIG_SSFDC is not set
337 374
338# 375#
339# RAM/ROM/Flash chip drivers 376# RAM/ROM/Flash chip drivers
@@ -418,12 +455,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
418# CONFIG_BLK_DEV_COW_COMMON is not set 455# CONFIG_BLK_DEV_COW_COMMON is not set
419CONFIG_BLK_DEV_LOOP=y 456CONFIG_BLK_DEV_LOOP=y
420# CONFIG_BLK_DEV_CRYPTOLOOP is not set 457# CONFIG_BLK_DEV_CRYPTOLOOP is not set
421# CONFIG_BLK_DEV_NBD is not set 458CONFIG_BLK_DEV_NBD=y
422# CONFIG_BLK_DEV_SX8 is not set 459# CONFIG_BLK_DEV_SX8 is not set
423# CONFIG_BLK_DEV_UB is not set 460# CONFIG_BLK_DEV_UB is not set
424CONFIG_BLK_DEV_RAM=y 461CONFIG_BLK_DEV_RAM=y
425CONFIG_BLK_DEV_RAM_COUNT=16 462CONFIG_BLK_DEV_RAM_COUNT=16
426CONFIG_BLK_DEV_RAM_SIZE=8192 463CONFIG_BLK_DEV_RAM_SIZE=8192
464CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
427CONFIG_BLK_DEV_INITRD=y 465CONFIG_BLK_DEV_INITRD=y
428# CONFIG_CDROM_PKTCDVD is not set 466# CONFIG_CDROM_PKTCDVD is not set
429# CONFIG_ATA_OVER_ETH is not set 467# CONFIG_ATA_OVER_ETH is not set
@@ -432,6 +470,7 @@ CONFIG_BLK_DEV_INITRD=y
432# ATA/ATAPI/MFM/RLL support 470# ATA/ATAPI/MFM/RLL support
433# 471#
434CONFIG_IDE=y 472CONFIG_IDE=y
473CONFIG_IDE_MAX_HWIFS=4
435CONFIG_BLK_DEV_IDE=y 474CONFIG_BLK_DEV_IDE=y
436 475
437# 476#
@@ -455,7 +494,6 @@ CONFIG_BLK_DEV_IDEPCI=y
455# CONFIG_BLK_DEV_OFFBOARD is not set 494# CONFIG_BLK_DEV_OFFBOARD is not set
456# CONFIG_BLK_DEV_GENERIC is not set 495# CONFIG_BLK_DEV_GENERIC is not set
457# CONFIG_BLK_DEV_OPTI621 is not set 496# CONFIG_BLK_DEV_OPTI621 is not set
458# CONFIG_BLK_DEV_SL82C105 is not set
459CONFIG_BLK_DEV_IDEDMA_PCI=y 497CONFIG_BLK_DEV_IDEDMA_PCI=y
460# CONFIG_BLK_DEV_IDEDMA_FORCED is not set 498# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
461# CONFIG_IDEDMA_PCI_AUTO is not set 499# CONFIG_IDEDMA_PCI_AUTO is not set
@@ -469,6 +507,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
469# CONFIG_BLK_DEV_CS5530 is not set 507# CONFIG_BLK_DEV_CS5530 is not set
470# CONFIG_BLK_DEV_HPT34X is not set 508# CONFIG_BLK_DEV_HPT34X is not set
471# CONFIG_BLK_DEV_HPT366 is not set 509# CONFIG_BLK_DEV_HPT366 is not set
510# CONFIG_BLK_DEV_JMICRON is not set
472# CONFIG_BLK_DEV_SC1200 is not set 511# CONFIG_BLK_DEV_SC1200 is not set
473# CONFIG_BLK_DEV_PIIX is not set 512# CONFIG_BLK_DEV_PIIX is not set
474# CONFIG_BLK_DEV_IT821X is not set 513# CONFIG_BLK_DEV_IT821X is not set
@@ -477,6 +516,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
477# CONFIG_BLK_DEV_PDC202XX_NEW is not set 516# CONFIG_BLK_DEV_PDC202XX_NEW is not set
478# CONFIG_BLK_DEV_SVWKS is not set 517# CONFIG_BLK_DEV_SVWKS is not set
479CONFIG_BLK_DEV_SIIMAGE=y 518CONFIG_BLK_DEV_SIIMAGE=y
519# CONFIG_BLK_DEV_SL82C105 is not set
480# CONFIG_BLK_DEV_SLC90E66 is not set 520# CONFIG_BLK_DEV_SLC90E66 is not set
481# CONFIG_BLK_DEV_TRM290 is not set 521# CONFIG_BLK_DEV_TRM290 is not set
482# CONFIG_BLK_DEV_VIA82CXXX is not set 522# CONFIG_BLK_DEV_VIA82CXXX is not set
@@ -491,6 +531,8 @@ CONFIG_BLK_DEV_IDEDMA=y
491# 531#
492# CONFIG_RAID_ATTRS is not set 532# CONFIG_RAID_ATTRS is not set
493CONFIG_SCSI=y 533CONFIG_SCSI=y
534# CONFIG_SCSI_TGT is not set
535# CONFIG_SCSI_NETLINK is not set
494CONFIG_SCSI_PROC_FS=y 536CONFIG_SCSI_PROC_FS=y
495 537
496# 538#
@@ -509,14 +551,16 @@ CONFIG_BLK_DEV_SD=y
509# CONFIG_SCSI_MULTI_LUN is not set 551# CONFIG_SCSI_MULTI_LUN is not set
510# CONFIG_SCSI_CONSTANTS is not set 552# CONFIG_SCSI_CONSTANTS is not set
511# CONFIG_SCSI_LOGGING is not set 553# CONFIG_SCSI_LOGGING is not set
554# CONFIG_SCSI_SCAN_ASYNC is not set
512 555
513# 556#
514# SCSI Transport Attributes 557# SCSI Transports
515# 558#
516# CONFIG_SCSI_SPI_ATTRS is not set 559# CONFIG_SCSI_SPI_ATTRS is not set
517# CONFIG_SCSI_FC_ATTRS is not set 560# CONFIG_SCSI_FC_ATTRS is not set
518# CONFIG_SCSI_ISCSI_ATTRS is not set 561# CONFIG_SCSI_ISCSI_ATTRS is not set
519# CONFIG_SCSI_SAS_ATTRS is not set 562# CONFIG_SCSI_SAS_ATTRS is not set
563# CONFIG_SCSI_SAS_LIBSAS is not set
520 564
521# 565#
522# SCSI low-level drivers 566# SCSI low-level drivers
@@ -529,26 +573,34 @@ CONFIG_BLK_DEV_SD=y
529# CONFIG_SCSI_AIC7XXX is not set 573# CONFIG_SCSI_AIC7XXX is not set
530# CONFIG_SCSI_AIC7XXX_OLD is not set 574# CONFIG_SCSI_AIC7XXX_OLD is not set
531# CONFIG_SCSI_AIC79XX is not set 575# CONFIG_SCSI_AIC79XX is not set
576# CONFIG_SCSI_AIC94XX is not set
532# CONFIG_SCSI_DPT_I2O is not set 577# CONFIG_SCSI_DPT_I2O is not set
578# CONFIG_SCSI_ARCMSR is not set
533# CONFIG_MEGARAID_NEWGEN is not set 579# CONFIG_MEGARAID_NEWGEN is not set
534# CONFIG_MEGARAID_LEGACY is not set 580# CONFIG_MEGARAID_LEGACY is not set
535# CONFIG_MEGARAID_SAS is not set 581# CONFIG_MEGARAID_SAS is not set
536# CONFIG_SCSI_SATA is not set
537# CONFIG_SCSI_HPTIOP is not set 582# CONFIG_SCSI_HPTIOP is not set
538# CONFIG_SCSI_DMX3191D is not set 583# CONFIG_SCSI_DMX3191D is not set
539# CONFIG_SCSI_FUTURE_DOMAIN is not set 584# CONFIG_SCSI_FUTURE_DOMAIN is not set
540# CONFIG_SCSI_IPS is not set 585# CONFIG_SCSI_IPS is not set
541# CONFIG_SCSI_INITIO is not set 586# CONFIG_SCSI_INITIO is not set
542# CONFIG_SCSI_INIA100 is not set 587# CONFIG_SCSI_INIA100 is not set
588# CONFIG_SCSI_STEX is not set
543# CONFIG_SCSI_SYM53C8XX_2 is not set 589# CONFIG_SCSI_SYM53C8XX_2 is not set
544# CONFIG_SCSI_IPR is not set
545# CONFIG_SCSI_QLOGIC_1280 is not set 590# CONFIG_SCSI_QLOGIC_1280 is not set
546# CONFIG_SCSI_QLA_FC is not set 591# CONFIG_SCSI_QLA_FC is not set
592# CONFIG_SCSI_QLA_ISCSI is not set
547# CONFIG_SCSI_LPFC is not set 593# CONFIG_SCSI_LPFC is not set
548# CONFIG_SCSI_DC395x is not set 594# CONFIG_SCSI_DC395x is not set
549# CONFIG_SCSI_DC390T is not set 595# CONFIG_SCSI_DC390T is not set
550# CONFIG_SCSI_NSP32 is not set 596# CONFIG_SCSI_NSP32 is not set
551# CONFIG_SCSI_DEBUG is not set 597# CONFIG_SCSI_DEBUG is not set
598# CONFIG_SCSI_SRP is not set
599
600#
601# Serial ATA (prod) and Parallel ATA (experimental) drivers
602#
603# CONFIG_ATA is not set
552 604
553# 605#
554# Multi-device support (RAID and LVM) 606# Multi-device support (RAID and LVM)
@@ -649,6 +701,7 @@ CONFIG_E1000_NAPI=y
649# CONFIG_VIA_VELOCITY is not set 701# CONFIG_VIA_VELOCITY is not set
650# CONFIG_TIGON3 is not set 702# CONFIG_TIGON3 is not set
651# CONFIG_BNX2 is not set 703# CONFIG_BNX2 is not set
704# CONFIG_QLA3XXX is not set
652 705
653# 706#
654# Ethernet (10000 Mbit) 707# Ethernet (10000 Mbit)
@@ -657,6 +710,7 @@ CONFIG_E1000_NAPI=y
657# CONFIG_IXGB is not set 710# CONFIG_IXGB is not set
658# CONFIG_S2IO is not set 711# CONFIG_S2IO is not set
659# CONFIG_MYRI10GE is not set 712# CONFIG_MYRI10GE is not set
713# CONFIG_NETXEN_NIC is not set
660 714
661# 715#
662# Token Ring devices 716# Token Ring devices
@@ -672,7 +726,6 @@ CONFIG_E1000_NAPI=y
672# Wan interfaces 726# Wan interfaces
673# 727#
674CONFIG_WAN=y 728CONFIG_WAN=y
675# CONFIG_DSCC4 is not set
676# CONFIG_LANMEDIA is not set 729# CONFIG_LANMEDIA is not set
677CONFIG_HDLC=y 730CONFIG_HDLC=y
678CONFIG_HDLC_RAW=y 731CONFIG_HDLC_RAW=y
@@ -688,6 +741,7 @@ CONFIG_HDLC_PPP=y
688# CONFIG_WANXL is not set 741# CONFIG_WANXL is not set
689# CONFIG_PC300 is not set 742# CONFIG_PC300 is not set
690# CONFIG_FARSYNC is not set 743# CONFIG_FARSYNC is not set
744# CONFIG_DSCC4 is not set
691CONFIG_DLCI=y 745CONFIG_DLCI=y
692CONFIG_DLCI_COUNT=24 746CONFIG_DLCI_COUNT=24
693CONFIG_DLCI_MAX=8 747CONFIG_DLCI_MAX=8
@@ -710,6 +764,7 @@ CONFIG_DLCI_MAX=8
710# Input device support 764# Input device support
711# 765#
712CONFIG_INPUT=y 766CONFIG_INPUT=y
767# CONFIG_INPUT_FF_MEMLESS is not set
713 768
714# 769#
715# Userland interfaces 770# Userland interfaces
@@ -795,10 +850,6 @@ CONFIG_WATCHDOG=y
795# CONFIG_DTLK is not set 850# CONFIG_DTLK is not set
796# CONFIG_R3964 is not set 851# CONFIG_R3964 is not set
797# CONFIG_APPLICOM is not set 852# CONFIG_APPLICOM is not set
798
799#
800# Ftape, the floppy tape device driver
801#
802# CONFIG_DRM is not set 853# CONFIG_DRM is not set
803# CONFIG_RAW_DRIVER is not set 854# CONFIG_RAW_DRIVER is not set
804 855
@@ -806,7 +857,6 @@ CONFIG_WATCHDOG=y
806# TPM devices 857# TPM devices
807# 858#
808# CONFIG_TCG_TPM is not set 859# CONFIG_TCG_TPM is not set
809# CONFIG_TELCLOCK is not set
810 860
811# 861#
812# I2C support 862# I2C support
@@ -870,6 +920,7 @@ CONFIG_SENSORS_EEPROM=y
870# 920#
871# Dallas's 1-wire bus 921# Dallas's 1-wire bus
872# 922#
923# CONFIG_W1 is not set
873 924
874# 925#
875# Hardware Monitoring support 926# Hardware Monitoring support
@@ -903,15 +954,18 @@ CONFIG_HWMON=y
903# CONFIG_SENSORS_LM92 is not set 954# CONFIG_SENSORS_LM92 is not set
904# CONFIG_SENSORS_MAX1619 is not set 955# CONFIG_SENSORS_MAX1619 is not set
905# CONFIG_SENSORS_PC87360 is not set 956# CONFIG_SENSORS_PC87360 is not set
957# CONFIG_SENSORS_PC87427 is not set
906# CONFIG_SENSORS_SIS5595 is not set 958# CONFIG_SENSORS_SIS5595 is not set
907# CONFIG_SENSORS_SMSC47M1 is not set 959# CONFIG_SENSORS_SMSC47M1 is not set
908# CONFIG_SENSORS_SMSC47M192 is not set 960# CONFIG_SENSORS_SMSC47M192 is not set
909# CONFIG_SENSORS_SMSC47B397 is not set 961# CONFIG_SENSORS_SMSC47B397 is not set
910# CONFIG_SENSORS_VIA686A is not set 962# CONFIG_SENSORS_VIA686A is not set
963# CONFIG_SENSORS_VT1211 is not set
911# CONFIG_SENSORS_VT8231 is not set 964# CONFIG_SENSORS_VT8231 is not set
912# CONFIG_SENSORS_W83781D is not set 965# CONFIG_SENSORS_W83781D is not set
913# CONFIG_SENSORS_W83791D is not set 966# CONFIG_SENSORS_W83791D is not set
914# CONFIG_SENSORS_W83792D is not set 967# CONFIG_SENSORS_W83792D is not set
968# CONFIG_SENSORS_W83793 is not set
915# CONFIG_SENSORS_W83L785TS is not set 969# CONFIG_SENSORS_W83L785TS is not set
916# CONFIG_SENSORS_W83627HF is not set 970# CONFIG_SENSORS_W83627HF is not set
917# CONFIG_SENSORS_W83627EHF is not set 971# CONFIG_SENSORS_W83627EHF is not set
@@ -920,6 +974,8 @@ CONFIG_HWMON=y
920# 974#
921# Misc devices 975# Misc devices
922# 976#
977# CONFIG_SGI_IOC4 is not set
978# CONFIG_TIFM_CORE is not set
923 979
924# 980#
925# LED devices 981# LED devices
@@ -938,7 +994,6 @@ CONFIG_HWMON=y
938# Multimedia devices 994# Multimedia devices
939# 995#
940# CONFIG_VIDEO_DEV is not set 996# CONFIG_VIDEO_DEV is not set
941CONFIG_VIDEO_V4L2=y
942 997
943# 998#
944# Digital Video Broadcasting Devices 999# Digital Video Broadcasting Devices
@@ -951,6 +1006,7 @@ CONFIG_VIDEO_V4L2=y
951# 1006#
952# CONFIG_FIRMWARE_EDID is not set 1007# CONFIG_FIRMWARE_EDID is not set
953# CONFIG_FB is not set 1008# CONFIG_FB is not set
1009# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
954 1010
955# 1011#
956# Sound 1012# Sound
@@ -958,6 +1014,11 @@ CONFIG_VIDEO_V4L2=y
958# CONFIG_SOUND is not set 1014# CONFIG_SOUND is not set
959 1015
960# 1016#
1017# HID Devices
1018#
1019CONFIG_HID=y
1020
1021#
961# USB support 1022# USB support
962# 1023#
963CONFIG_USB_ARCH_HAS_HCD=y 1024CONFIG_USB_ARCH_HAS_HCD=y
@@ -972,6 +1033,7 @@ CONFIG_USB=y
972# CONFIG_USB_DEVICEFS is not set 1033# CONFIG_USB_DEVICEFS is not set
973# CONFIG_USB_BANDWIDTH is not set 1034# CONFIG_USB_BANDWIDTH is not set
974# CONFIG_USB_DYNAMIC_MINORS is not set 1035# CONFIG_USB_DYNAMIC_MINORS is not set
1036# CONFIG_USB_MULTITHREAD_PROBE is not set
975# CONFIG_USB_OTG is not set 1037# CONFIG_USB_OTG is not set
976 1038
977# 1039#
@@ -1012,6 +1074,7 @@ CONFIG_USB_STORAGE=y
1012# CONFIG_USB_STORAGE_SDDR55 is not set 1074# CONFIG_USB_STORAGE_SDDR55 is not set
1013# CONFIG_USB_STORAGE_JUMPSHOT is not set 1075# CONFIG_USB_STORAGE_JUMPSHOT is not set
1014# CONFIG_USB_STORAGE_ALAUDA is not set 1076# CONFIG_USB_STORAGE_ALAUDA is not set
1077# CONFIG_USB_STORAGE_KARMA is not set
1015# CONFIG_USB_LIBUSUAL is not set 1078# CONFIG_USB_LIBUSUAL is not set
1016 1079
1017# 1080#
@@ -1050,6 +1113,7 @@ CONFIG_USB_STORAGE=y
1050# CONFIG_USB_KAWETH is not set 1113# CONFIG_USB_KAWETH is not set
1051# CONFIG_USB_PEGASUS is not set 1114# CONFIG_USB_PEGASUS is not set
1052# CONFIG_USB_RTL8150 is not set 1115# CONFIG_USB_RTL8150 is not set
1116# CONFIG_USB_USBNET_MII is not set
1053# CONFIG_USB_USBNET is not set 1117# CONFIG_USB_USBNET is not set
1054CONFIG_USB_MON=y 1118CONFIG_USB_MON=y
1055 1119
@@ -1067,19 +1131,21 @@ CONFIG_USB_MON=y
1067# 1131#
1068# CONFIG_USB_EMI62 is not set 1132# CONFIG_USB_EMI62 is not set
1069# CONFIG_USB_EMI26 is not set 1133# CONFIG_USB_EMI26 is not set
1134# CONFIG_USB_ADUTUX is not set
1070# CONFIG_USB_AUERSWALD is not set 1135# CONFIG_USB_AUERSWALD is not set
1071# CONFIG_USB_RIO500 is not set 1136# CONFIG_USB_RIO500 is not set
1072# CONFIG_USB_LEGOTOWER is not set 1137# CONFIG_USB_LEGOTOWER is not set
1073# CONFIG_USB_LCD is not set 1138# CONFIG_USB_LCD is not set
1074# CONFIG_USB_LED is not set 1139# CONFIG_USB_LED is not set
1075# CONFIG_USB_CY7C63 is not set 1140# CONFIG_USB_CYPRESS_CY7C63 is not set
1076# CONFIG_USB_CYTHERM is not set 1141# CONFIG_USB_CYTHERM is not set
1077# CONFIG_USB_PHIDGETKIT is not set 1142# CONFIG_USB_PHIDGET is not set
1078# CONFIG_USB_PHIDGETSERVO is not set
1079# CONFIG_USB_IDMOUSE is not set 1143# CONFIG_USB_IDMOUSE is not set
1144# CONFIG_USB_FTDI_ELAN is not set
1080# CONFIG_USB_APPLEDISPLAY is not set 1145# CONFIG_USB_APPLEDISPLAY is not set
1081# CONFIG_USB_SISUSBVGA is not set 1146# CONFIG_USB_SISUSBVGA is not set
1082# CONFIG_USB_LD is not set 1147# CONFIG_USB_LD is not set
1148# CONFIG_USB_TRANCEVIBRATOR is not set
1083 1149
1084# 1150#
1085# USB DSL modem support 1151# USB DSL modem support
@@ -1113,6 +1179,7 @@ CONFIG_EXT3_FS=y
1113CONFIG_EXT3_FS_XATTR=y 1179CONFIG_EXT3_FS_XATTR=y
1114CONFIG_EXT3_FS_POSIX_ACL=y 1180CONFIG_EXT3_FS_POSIX_ACL=y
1115# CONFIG_EXT3_FS_SECURITY is not set 1181# CONFIG_EXT3_FS_SECURITY is not set
1182# CONFIG_EXT4DEV_FS is not set
1116CONFIG_JBD=y 1183CONFIG_JBD=y
1117# CONFIG_JBD_DEBUG is not set 1184# CONFIG_JBD_DEBUG is not set
1118CONFIG_FS_MBCACHE=y 1185CONFIG_FS_MBCACHE=y
@@ -1120,6 +1187,7 @@ CONFIG_FS_MBCACHE=y
1120# CONFIG_JFS_FS is not set 1187# CONFIG_JFS_FS is not set
1121CONFIG_FS_POSIX_ACL=y 1188CONFIG_FS_POSIX_ACL=y
1122# CONFIG_XFS_FS is not set 1189# CONFIG_XFS_FS is not set
1190# CONFIG_GFS2_FS is not set
1123# CONFIG_OCFS2_FS is not set 1191# CONFIG_OCFS2_FS is not set
1124# CONFIG_MINIX_FS is not set 1192# CONFIG_MINIX_FS is not set
1125# CONFIG_ROMFS_FS is not set 1193# CONFIG_ROMFS_FS is not set
@@ -1150,8 +1218,10 @@ CONFIG_FAT_DEFAULT_CODEPAGE=437
1150# Pseudo filesystems 1218# Pseudo filesystems
1151# 1219#
1152CONFIG_PROC_FS=y 1220CONFIG_PROC_FS=y
1221CONFIG_PROC_SYSCTL=y
1153CONFIG_SYSFS=y 1222CONFIG_SYSFS=y
1154CONFIG_TMPFS=y 1223CONFIG_TMPFS=y
1224# CONFIG_TMPFS_POSIX_ACL is not set
1155# CONFIG_HUGETLB_PAGE is not set 1225# CONFIG_HUGETLB_PAGE is not set
1156CONFIG_RAMFS=y 1226CONFIG_RAMFS=y
1157# CONFIG_CONFIGFS_FS is not set 1227# CONFIG_CONFIGFS_FS is not set
@@ -1201,7 +1271,6 @@ CONFIG_SUNRPC=y
1201# CONFIG_RPCSEC_GSS_SPKM3 is not set 1271# CONFIG_RPCSEC_GSS_SPKM3 is not set
1202# CONFIG_SMB_FS is not set 1272# CONFIG_SMB_FS is not set
1203# CONFIG_CIFS is not set 1273# CONFIG_CIFS is not set
1204# CONFIG_CIFS_DEBUG2 is not set
1205# CONFIG_NCP_FS is not set 1274# CONFIG_NCP_FS is not set
1206# CONFIG_CODA_FS is not set 1275# CONFIG_CODA_FS is not set
1207# CONFIG_AFS_FS is not set 1276# CONFIG_AFS_FS is not set
@@ -1273,6 +1342,11 @@ CONFIG_NLS_CODEPAGE_437=y
1273# CONFIG_NLS_UTF8 is not set 1342# CONFIG_NLS_UTF8 is not set
1274 1343
1275# 1344#
1345# Distributed Lock Manager
1346#
1347# CONFIG_DLM is not set
1348
1349#
1276# Profiling support 1350# Profiling support
1277# 1351#
1278# CONFIG_PROFILING is not set 1352# CONFIG_PROFILING is not set
@@ -1281,8 +1355,11 @@ CONFIG_NLS_CODEPAGE_437=y
1281# Kernel hacking 1355# Kernel hacking
1282# 1356#
1283# CONFIG_PRINTK_TIME is not set 1357# CONFIG_PRINTK_TIME is not set
1358CONFIG_ENABLE_MUST_CHECK=y
1284CONFIG_MAGIC_SYSRQ=y 1359CONFIG_MAGIC_SYSRQ=y
1285# CONFIG_UNUSED_SYMBOLS is not set 1360# CONFIG_UNUSED_SYMBOLS is not set
1361# CONFIG_DEBUG_FS is not set
1362# CONFIG_HEADERS_CHECK is not set
1286CONFIG_DEBUG_KERNEL=y 1363CONFIG_DEBUG_KERNEL=y
1287CONFIG_LOG_BUF_SHIFT=14 1364CONFIG_LOG_BUF_SHIFT=14
1288CONFIG_DETECT_SOFTLOCKUP=y 1365CONFIG_DETECT_SOFTLOCKUP=y
@@ -1298,10 +1375,9 @@ CONFIG_DEBUG_MUTEXES=y
1298# CONFIG_DEBUG_KOBJECT is not set 1375# CONFIG_DEBUG_KOBJECT is not set
1299CONFIG_DEBUG_BUGVERBOSE=y 1376CONFIG_DEBUG_BUGVERBOSE=y
1300# CONFIG_DEBUG_INFO is not set 1377# CONFIG_DEBUG_INFO is not set
1301# CONFIG_DEBUG_FS is not set
1302# CONFIG_DEBUG_VM is not set 1378# CONFIG_DEBUG_VM is not set
1379# CONFIG_DEBUG_LIST is not set
1303CONFIG_FRAME_POINTER=y 1380CONFIG_FRAME_POINTER=y
1304# CONFIG_UNWIND_INFO is not set
1305CONFIG_FORCED_INLINING=y 1381CONFIG_FORCED_INLINING=y
1306# CONFIG_RCU_TORTURE_TEST is not set 1382# CONFIG_RCU_TORTURE_TEST is not set
1307CONFIG_DEBUG_USER=y 1383CONFIG_DEBUG_USER=y
@@ -1321,12 +1397,9 @@ CONFIG_DEBUG_LL=y
1321# CONFIG_CRYPTO is not set 1397# CONFIG_CRYPTO is not set
1322 1398
1323# 1399#
1324# Hardware crypto devices
1325#
1326
1327#
1328# Library routines 1400# Library routines
1329# 1401#
1402CONFIG_BITREVERSE=y
1330# CONFIG_CRC_CCITT is not set 1403# CONFIG_CRC_CCITT is not set
1331# CONFIG_CRC16 is not set 1404# CONFIG_CRC16 is not set
1332CONFIG_CRC32=y 1405CONFIG_CRC32=y
@@ -1334,3 +1407,4 @@ CONFIG_CRC32=y
1334CONFIG_ZLIB_INFLATE=y 1407CONFIG_ZLIB_INFLATE=y
1335CONFIG_ZLIB_DEFLATE=y 1408CONFIG_ZLIB_DEFLATE=y
1336CONFIG_PLIST=y 1409CONFIG_PLIST=y
1410CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/lpd270_defconfig b/arch/arm/configs/lpd270_defconfig
index e146189ab54f..a3bf5833b87a 100644
--- a/arch/arm/configs/lpd270_defconfig
+++ b/arch/arm/configs/lpd270_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc1 3# Linux kernel version: 2.6.20-rc1
4# Sun Jul 9 14:15:23 2006 4# Sat Dec 16 06:05:51 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
9CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
12CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_ARCH_MTD_XIP=y 18CONFIG_ARCH_MTD_XIP=y
@@ -29,16 +33,21 @@ CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y 33CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y 34CONFIG_SWAP=y
31CONFIG_SYSVIPC=y 35CONFIG_SYSVIPC=y
36# CONFIG_IPC_NS is not set
32# CONFIG_POSIX_MQUEUE is not set 37# CONFIG_POSIX_MQUEUE is not set
33# CONFIG_BSD_PROCESS_ACCT is not set 38# CONFIG_BSD_PROCESS_ACCT is not set
34CONFIG_SYSCTL=y 39# CONFIG_TASKSTATS is not set
40# CONFIG_UTS_NS is not set
35# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
36# CONFIG_IKCONFIG is not set 42# CONFIG_IKCONFIG is not set
43CONFIG_SYSFS_DEPRECATED=y
37# CONFIG_RELAY is not set 44# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE="" 45CONFIG_INITRAMFS_SOURCE=""
39CONFIG_UID16=y
40CONFIG_CC_OPTIMIZE_FOR_SIZE=y 46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
41# CONFIG_EMBEDDED is not set 48# CONFIG_EMBEDDED is not set
49CONFIG_UID16=y
50CONFIG_SYSCTL_SYSCALL=y
42CONFIG_KALLSYMS=y 51CONFIG_KALLSYMS=y
43# CONFIG_KALLSYMS_ALL is not set 52# CONFIG_KALLSYMS_ALL is not set
44# CONFIG_KALLSYMS_EXTRA_PASS is not set 53# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -47,12 +56,12 @@ CONFIG_PRINTK=y
47CONFIG_BUG=y 56CONFIG_BUG=y
48CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
49CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
50CONFIG_RT_MUTEXES=y
51CONFIG_FUTEX=y 59CONFIG_FUTEX=y
52CONFIG_EPOLL=y 60CONFIG_EPOLL=y
53CONFIG_SHMEM=y 61CONFIG_SHMEM=y
54CONFIG_SLAB=y 62CONFIG_SLAB=y
55CONFIG_VM_EVENT_COUNTERS=y 63CONFIG_VM_EVENT_COUNTERS=y
64CONFIG_RT_MUTEXES=y
56# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
57CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
58# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -69,7 +78,10 @@ CONFIG_MODULES=y
69# 78#
70# Block layer 79# Block layer
71# 80#
81CONFIG_BLOCK=y
82# CONFIG_LBD is not set
72# CONFIG_BLK_DEV_IO_TRACE is not set 83# CONFIG_BLK_DEV_IO_TRACE is not set
84# CONFIG_LSF is not set
73 85
74# 86#
75# IO Schedulers 87# IO Schedulers
@@ -101,7 +113,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
101# CONFIG_ARCH_NETX is not set 113# CONFIG_ARCH_NETX is not set
102# CONFIG_ARCH_H720X is not set 114# CONFIG_ARCH_H720X is not set
103# CONFIG_ARCH_IMX is not set 115# CONFIG_ARCH_IMX is not set
104# CONFIG_ARCH_IOP3XX is not set 116# CONFIG_ARCH_IOP32X is not set
117# CONFIG_ARCH_IOP33X is not set
118# CONFIG_ARCH_IOP13XX is not set
105# CONFIG_ARCH_IXP4XX is not set 119# CONFIG_ARCH_IXP4XX is not set
106# CONFIG_ARCH_IXP2000 is not set 120# CONFIG_ARCH_IXP2000 is not set
107# CONFIG_ARCH_IXP23XX is not set 121# CONFIG_ARCH_IXP23XX is not set
@@ -125,7 +139,6 @@ CONFIG_MACH_LOGICPD_PXA270=y
125# CONFIG_PXA_SHARPSL is not set 139# CONFIG_PXA_SHARPSL is not set
126# CONFIG_MACH_TRIZEPS4 is not set 140# CONFIG_MACH_TRIZEPS4 is not set
127CONFIG_PXA27x=y 141CONFIG_PXA27x=y
128CONFIG_IWMMXT=y
129 142
130# 143#
131# Processor Type 144# Processor Type
@@ -136,11 +149,15 @@ CONFIG_CPU_32v5=y
136CONFIG_CPU_ABRT_EV5T=y 149CONFIG_CPU_ABRT_EV5T=y
137CONFIG_CPU_CACHE_VIVT=y 150CONFIG_CPU_CACHE_VIVT=y
138CONFIG_CPU_TLB_V4WBI=y 151CONFIG_CPU_TLB_V4WBI=y
152CONFIG_CPU_CP15=y
153CONFIG_CPU_CP15_MMU=y
139 154
140# 155#
141# Processor Features 156# Processor Features
142# 157#
143# CONFIG_ARM_THUMB is not set 158# CONFIG_ARM_THUMB is not set
159# CONFIG_CPU_DCACHE_DISABLE is not set
160CONFIG_IWMMXT=y
144CONFIG_XSCALE_PMU=y 161CONFIG_XSCALE_PMU=y
145 162
146# 163#
@@ -217,6 +234,7 @@ CONFIG_NET=y
217CONFIG_UNIX=y 234CONFIG_UNIX=y
218CONFIG_XFRM=y 235CONFIG_XFRM=y
219# CONFIG_XFRM_USER is not set 236# CONFIG_XFRM_USER is not set
237# CONFIG_XFRM_SUB_POLICY is not set
220# CONFIG_NET_KEY is not set 238# CONFIG_NET_KEY is not set
221CONFIG_INET=y 239CONFIG_INET=y
222# CONFIG_IP_MULTICAST is not set 240# CONFIG_IP_MULTICAST is not set
@@ -237,13 +255,29 @@ CONFIG_IP_PNP_BOOTP=y
237# CONFIG_INET_TUNNEL is not set 255# CONFIG_INET_TUNNEL is not set
238CONFIG_INET_XFRM_MODE_TRANSPORT=y 256CONFIG_INET_XFRM_MODE_TRANSPORT=y
239CONFIG_INET_XFRM_MODE_TUNNEL=y 257CONFIG_INET_XFRM_MODE_TUNNEL=y
258CONFIG_INET_XFRM_MODE_BEET=y
240CONFIG_INET_DIAG=y 259CONFIG_INET_DIAG=y
241CONFIG_INET_TCP_DIAG=y 260CONFIG_INET_TCP_DIAG=y
242# CONFIG_TCP_CONG_ADVANCED is not set 261# CONFIG_TCP_CONG_ADVANCED is not set
243CONFIG_TCP_CONG_BIC=y 262CONFIG_TCP_CONG_CUBIC=y
244# CONFIG_IPV6 is not set 263CONFIG_DEFAULT_TCP_CONG="cubic"
264# CONFIG_TCP_MD5SIG is not set
265CONFIG_IPV6=y
266# CONFIG_IPV6_PRIVACY is not set
267# CONFIG_IPV6_ROUTER_PREF is not set
268# CONFIG_INET6_AH is not set
269# CONFIG_INET6_ESP is not set
270# CONFIG_INET6_IPCOMP is not set
271# CONFIG_IPV6_MIP6 is not set
245# CONFIG_INET6_XFRM_TUNNEL is not set 272# CONFIG_INET6_XFRM_TUNNEL is not set
246# CONFIG_INET6_TUNNEL is not set 273# CONFIG_INET6_TUNNEL is not set
274# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
275# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
276# CONFIG_INET6_XFRM_MODE_BEET is not set
277# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
278# CONFIG_IPV6_SIT is not set
279# CONFIG_IPV6_TUNNEL is not set
280# CONFIG_IPV6_MULTIPLE_TABLES is not set
247# CONFIG_NETWORK_SECMARK is not set 281# CONFIG_NETWORK_SECMARK is not set
248# CONFIG_NETFILTER is not set 282# CONFIG_NETFILTER is not set
249 283
@@ -270,7 +304,6 @@ CONFIG_TCP_CONG_BIC=y
270# CONFIG_ATALK is not set 304# CONFIG_ATALK is not set
271# CONFIG_X25 is not set 305# CONFIG_X25 is not set
272# CONFIG_LAPB is not set 306# CONFIG_LAPB is not set
273# CONFIG_NET_DIVERT is not set
274# CONFIG_ECONET is not set 307# CONFIG_ECONET is not set
275# CONFIG_WAN_ROUTER is not set 308# CONFIG_WAN_ROUTER is not set
276 309
@@ -329,6 +362,7 @@ CONFIG_MTD_BLOCK=y
329# CONFIG_NFTL is not set 362# CONFIG_NFTL is not set
330# CONFIG_INFTL is not set 363# CONFIG_INFTL is not set
331# CONFIG_RFD_FTL is not set 364# CONFIG_RFD_FTL is not set
365# CONFIG_SSFDC is not set
332 366
333# 367#
334# RAM/ROM/Flash chip drivers 368# RAM/ROM/Flash chip drivers
@@ -410,7 +444,7 @@ CONFIG_MTD_CFI_UTIL=y
410# 444#
411# CONFIG_BLK_DEV_COW_COMMON is not set 445# CONFIG_BLK_DEV_COW_COMMON is not set
412# CONFIG_BLK_DEV_LOOP is not set 446# CONFIG_BLK_DEV_LOOP is not set
413# CONFIG_BLK_DEV_NBD is not set 447CONFIG_BLK_DEV_NBD=y
414# CONFIG_BLK_DEV_RAM is not set 448# CONFIG_BLK_DEV_RAM is not set
415# CONFIG_BLK_DEV_INITRD is not set 449# CONFIG_BLK_DEV_INITRD is not set
416# CONFIG_CDROM_PKTCDVD is not set 450# CONFIG_CDROM_PKTCDVD is not set
@@ -447,6 +481,12 @@ CONFIG_BLK_DEV_IDEDISK=y
447# 481#
448# CONFIG_RAID_ATTRS is not set 482# CONFIG_RAID_ATTRS is not set
449# CONFIG_SCSI is not set 483# CONFIG_SCSI is not set
484# CONFIG_SCSI_NETLINK is not set
485
486#
487# Serial ATA (prod) and Parallel ATA (experimental) drivers
488#
489# CONFIG_ATA is not set
450 490
451# 491#
452# Multi-device support (RAID and LVM) 492# Multi-device support (RAID and LVM)
@@ -526,6 +566,7 @@ CONFIG_SMC91X=y
526# Input device support 566# Input device support
527# 567#
528CONFIG_INPUT=y 568CONFIG_INPUT=y
569# CONFIG_INPUT_FF_MEMLESS is not set
529 570
530# 571#
531# Userland interfaces 572# Userland interfaces
@@ -548,6 +589,7 @@ CONFIG_KEYBOARD_ATKBD=y
548# CONFIG_KEYBOARD_LKKBD is not set 589# CONFIG_KEYBOARD_LKKBD is not set
549# CONFIG_KEYBOARD_XTKBD is not set 590# CONFIG_KEYBOARD_XTKBD is not set
550# CONFIG_KEYBOARD_NEWTON is not set 591# CONFIG_KEYBOARD_NEWTON is not set
592# CONFIG_KEYBOARD_STOWAWAY is not set
551# CONFIG_INPUT_MOUSE is not set 593# CONFIG_INPUT_MOUSE is not set
552# CONFIG_INPUT_JOYSTICK is not set 594# CONFIG_INPUT_JOYSTICK is not set
553# CONFIG_INPUT_TOUCHSCREEN is not set 595# CONFIG_INPUT_TOUCHSCREEN is not set
@@ -600,17 +642,12 @@ CONFIG_LEGACY_PTY_COUNT=256
600# CONFIG_NVRAM is not set 642# CONFIG_NVRAM is not set
601# CONFIG_DTLK is not set 643# CONFIG_DTLK is not set
602# CONFIG_R3964 is not set 644# CONFIG_R3964 is not set
603
604#
605# Ftape, the floppy tape device driver
606#
607# CONFIG_RAW_DRIVER is not set 645# CONFIG_RAW_DRIVER is not set
608 646
609# 647#
610# TPM devices 648# TPM devices
611# 649#
612# CONFIG_TCG_TPM is not set 650# CONFIG_TCG_TPM is not set
613# CONFIG_TELCLOCK is not set
614 651
615# 652#
616# I2C support 653# I2C support
@@ -626,6 +663,7 @@ CONFIG_LEGACY_PTY_COUNT=256
626# 663#
627# Dallas's 1-wire bus 664# Dallas's 1-wire bus
628# 665#
666# CONFIG_W1 is not set
629 667
630# 668#
631# Hardware Monitoring support 669# Hardware Monitoring support
@@ -634,11 +672,14 @@ CONFIG_HWMON=y
634# CONFIG_HWMON_VID is not set 672# CONFIG_HWMON_VID is not set
635# CONFIG_SENSORS_ABITUGURU is not set 673# CONFIG_SENSORS_ABITUGURU is not set
636# CONFIG_SENSORS_F71805F is not set 674# CONFIG_SENSORS_F71805F is not set
675# CONFIG_SENSORS_PC87427 is not set
676# CONFIG_SENSORS_VT1211 is not set
637# CONFIG_HWMON_DEBUG_CHIP is not set 677# CONFIG_HWMON_DEBUG_CHIP is not set
638 678
639# 679#
640# Misc devices 680# Misc devices
641# 681#
682# CONFIG_TIFM_CORE is not set
642 683
643# 684#
644# LED devices 685# LED devices
@@ -657,7 +698,6 @@ CONFIG_HWMON=y
657# Multimedia devices 698# Multimedia devices
658# 699#
659# CONFIG_VIDEO_DEV is not set 700# CONFIG_VIDEO_DEV is not set
660CONFIG_VIDEO_V4L2=y
661 701
662# 702#
663# Digital Video Broadcasting Devices 703# Digital Video Broadcasting Devices
@@ -679,6 +719,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
679# CONFIG_FB_S1D13XXX is not set 719# CONFIG_FB_S1D13XXX is not set
680CONFIG_FB_PXA=y 720CONFIG_FB_PXA=y
681# CONFIG_FB_PXA_PARAMETERS is not set 721# CONFIG_FB_PXA_PARAMETERS is not set
722# CONFIG_FB_MBX is not set
682# CONFIG_FB_VIRTUAL is not set 723# CONFIG_FB_VIRTUAL is not set
683 724
684# 725#
@@ -725,7 +766,6 @@ CONFIG_SND_VERBOSE_PROCFS=y
725# Generic devices 766# Generic devices
726# 767#
727CONFIG_SND_AC97_CODEC=y 768CONFIG_SND_AC97_CODEC=y
728CONFIG_SND_AC97_BUS=y
729# CONFIG_SND_DUMMY is not set 769# CONFIG_SND_DUMMY is not set
730# CONFIG_SND_MTPAV is not set 770# CONFIG_SND_MTPAV is not set
731# CONFIG_SND_SERIAL_U16550 is not set 771# CONFIG_SND_SERIAL_U16550 is not set
@@ -741,6 +781,12 @@ CONFIG_SND_PXA2XX_AC97=y
741# Open Sound System 781# Open Sound System
742# 782#
743# CONFIG_SOUND_PRIME is not set 783# CONFIG_SOUND_PRIME is not set
784CONFIG_AC97_BUS=y
785
786#
787# HID Devices
788#
789CONFIG_HID=y
744 790
745# 791#
746# USB support 792# USB support
@@ -777,10 +823,12 @@ CONFIG_EXT2_FS=y
777# CONFIG_EXT2_FS_XATTR is not set 823# CONFIG_EXT2_FS_XATTR is not set
778# CONFIG_EXT2_FS_XIP is not set 824# CONFIG_EXT2_FS_XIP is not set
779# CONFIG_EXT3_FS is not set 825# CONFIG_EXT3_FS is not set
826# CONFIG_EXT4DEV_FS is not set
780# CONFIG_REISERFS_FS is not set 827# CONFIG_REISERFS_FS is not set
781# CONFIG_JFS_FS is not set 828# CONFIG_JFS_FS is not set
782# CONFIG_FS_POSIX_ACL is not set 829# CONFIG_FS_POSIX_ACL is not set
783# CONFIG_XFS_FS is not set 830# CONFIG_XFS_FS is not set
831# CONFIG_GFS2_FS is not set
784# CONFIG_OCFS2_FS is not set 832# CONFIG_OCFS2_FS is not set
785# CONFIG_MINIX_FS is not set 833# CONFIG_MINIX_FS is not set
786# CONFIG_ROMFS_FS is not set 834# CONFIG_ROMFS_FS is not set
@@ -811,6 +859,7 @@ CONFIG_FAT_DEFAULT_CODEPAGE=437
811# Pseudo filesystems 859# Pseudo filesystems
812# 860#
813CONFIG_PROC_FS=y 861CONFIG_PROC_FS=y
862CONFIG_PROC_SYSCTL=y
814CONFIG_SYSFS=y 863CONFIG_SYSFS=y
815# CONFIG_TMPFS is not set 864# CONFIG_TMPFS is not set
816# CONFIG_HUGETLB_PAGE is not set 865# CONFIG_HUGETLB_PAGE is not set
@@ -860,7 +909,6 @@ CONFIG_SUNRPC=y
860# CONFIG_RPCSEC_GSS_SPKM3 is not set 909# CONFIG_RPCSEC_GSS_SPKM3 is not set
861# CONFIG_SMB_FS is not set 910# CONFIG_SMB_FS is not set
862# CONFIG_CIFS is not set 911# CONFIG_CIFS is not set
863# CONFIG_CIFS_DEBUG2 is not set
864# CONFIG_NCP_FS is not set 912# CONFIG_NCP_FS is not set
865# CONFIG_CODA_FS is not set 913# CONFIG_CODA_FS is not set
866# CONFIG_AFS_FS is not set 914# CONFIG_AFS_FS is not set
@@ -917,6 +965,11 @@ CONFIG_NLS_ISO8859_1=y
917# CONFIG_NLS_UTF8 is not set 965# CONFIG_NLS_UTF8 is not set
918 966
919# 967#
968# Distributed Lock Manager
969#
970# CONFIG_DLM is not set
971
972#
920# Profiling support 973# Profiling support
921# 974#
922# CONFIG_PROFILING is not set 975# CONFIG_PROFILING is not set
@@ -925,8 +978,11 @@ CONFIG_NLS_ISO8859_1=y
925# Kernel hacking 978# Kernel hacking
926# 979#
927# CONFIG_PRINTK_TIME is not set 980# CONFIG_PRINTK_TIME is not set
981CONFIG_ENABLE_MUST_CHECK=y
928CONFIG_MAGIC_SYSRQ=y 982CONFIG_MAGIC_SYSRQ=y
929# CONFIG_UNUSED_SYMBOLS is not set 983# CONFIG_UNUSED_SYMBOLS is not set
984# CONFIG_DEBUG_FS is not set
985# CONFIG_HEADERS_CHECK is not set
930CONFIG_DEBUG_KERNEL=y 986CONFIG_DEBUG_KERNEL=y
931CONFIG_LOG_BUF_SHIFT=14 987CONFIG_LOG_BUF_SHIFT=14
932CONFIG_DETECT_SOFTLOCKUP=y 988CONFIG_DETECT_SOFTLOCKUP=y
@@ -942,10 +998,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
942# CONFIG_DEBUG_KOBJECT is not set 998# CONFIG_DEBUG_KOBJECT is not set
943CONFIG_DEBUG_BUGVERBOSE=y 999CONFIG_DEBUG_BUGVERBOSE=y
944CONFIG_DEBUG_INFO=y 1000CONFIG_DEBUG_INFO=y
945# CONFIG_DEBUG_FS is not set
946# CONFIG_DEBUG_VM is not set 1001# CONFIG_DEBUG_VM is not set
1002# CONFIG_DEBUG_LIST is not set
947CONFIG_FRAME_POINTER=y 1003CONFIG_FRAME_POINTER=y
948# CONFIG_UNWIND_INFO is not set
949CONFIG_FORCED_INLINING=y 1004CONFIG_FORCED_INLINING=y
950# CONFIG_RCU_TORTURE_TEST is not set 1005# CONFIG_RCU_TORTURE_TEST is not set
951CONFIG_DEBUG_USER=y 1006CONFIG_DEBUG_USER=y
@@ -965,12 +1020,9 @@ CONFIG_DEBUG_LL=y
965# CONFIG_CRYPTO is not set 1020# CONFIG_CRYPTO is not set
966 1021
967# 1022#
968# Hardware crypto devices
969#
970
971#
972# Library routines 1023# Library routines
973# 1024#
1025CONFIG_BITREVERSE=y
974# CONFIG_CRC_CCITT is not set 1026# CONFIG_CRC_CCITT is not set
975# CONFIG_CRC16 is not set 1027# CONFIG_CRC16 is not set
976CONFIG_CRC32=y 1028CONFIG_CRC32=y
@@ -978,3 +1030,4 @@ CONFIG_CRC32=y
978CONFIG_ZLIB_INFLATE=y 1030CONFIG_ZLIB_INFLATE=y
979CONFIG_ZLIB_DEFLATE=y 1031CONFIG_ZLIB_DEFLATE=y
980CONFIG_PLIST=y 1032CONFIG_PLIST=y
1033CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/configs/onearm_defconfig b/arch/arm/configs/onearm_defconfig
index 0498ebd7d5de..650a248613e5 100644
--- a/arch/arm/configs/onearm_defconfig
+++ b/arch/arm/configs/onearm_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.18-rc1 3# Linux kernel version: 2.6.20-rc1
4# Sun Jul 9 14:16:20 2006 4# Sat Dec 16 06:05:18 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7# CONFIG_GENERIC_TIME is not set
7CONFIG_MMU=y 8CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y 9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_TRACE_IRQFLAGS_SUPPORT=y
9CONFIG_HARDIRQS_SW_RESEND=y 11CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y 12CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set
12CONFIG_GENERIC_HWEIGHT=y 16CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 17CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_VECTORS_BASE=0xffff0000 18CONFIG_VECTORS_BASE=0xffff0000
@@ -28,16 +32,21 @@ CONFIG_LOCALVERSION=""
28CONFIG_LOCALVERSION_AUTO=y 32CONFIG_LOCALVERSION_AUTO=y
29# CONFIG_SWAP is not set 33# CONFIG_SWAP is not set
30CONFIG_SYSVIPC=y 34CONFIG_SYSVIPC=y
35# CONFIG_IPC_NS is not set
31# CONFIG_POSIX_MQUEUE is not set 36# CONFIG_POSIX_MQUEUE is not set
32# CONFIG_BSD_PROCESS_ACCT is not set 37# CONFIG_BSD_PROCESS_ACCT is not set
33CONFIG_SYSCTL=y 38# CONFIG_TASKSTATS is not set
39# CONFIG_UTS_NS is not set
34# CONFIG_AUDIT is not set 40# CONFIG_AUDIT is not set
35# CONFIG_IKCONFIG is not set 41# CONFIG_IKCONFIG is not set
42CONFIG_SYSFS_DEPRECATED=y
36# CONFIG_RELAY is not set 43# CONFIG_RELAY is not set
37CONFIG_INITRAMFS_SOURCE="" 44CONFIG_INITRAMFS_SOURCE=""
38CONFIG_UID16=y
39CONFIG_CC_OPTIMIZE_FOR_SIZE=y 45CONFIG_CC_OPTIMIZE_FOR_SIZE=y
46CONFIG_SYSCTL=y
40CONFIG_EMBEDDED=y 47CONFIG_EMBEDDED=y
48CONFIG_UID16=y
49CONFIG_SYSCTL_SYSCALL=y
41CONFIG_KALLSYMS=y 50CONFIG_KALLSYMS=y
42# CONFIG_KALLSYMS_ALL is not set 51# CONFIG_KALLSYMS_ALL is not set
43# CONFIG_KALLSYMS_EXTRA_PASS is not set 52# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -46,12 +55,12 @@ CONFIG_PRINTK=y
46CONFIG_BUG=y 55CONFIG_BUG=y
47CONFIG_ELF_CORE=y 56CONFIG_ELF_CORE=y
48CONFIG_BASE_FULL=y 57CONFIG_BASE_FULL=y
49CONFIG_RT_MUTEXES=y
50CONFIG_FUTEX=y 58CONFIG_FUTEX=y
51CONFIG_EPOLL=y 59CONFIG_EPOLL=y
52CONFIG_SHMEM=y 60CONFIG_SHMEM=y
53CONFIG_SLAB=y 61CONFIG_SLAB=y
54CONFIG_VM_EVENT_COUNTERS=y 62CONFIG_VM_EVENT_COUNTERS=y
63CONFIG_RT_MUTEXES=y
55# CONFIG_TINY_SHMEM is not set 64# CONFIG_TINY_SHMEM is not set
56CONFIG_BASE_SMALL=0 65CONFIG_BASE_SMALL=0
57# CONFIG_SLOB is not set 66# CONFIG_SLOB is not set
@@ -69,7 +78,10 @@ CONFIG_KMOD=y
69# 78#
70# Block layer 79# Block layer
71# 80#
81CONFIG_BLOCK=y
82# CONFIG_LBD is not set
72# CONFIG_BLK_DEV_IO_TRACE is not set 83# CONFIG_BLK_DEV_IO_TRACE is not set
84# CONFIG_LSF is not set
73 85
74# 86#
75# IO Schedulers 87# IO Schedulers
@@ -101,7 +113,9 @@ CONFIG_ARCH_AT91=y
101# CONFIG_ARCH_NETX is not set 113# CONFIG_ARCH_NETX is not set
102# CONFIG_ARCH_H720X is not set 114# CONFIG_ARCH_H720X is not set
103# CONFIG_ARCH_IMX is not set 115# CONFIG_ARCH_IMX is not set
104# CONFIG_ARCH_IOP3XX is not set 116# CONFIG_ARCH_IOP32X is not set
117# CONFIG_ARCH_IOP33X is not set
118# CONFIG_ARCH_IOP13XX is not set
105# CONFIG_ARCH_IXP4XX is not set 119# CONFIG_ARCH_IXP4XX is not set
106# CONFIG_ARCH_IXP2000 is not set 120# CONFIG_ARCH_IXP2000 is not set
107# CONFIG_ARCH_IXP23XX is not set 121# CONFIG_ARCH_IXP23XX is not set
@@ -118,10 +132,6 @@ CONFIG_ARCH_AT91=y
118# 132#
119# Atmel AT91 System-on-Chip 133# Atmel AT91 System-on-Chip
120# 134#
121
122#
123# Atmel AT91 Processors
124#
125CONFIG_ARCH_AT91RM9200=y 135CONFIG_ARCH_AT91RM9200=y
126# CONFIG_ARCH_AT91SAM9260 is not set 136# CONFIG_ARCH_AT91SAM9260 is not set
127# CONFIG_ARCH_AT91SAM9261 is not set 137# CONFIG_ARCH_AT91SAM9261 is not set
@@ -140,6 +150,10 @@ CONFIG_MACH_ONEARM=y
140# CONFIG_MACH_KAFA is not set 150# CONFIG_MACH_KAFA is not set
141 151
142# 152#
153# AT91 Board Options
154#
155
156#
143# AT91 Feature Selections 157# AT91 Feature Selections
144# 158#
145CONFIG_AT91_PROGRAMMABLE_CLOCKS=y 159CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
@@ -149,12 +163,14 @@ CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
149# 163#
150CONFIG_CPU_32=y 164CONFIG_CPU_32=y
151CONFIG_CPU_ARM920T=y 165CONFIG_CPU_ARM920T=y
152CONFIG_CPU_32v4=y 166CONFIG_CPU_32v4T=y
153CONFIG_CPU_ABRT_EV4T=y 167CONFIG_CPU_ABRT_EV4T=y
154CONFIG_CPU_CACHE_V4WT=y 168CONFIG_CPU_CACHE_V4WT=y
155CONFIG_CPU_CACHE_VIVT=y 169CONFIG_CPU_CACHE_VIVT=y
156CONFIG_CPU_COPY_V4WB=y 170CONFIG_CPU_COPY_V4WB=y
157CONFIG_CPU_TLB_V4WBI=y 171CONFIG_CPU_TLB_V4WBI=y
172CONFIG_CPU_CP15=y
173CONFIG_CPU_CP15_MMU=y
158 174
159# 175#
160# Processor Features 176# Processor Features
@@ -251,6 +267,7 @@ CONFIG_PACKET=y
251CONFIG_UNIX=y 267CONFIG_UNIX=y
252CONFIG_XFRM=y 268CONFIG_XFRM=y
253# CONFIG_XFRM_USER is not set 269# CONFIG_XFRM_USER is not set
270# CONFIG_XFRM_SUB_POLICY is not set
254# CONFIG_NET_KEY is not set 271# CONFIG_NET_KEY is not set
255CONFIG_INET=y 272CONFIG_INET=y
256# CONFIG_IP_MULTICAST is not set 273# CONFIG_IP_MULTICAST is not set
@@ -271,13 +288,29 @@ CONFIG_IP_PNP_BOOTP=y
271# CONFIG_INET_TUNNEL is not set 288# CONFIG_INET_TUNNEL is not set
272CONFIG_INET_XFRM_MODE_TRANSPORT=y 289CONFIG_INET_XFRM_MODE_TRANSPORT=y
273CONFIG_INET_XFRM_MODE_TUNNEL=y 290CONFIG_INET_XFRM_MODE_TUNNEL=y
291CONFIG_INET_XFRM_MODE_BEET=y
274CONFIG_INET_DIAG=y 292CONFIG_INET_DIAG=y
275CONFIG_INET_TCP_DIAG=y 293CONFIG_INET_TCP_DIAG=y
276# CONFIG_TCP_CONG_ADVANCED is not set 294# CONFIG_TCP_CONG_ADVANCED is not set
277CONFIG_TCP_CONG_BIC=y 295CONFIG_TCP_CONG_CUBIC=y
278# CONFIG_IPV6 is not set 296CONFIG_DEFAULT_TCP_CONG="cubic"
297# CONFIG_TCP_MD5SIG is not set
298CONFIG_IPV6=y
299# CONFIG_IPV6_PRIVACY is not set
300# CONFIG_IPV6_ROUTER_PREF is not set
301# CONFIG_INET6_AH is not set
302# CONFIG_INET6_ESP is not set
303# CONFIG_INET6_IPCOMP is not set
304# CONFIG_IPV6_MIP6 is not set
279# CONFIG_INET6_XFRM_TUNNEL is not set 305# CONFIG_INET6_XFRM_TUNNEL is not set
280# CONFIG_INET6_TUNNEL is not set 306# CONFIG_INET6_TUNNEL is not set
307# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
308# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
309# CONFIG_INET6_XFRM_MODE_BEET is not set
310# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
311# CONFIG_IPV6_SIT is not set
312# CONFIG_IPV6_TUNNEL is not set
313# CONFIG_IPV6_MULTIPLE_TABLES is not set
281# CONFIG_NETWORK_SECMARK is not set 314# CONFIG_NETWORK_SECMARK is not set
282# CONFIG_NETFILTER is not set 315# CONFIG_NETFILTER is not set
283 316
@@ -304,7 +337,6 @@ CONFIG_TCP_CONG_BIC=y
304# CONFIG_ATALK is not set 337# CONFIG_ATALK is not set
305# CONFIG_X25 is not set 338# CONFIG_X25 is not set
306# CONFIG_LAPB is not set 339# CONFIG_LAPB is not set
307# CONFIG_NET_DIVERT is not set
308# CONFIG_ECONET is not set 340# CONFIG_ECONET is not set
309# CONFIG_WAN_ROUTER is not set 341# CONFIG_WAN_ROUTER is not set
310 342
@@ -360,6 +392,7 @@ CONFIG_MTD_BLOCK=y
360# CONFIG_NFTL is not set 392# CONFIG_NFTL is not set
361# CONFIG_INFTL is not set 393# CONFIG_INFTL is not set
362# CONFIG_RFD_FTL is not set 394# CONFIG_RFD_FTL is not set
395# CONFIG_SSFDC is not set
363 396
364# 397#
365# RAM/ROM/Flash chip drivers 398# RAM/ROM/Flash chip drivers
@@ -438,11 +471,12 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=0
438# 471#
439# CONFIG_BLK_DEV_COW_COMMON is not set 472# CONFIG_BLK_DEV_COW_COMMON is not set
440# CONFIG_BLK_DEV_LOOP is not set 473# CONFIG_BLK_DEV_LOOP is not set
441# CONFIG_BLK_DEV_NBD is not set 474CONFIG_BLK_DEV_NBD=y
442# CONFIG_BLK_DEV_UB is not set 475# CONFIG_BLK_DEV_UB is not set
443CONFIG_BLK_DEV_RAM=y 476CONFIG_BLK_DEV_RAM=y
444CONFIG_BLK_DEV_RAM_COUNT=16 477CONFIG_BLK_DEV_RAM_COUNT=16
445CONFIG_BLK_DEV_RAM_SIZE=8192 478CONFIG_BLK_DEV_RAM_SIZE=8192
479CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
446CONFIG_BLK_DEV_INITRD=y 480CONFIG_BLK_DEV_INITRD=y
447# CONFIG_CDROM_PKTCDVD is not set 481# CONFIG_CDROM_PKTCDVD is not set
448# CONFIG_ATA_OVER_ETH is not set 482# CONFIG_ATA_OVER_ETH is not set
@@ -457,6 +491,12 @@ CONFIG_BLK_DEV_INITRD=y
457# 491#
458# CONFIG_RAID_ATTRS is not set 492# CONFIG_RAID_ATTRS is not set
459# CONFIG_SCSI is not set 493# CONFIG_SCSI is not set
494# CONFIG_SCSI_NETLINK is not set
495
496#
497# Serial ATA (prod) and Parallel ATA (experimental) drivers
498#
499# CONFIG_ATA is not set
460 500
461# 501#
462# Multi-device support (RAID and LVM) 502# Multi-device support (RAID and LVM)
@@ -541,6 +581,7 @@ CONFIG_ARM_AT91_ETHER=y
541# Input device support 581# Input device support
542# 582#
543CONFIG_INPUT=y 583CONFIG_INPUT=y
584# CONFIG_INPUT_FF_MEMLESS is not set
544 585
545# 586#
546# Userland interfaces 587# Userland interfaces
@@ -619,10 +660,6 @@ CONFIG_AT91RM9200_WATCHDOG=y
619# CONFIG_R3964 is not set 660# CONFIG_R3964 is not set
620 661
621# 662#
622# Ftape, the floppy tape device driver
623#
624
625#
626# PCMCIA character devices 663# PCMCIA character devices
627# 664#
628# CONFIG_SYNCLINK_CS is not set 665# CONFIG_SYNCLINK_CS is not set
@@ -634,7 +671,6 @@ CONFIG_AT91RM9200_WATCHDOG=y
634# TPM devices 671# TPM devices
635# 672#
636# CONFIG_TCG_TPM is not set 673# CONFIG_TCG_TPM is not set
637# CONFIG_TELCLOCK is not set
638 674
639# 675#
640# I2C support 676# I2C support
@@ -652,6 +688,7 @@ CONFIG_I2C_CHARDEV=y
652# 688#
653# I2C Hardware Bus support 689# I2C Hardware Bus support
654# 690#
691# CONFIG_I2C_AT91 is not set
655# CONFIG_I2C_OCORES is not set 692# CONFIG_I2C_OCORES is not set
656# CONFIG_I2C_PARPORT_LIGHT is not set 693# CONFIG_I2C_PARPORT_LIGHT is not set
657# CONFIG_I2C_STUB is not set 694# CONFIG_I2C_STUB is not set
@@ -681,6 +718,7 @@ CONFIG_I2C_CHARDEV=y
681# 718#
682# Dallas's 1-wire bus 719# Dallas's 1-wire bus
683# 720#
721# CONFIG_W1 is not set
684 722
685# 723#
686# Hardware Monitoring support 724# Hardware Monitoring support
@@ -714,12 +752,15 @@ CONFIG_HWMON=y
714# CONFIG_SENSORS_LM92 is not set 752# CONFIG_SENSORS_LM92 is not set
715# CONFIG_SENSORS_MAX1619 is not set 753# CONFIG_SENSORS_MAX1619 is not set
716# CONFIG_SENSORS_PC87360 is not set 754# CONFIG_SENSORS_PC87360 is not set
755# CONFIG_SENSORS_PC87427 is not set
717# CONFIG_SENSORS_SMSC47M1 is not set 756# CONFIG_SENSORS_SMSC47M1 is not set
718# CONFIG_SENSORS_SMSC47M192 is not set 757# CONFIG_SENSORS_SMSC47M192 is not set
719# CONFIG_SENSORS_SMSC47B397 is not set 758# CONFIG_SENSORS_SMSC47B397 is not set
759# CONFIG_SENSORS_VT1211 is not set
720# CONFIG_SENSORS_W83781D is not set 760# CONFIG_SENSORS_W83781D is not set
721# CONFIG_SENSORS_W83791D is not set 761# CONFIG_SENSORS_W83791D is not set
722# CONFIG_SENSORS_W83792D is not set 762# CONFIG_SENSORS_W83792D is not set
763# CONFIG_SENSORS_W83793 is not set
723# CONFIG_SENSORS_W83L785TS is not set 764# CONFIG_SENSORS_W83L785TS is not set
724# CONFIG_SENSORS_W83627HF is not set 765# CONFIG_SENSORS_W83627HF is not set
725# CONFIG_SENSORS_W83627EHF is not set 766# CONFIG_SENSORS_W83627EHF is not set
@@ -728,6 +769,7 @@ CONFIG_HWMON=y
728# 769#
729# Misc devices 770# Misc devices
730# 771#
772# CONFIG_TIFM_CORE is not set
731 773
732# 774#
733# LED devices 775# LED devices
@@ -746,7 +788,6 @@ CONFIG_HWMON=y
746# Multimedia devices 788# Multimedia devices
747# 789#
748# CONFIG_VIDEO_DEV is not set 790# CONFIG_VIDEO_DEV is not set
749CONFIG_VIDEO_V4L2=y
750 791
751# 792#
752# Digital Video Broadcasting Devices 793# Digital Video Broadcasting Devices
@@ -759,6 +800,7 @@ CONFIG_VIDEO_V4L2=y
759# 800#
760# CONFIG_FIRMWARE_EDID is not set 801# CONFIG_FIRMWARE_EDID is not set
761# CONFIG_FB is not set 802# CONFIG_FB is not set
803# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
762 804
763# 805#
764# Sound 806# Sound
@@ -766,6 +808,11 @@ CONFIG_VIDEO_V4L2=y
766# CONFIG_SOUND is not set 808# CONFIG_SOUND is not set
767 809
768# 810#
811# HID Devices
812#
813CONFIG_HID=y
814
815#
769# USB support 816# USB support
770# 817#
771CONFIG_USB_ARCH_HAS_HCD=y 818CONFIG_USB_ARCH_HAS_HCD=y
@@ -780,6 +827,7 @@ CONFIG_USB_DEBUG=y
780CONFIG_USB_DEVICEFS=y 827CONFIG_USB_DEVICEFS=y
781# CONFIG_USB_BANDWIDTH is not set 828# CONFIG_USB_BANDWIDTH is not set
782# CONFIG_USB_DYNAMIC_MINORS is not set 829# CONFIG_USB_DYNAMIC_MINORS is not set
830# CONFIG_USB_MULTITHREAD_PROBE is not set
783# CONFIG_USB_OTG is not set 831# CONFIG_USB_OTG is not set
784 832
785# 833#
@@ -804,7 +852,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
804# 852#
805# may also be needed; see USB_STORAGE Help for more information 853# may also be needed; see USB_STORAGE Help for more information
806# 854#
807# CONFIG_USB_STORAGE is not set
808# CONFIG_USB_LIBUSUAL is not set 855# CONFIG_USB_LIBUSUAL is not set
809 856
810# 857#
@@ -842,6 +889,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
842# CONFIG_USB_KAWETH is not set 889# CONFIG_USB_KAWETH is not set
843# CONFIG_USB_PEGASUS is not set 890# CONFIG_USB_PEGASUS is not set
844# CONFIG_USB_RTL8150 is not set 891# CONFIG_USB_RTL8150 is not set
892# CONFIG_USB_USBNET_MII is not set
845# CONFIG_USB_USBNET is not set 893# CONFIG_USB_USBNET is not set
846CONFIG_USB_MON=y 894CONFIG_USB_MON=y
847 895
@@ -859,18 +907,20 @@ CONFIG_USB_MON=y
859# 907#
860# CONFIG_USB_EMI62 is not set 908# CONFIG_USB_EMI62 is not set
861# CONFIG_USB_EMI26 is not set 909# CONFIG_USB_EMI26 is not set
910# CONFIG_USB_ADUTUX is not set
862# CONFIG_USB_AUERSWALD is not set 911# CONFIG_USB_AUERSWALD is not set
863# CONFIG_USB_RIO500 is not set 912# CONFIG_USB_RIO500 is not set
864# CONFIG_USB_LEGOTOWER is not set 913# CONFIG_USB_LEGOTOWER is not set
865# CONFIG_USB_LCD is not set 914# CONFIG_USB_LCD is not set
866# CONFIG_USB_LED is not set 915# CONFIG_USB_LED is not set
867# CONFIG_USB_CY7C63 is not set 916# CONFIG_USB_CYPRESS_CY7C63 is not set
868# CONFIG_USB_CYTHERM is not set 917# CONFIG_USB_CYTHERM is not set
869# CONFIG_USB_PHIDGETKIT is not set 918# CONFIG_USB_PHIDGET is not set
870# CONFIG_USB_PHIDGETSERVO is not set
871# CONFIG_USB_IDMOUSE is not set 919# CONFIG_USB_IDMOUSE is not set
920# CONFIG_USB_FTDI_ELAN is not set
872# CONFIG_USB_APPLEDISPLAY is not set 921# CONFIG_USB_APPLEDISPLAY is not set
873# CONFIG_USB_LD is not set 922# CONFIG_USB_LD is not set
923# CONFIG_USB_TRANCEVIBRATOR is not set
874# CONFIG_USB_TEST is not set 924# CONFIG_USB_TEST is not set
875 925
876# 926#
@@ -897,6 +947,7 @@ CONFIG_USB_AT91=y
897# CONFIG_USB_GADGETFS is not set 947# CONFIG_USB_GADGETFS is not set
898# CONFIG_USB_FILE_STORAGE is not set 948# CONFIG_USB_FILE_STORAGE is not set
899# CONFIG_USB_G_SERIAL is not set 949# CONFIG_USB_G_SERIAL is not set
950# CONFIG_USB_MIDI_GADGET is not set
900 951
901# 952#
902# MMC/SD Card support 953# MMC/SD Card support
@@ -904,7 +955,8 @@ CONFIG_USB_AT91=y
904CONFIG_MMC=y 955CONFIG_MMC=y
905# CONFIG_MMC_DEBUG is not set 956# CONFIG_MMC_DEBUG is not set
906CONFIG_MMC_BLOCK=y 957CONFIG_MMC_BLOCK=y
907CONFIG_MMC_AT91RM9200=y 958# CONFIG_MMC_AT91 is not set
959# CONFIG_MMC_TIFM_SD is not set
908 960
909# 961#
910# Real Time Clock 962# Real Time Clock
@@ -919,10 +971,12 @@ CONFIG_EXT2_FS=y
919# CONFIG_EXT2_FS_XATTR is not set 971# CONFIG_EXT2_FS_XATTR is not set
920# CONFIG_EXT2_FS_XIP is not set 972# CONFIG_EXT2_FS_XIP is not set
921# CONFIG_EXT3_FS is not set 973# CONFIG_EXT3_FS is not set
974# CONFIG_EXT4DEV_FS is not set
922# CONFIG_REISERFS_FS is not set 975# CONFIG_REISERFS_FS is not set
923# CONFIG_JFS_FS is not set 976# CONFIG_JFS_FS is not set
924CONFIG_FS_POSIX_ACL=y 977CONFIG_FS_POSIX_ACL=y
925# CONFIG_XFS_FS is not set 978# CONFIG_XFS_FS is not set
979# CONFIG_GFS2_FS is not set
926# CONFIG_OCFS2_FS is not set 980# CONFIG_OCFS2_FS is not set
927# CONFIG_MINIX_FS is not set 981# CONFIG_MINIX_FS is not set
928# CONFIG_ROMFS_FS is not set 982# CONFIG_ROMFS_FS is not set
@@ -951,8 +1005,10 @@ CONFIG_DNOTIFY=y
951# Pseudo filesystems 1005# Pseudo filesystems
952# 1006#
953CONFIG_PROC_FS=y 1007CONFIG_PROC_FS=y
1008CONFIG_PROC_SYSCTL=y
954CONFIG_SYSFS=y 1009CONFIG_SYSFS=y
955CONFIG_TMPFS=y 1010CONFIG_TMPFS=y
1011# CONFIG_TMPFS_POSIX_ACL is not set
956# CONFIG_HUGETLB_PAGE is not set 1012# CONFIG_HUGETLB_PAGE is not set
957CONFIG_RAMFS=y 1013CONFIG_RAMFS=y
958# CONFIG_CONFIGFS_FS is not set 1014# CONFIG_CONFIGFS_FS is not set
@@ -995,7 +1051,6 @@ CONFIG_SUNRPC=y
995# CONFIG_RPCSEC_GSS_SPKM3 is not set 1051# CONFIG_RPCSEC_GSS_SPKM3 is not set
996# CONFIG_SMB_FS is not set 1052# CONFIG_SMB_FS is not set
997# CONFIG_CIFS is not set 1053# CONFIG_CIFS is not set
998# CONFIG_CIFS_DEBUG2 is not set
999# CONFIG_NCP_FS is not set 1054# CONFIG_NCP_FS is not set
1000# CONFIG_CODA_FS is not set 1055# CONFIG_CODA_FS is not set
1001# CONFIG_AFS_FS is not set 1056# CONFIG_AFS_FS is not set
@@ -1013,6 +1068,11 @@ CONFIG_MSDOS_PARTITION=y
1013# CONFIG_NLS is not set 1068# CONFIG_NLS is not set
1014 1069
1015# 1070#
1071# Distributed Lock Manager
1072#
1073# CONFIG_DLM is not set
1074
1075#
1016# Profiling support 1076# Profiling support
1017# 1077#
1018# CONFIG_PROFILING is not set 1078# CONFIG_PROFILING is not set
@@ -1021,8 +1081,11 @@ CONFIG_MSDOS_PARTITION=y
1021# Kernel hacking 1081# Kernel hacking
1022# 1082#
1023# CONFIG_PRINTK_TIME is not set 1083# CONFIG_PRINTK_TIME is not set
1084CONFIG_ENABLE_MUST_CHECK=y
1024# CONFIG_MAGIC_SYSRQ is not set 1085# CONFIG_MAGIC_SYSRQ is not set
1025# CONFIG_UNUSED_SYMBOLS is not set 1086# CONFIG_UNUSED_SYMBOLS is not set
1087# CONFIG_DEBUG_FS is not set
1088# CONFIG_HEADERS_CHECK is not set
1026CONFIG_DEBUG_KERNEL=y 1089CONFIG_DEBUG_KERNEL=y
1027CONFIG_LOG_BUF_SHIFT=14 1090CONFIG_LOG_BUF_SHIFT=14
1028CONFIG_DETECT_SOFTLOCKUP=y 1091CONFIG_DETECT_SOFTLOCKUP=y
@@ -1038,10 +1101,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
1038# CONFIG_DEBUG_KOBJECT is not set 1101# CONFIG_DEBUG_KOBJECT is not set
1039CONFIG_DEBUG_BUGVERBOSE=y 1102CONFIG_DEBUG_BUGVERBOSE=y
1040# CONFIG_DEBUG_INFO is not set 1103# CONFIG_DEBUG_INFO is not set
1041# CONFIG_DEBUG_FS is not set
1042# CONFIG_DEBUG_VM is not set 1104# CONFIG_DEBUG_VM is not set
1105# CONFIG_DEBUG_LIST is not set
1043CONFIG_FRAME_POINTER=y 1106CONFIG_FRAME_POINTER=y
1044# CONFIG_UNWIND_INFO is not set
1045CONFIG_FORCED_INLINING=y 1107CONFIG_FORCED_INLINING=y
1046# CONFIG_RCU_TORTURE_TEST is not set 1108# CONFIG_RCU_TORTURE_TEST is not set
1047CONFIG_DEBUG_USER=y 1109CONFIG_DEBUG_USER=y
@@ -1061,15 +1123,13 @@ CONFIG_DEBUG_LL=y
1061# CONFIG_CRYPTO is not set 1123# CONFIG_CRYPTO is not set
1062 1124
1063# 1125#
1064# Hardware crypto devices
1065#
1066
1067#
1068# Library routines 1126# Library routines
1069# 1127#
1128CONFIG_BITREVERSE=y
1070# CONFIG_CRC_CCITT is not set 1129# CONFIG_CRC_CCITT is not set
1071# CONFIG_CRC16 is not set 1130# CONFIG_CRC16 is not set
1072CONFIG_CRC32=y 1131CONFIG_CRC32=y
1073# CONFIG_LIBCRC32C is not set 1132# CONFIG_LIBCRC32C is not set
1074CONFIG_ZLIB_INFLATE=y 1133CONFIG_ZLIB_INFLATE=y
1075CONFIG_PLIST=y 1134CONFIG_PLIST=y
1135CONFIG_IOMAP_COPY=y
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
index e8f74363328c..f7598cbc7ec5 100644
--- a/arch/arm/kernel/calls.S
+++ b/arch/arm/kernel/calls.S
@@ -110,7 +110,7 @@
110 CALL(sys_ni_syscall) /* was sys_profil */ 110 CALL(sys_ni_syscall) /* was sys_profil */
111 CALL(sys_statfs) 111 CALL(sys_statfs)
112/* 100 */ CALL(sys_fstatfs) 112/* 100 */ CALL(sys_fstatfs)
113 CALL(sys_ni_syscall) 113 CALL(sys_ni_syscall) /* sys_ioperm */
114 CALL(OBSOLETE(ABI(sys_socketcall, sys_oabi_socketcall))) 114 CALL(OBSOLETE(ABI(sys_socketcall, sys_oabi_socketcall)))
115 CALL(sys_syslog) 115 CALL(sys_syslog)
116 CALL(sys_setitimer) 116 CALL(sys_setitimer)
@@ -132,7 +132,7 @@
132/* 120 */ CALL(sys_clone_wrapper) 132/* 120 */ CALL(sys_clone_wrapper)
133 CALL(sys_setdomainname) 133 CALL(sys_setdomainname)
134 CALL(sys_newuname) 134 CALL(sys_newuname)
135 CALL(sys_ni_syscall) 135 CALL(sys_ni_syscall) /* modify_ldt */
136 CALL(sys_adjtimex) 136 CALL(sys_adjtimex)
137/* 125 */ CALL(sys_mprotect) 137/* 125 */ CALL(sys_mprotect)
138 CALL(sys_sigprocmask) 138 CALL(sys_sigprocmask)
@@ -146,7 +146,7 @@
146 CALL(sys_bdflush) 146 CALL(sys_bdflush)
147/* 135 */ CALL(sys_sysfs) 147/* 135 */ CALL(sys_sysfs)
148 CALL(sys_personality) 148 CALL(sys_personality)
149 CALL(sys_ni_syscall) /* CALL(_sys_afs_syscall) */ 149 CALL(sys_ni_syscall) /* reserved for afs_syscall */
150 CALL(sys_setfsuid16) 150 CALL(sys_setfsuid16)
151 CALL(sys_setfsgid16) 151 CALL(sys_setfsgid16)
152/* 140 */ CALL(sys_llseek) 152/* 140 */ CALL(sys_llseek)
@@ -175,7 +175,7 @@
175 CALL(sys_arm_mremap) 175 CALL(sys_arm_mremap)
176 CALL(sys_setresuid16) 176 CALL(sys_setresuid16)
177/* 165 */ CALL(sys_getresuid16) 177/* 165 */ CALL(sys_getresuid16)
178 CALL(sys_ni_syscall) 178 CALL(sys_ni_syscall) /* vm86 */
179 CALL(sys_ni_syscall) /* was sys_query_module */ 179 CALL(sys_ni_syscall) /* was sys_query_module */
180 CALL(sys_poll) 180 CALL(sys_poll)
181 CALL(sys_nfsservctl) 181 CALL(sys_nfsservctl)
@@ -197,8 +197,8 @@
197/* 185 */ CALL(sys_capset) 197/* 185 */ CALL(sys_capset)
198 CALL(sys_sigaltstack_wrapper) 198 CALL(sys_sigaltstack_wrapper)
199 CALL(sys_sendfile) 199 CALL(sys_sendfile)
200 CALL(sys_ni_syscall) 200 CALL(sys_ni_syscall) /* getpmsg */
201 CALL(sys_ni_syscall) 201 CALL(sys_ni_syscall) /* putpmsg */
202/* 190 */ CALL(sys_vfork_wrapper) 202/* 190 */ CALL(sys_vfork_wrapper)
203 CALL(sys_getrlimit) 203 CALL(sys_getrlimit)
204 CALL(sys_mmap2) 204 CALL(sys_mmap2)
@@ -344,6 +344,18 @@
344 CALL(sys_readlinkat) 344 CALL(sys_readlinkat)
345 CALL(sys_fchmodat) 345 CALL(sys_fchmodat)
346 CALL(sys_faccessat) 346 CALL(sys_faccessat)
347/* 335 */ CALL(sys_ni_syscall) /* eventually pselect6 */
348 CALL(sys_ni_syscall) /* eventually ppoll */
349 CALL(sys_unshare)
350 CALL(sys_set_robust_list)
351 CALL(sys_get_robust_list)
352/* 340 */ CALL(sys_splice)
353 CALL(sys_arm_sync_file_range)
354 CALL(sys_tee)
355 CALL(sys_vmsplice)
356 CALL(sys_move_pages)
357/* 345 */ CALL(sys_getcpu)
358 CALL(sys_ni_syscall) /* eventually epoll_pwait */
347#ifndef syscalls_counted 359#ifndef syscalls_counted
348.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls 360.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
349#define syscalls_counted 361#define syscalls_counted
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index cf2bd4242803..bbab134cd82d 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -855,6 +855,7 @@ static const char *hwcap_str[] = {
855 "edsp", 855 "edsp",
856 "java", 856 "java",
857 "iwmmxt", 857 "iwmmxt",
858 "crunch",
858 NULL 859 NULL
859}; 860};
860 861
diff --git a/arch/arm/kernel/sys_arm.c b/arch/arm/kernel/sys_arm.c
index 00c18d35913c..3d4fcbc16276 100644
--- a/arch/arm/kernel/sys_arm.c
+++ b/arch/arm/kernel/sys_arm.c
@@ -328,3 +328,16 @@ asmlinkage long sys_arm_fadvise64_64(int fd, int advice,
328{ 328{
329 return sys_fadvise64_64(fd, offset, len, advice); 329 return sys_fadvise64_64(fd, offset, len, advice);
330} 330}
331
332/*
333 * Yet more syscall fsckage - we can't fit sys_sync_file_range's
334 * arguments into the available registers with EABI. So, let's
335 * create an ARM specific syscall for this which has _sane_
336 * arguments. (This incidentally also has an ABI-independent
337 * argument layout.)
338 */
339asmlinkage long sys_arm_sync_file_range(int fd, unsigned int flags,
340 loff_t offset, loff_t nbytes)
341{
342 return sys_sync_file_range(fd, offset, nbytes, flags);
343}
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c
index d649b39711d4..6b26346191c0 100644
--- a/arch/arm/mach-ep93xx/core.c
+++ b/arch/arm/mach-ep93xx/core.c
@@ -477,4 +477,8 @@ void __init ep93xx_init_devices(void)
477 477
478 platform_device_register(&ep93xx_rtc_device); 478 platform_device_register(&ep93xx_rtc_device);
479 platform_device_register(&ep93xx_ohci_device); 479 platform_device_register(&ep93xx_ohci_device);
480
481#ifdef CONFIG_CRUNCH
482 elf_hwcap |= HWCAP_CRUNCH;
483#endif
480} 484}
diff --git a/arch/arm/mach-iop13xx/iq81340mc.c b/arch/arm/mach-iop13xx/iq81340mc.c
index ee595786cd22..2a1bbfe9896f 100644
--- a/arch/arm/mach-iop13xx/iq81340mc.c
+++ b/arch/arm/mach-iop13xx/iq81340mc.c
@@ -88,11 +88,11 @@ static struct sys_timer iq81340mc_timer = {
88 88
89MACHINE_START(IQ81340MC, "Intel IQ81340MC") 89MACHINE_START(IQ81340MC, "Intel IQ81340MC")
90 /* Maintainer: Dan Williams <dan.j.williams@intel.com> */ 90 /* Maintainer: Dan Williams <dan.j.williams@intel.com> */
91 .phys_io = PHYS_IO, 91 .phys_io = IOP13XX_PMMR_PHYS_MEM_BASE,
92 .io_pg_offst = IO_PG_OFFSET, 92 .io_pg_offst = (IOP13XX_PMMR_VIRT_MEM_BASE >> 18) & 0xfffc,
93 .boot_params = 0x00000100,
93 .map_io = iop13xx_map_io, 94 .map_io = iop13xx_map_io,
94 .init_irq = iop13xx_init_irq, 95 .init_irq = iop13xx_init_irq,
95 .timer = &iq81340mc_timer, 96 .timer = &iq81340mc_timer,
96 .boot_params = BOOT_PARAM_OFFSET,
97 .init_machine = iq81340mc_init, 97 .init_machine = iq81340mc_init,
98MACHINE_END 98MACHINE_END
diff --git a/arch/arm/mach-iop13xx/iq81340sc.c b/arch/arm/mach-iop13xx/iq81340sc.c
index 6677e14b61bf..5ad2b62c9bfd 100644
--- a/arch/arm/mach-iop13xx/iq81340sc.c
+++ b/arch/arm/mach-iop13xx/iq81340sc.c
@@ -90,11 +90,11 @@ static struct sys_timer iq81340sc_timer = {
90 90
91MACHINE_START(IQ81340SC, "Intel IQ81340SC") 91MACHINE_START(IQ81340SC, "Intel IQ81340SC")
92 /* Maintainer: Dan Williams <dan.j.williams@intel.com> */ 92 /* Maintainer: Dan Williams <dan.j.williams@intel.com> */
93 .phys_io = PHYS_IO, 93 .phys_io = IOP13XX_PMMR_PHYS_MEM_BASE,
94 .io_pg_offst = IO_PG_OFFSET, 94 .io_pg_offst = (IOP13XX_PMMR_VIRT_MEM_BASE >> 18) & 0xfffc,
95 .boot_params = 0x00000100,
95 .map_io = iop13xx_map_io, 96 .map_io = iop13xx_map_io,
96 .init_irq = iop13xx_init_irq, 97 .init_irq = iop13xx_init_irq,
97 .timer = &iq81340sc_timer, 98 .timer = &iq81340sc_timer,
98 .boot_params = BOOT_PARAM_OFFSET,
99 .init_machine = iq81340sc_init, 99 .init_machine = iq81340sc_init,
100MACHINE_END 100MACHINE_END
diff --git a/arch/arm/mach-iop13xx/irq.c b/arch/arm/mach-iop13xx/irq.c
index c4d9c8c5579c..dbbc07c38b14 100644
--- a/arch/arm/mach-iop13xx/irq.c
+++ b/arch/arm/mach-iop13xx/irq.c
@@ -222,25 +222,29 @@ iop13xx_irq_unmask3(unsigned int irq)
222 iop13xx_cp6_restore(cp_flags); 222 iop13xx_cp6_restore(cp_flags);
223} 223}
224 224
225static struct irqchip iop13xx_irqchip0 = { 225static struct irq_chip iop13xx_irqchip1 = {
226 .name = "IOP13xx-1",
226 .ack = iop13xx_irq_mask0, 227 .ack = iop13xx_irq_mask0,
227 .mask = iop13xx_irq_mask0, 228 .mask = iop13xx_irq_mask0,
228 .unmask = iop13xx_irq_unmask0, 229 .unmask = iop13xx_irq_unmask0,
229}; 230};
230 231
231static struct irqchip iop13xx_irqchip1 = { 232static struct irq_chip iop13xx_irqchip2 = {
233 .name = "IOP13xx-2",
232 .ack = iop13xx_irq_mask1, 234 .ack = iop13xx_irq_mask1,
233 .mask = iop13xx_irq_mask1, 235 .mask = iop13xx_irq_mask1,
234 .unmask = iop13xx_irq_unmask1, 236 .unmask = iop13xx_irq_unmask1,
235}; 237};
236 238
237static struct irqchip iop13xx_irqchip2 = { 239static struct irq_chip iop13xx_irqchip3 = {
240 .name = "IOP13xx-3",
238 .ack = iop13xx_irq_mask2, 241 .ack = iop13xx_irq_mask2,
239 .mask = iop13xx_irq_mask2, 242 .mask = iop13xx_irq_mask2,
240 .unmask = iop13xx_irq_unmask2, 243 .unmask = iop13xx_irq_unmask2,
241}; 244};
242 245
243static struct irqchip iop13xx_irqchip3 = { 246static struct irq_chip iop13xx_irqchip4 = {
247 .name = "IOP13xx-4",
244 .ack = iop13xx_irq_mask3, 248 .ack = iop13xx_irq_mask3,
245 .mask = iop13xx_irq_mask3, 249 .mask = iop13xx_irq_mask3,
246 .unmask = iop13xx_irq_unmask3, 250 .unmask = iop13xx_irq_unmask3,
@@ -270,15 +274,15 @@ void __init iop13xx_init_irq(void)
270 274
271 for(i = 0; i < NR_IOP13XX_IRQS; i++) { 275 for(i = 0; i < NR_IOP13XX_IRQS; i++) {
272 if (i < 32) 276 if (i < 32)
273 set_irq_chip(i, &iop13xx_irqchip0);
274 else if (i < 64)
275 set_irq_chip(i, &iop13xx_irqchip1); 277 set_irq_chip(i, &iop13xx_irqchip1);
276 else if (i < 96) 278 else if (i < 64)
277 set_irq_chip(i, &iop13xx_irqchip2); 279 set_irq_chip(i, &iop13xx_irqchip2);
278 else 280 else if (i < 96)
279 set_irq_chip(i, &iop13xx_irqchip3); 281 set_irq_chip(i, &iop13xx_irqchip3);
282 else
283 set_irq_chip(i, &iop13xx_irqchip4);
280 284
281 set_irq_handler(i, do_level_IRQ); 285 set_irq_handler(i, handle_level_irq);
282 set_irq_flags(i, IRQF_VALID | IRQF_PROBE); 286 set_irq_flags(i, IRQF_VALID | IRQF_PROBE);
283 } 287 }
284 288
diff --git a/arch/arm/mach-iop13xx/setup.c b/arch/arm/mach-iop13xx/setup.c
index 3756d2ccb1a7..5fbeb28d04bb 100644
--- a/arch/arm/mach-iop13xx/setup.c
+++ b/arch/arm/mach-iop13xx/setup.c
@@ -337,7 +337,7 @@ void __init iop13xx_platform_init(void)
337 337
338#ifdef CONFIG_MTD_PHYSMAP 338#ifdef CONFIG_MTD_PHYSMAP
339 iq8134x_flash_resource.end = iq8134x_flash_resource.start + 339 iq8134x_flash_resource.end = iq8134x_flash_resource.start +
340 iq8134x_probe_flash_size(); 340 iq8134x_probe_flash_size() - 1;
341 if (iq8134x_flash_resource.end > iq8134x_flash_resource.start) 341 if (iq8134x_flash_resource.end > iq8134x_flash_resource.start)
342 iop13xx_devices[plat_idx++] = &iq8134x_flash; 342 iop13xx_devices[plat_idx++] = &iq8134x_flash;
343 else 343 else
diff --git a/arch/arm/mach-s3c2410/Kconfig b/arch/arm/mach-s3c2410/Kconfig
index 9f46bf330bc8..eb4ec411312b 100644
--- a/arch/arm/mach-s3c2410/Kconfig
+++ b/arch/arm/mach-s3c2410/Kconfig
@@ -5,6 +5,7 @@ menu "S3C24XX Implementations"
5config MACH_AML_M5900 5config MACH_AML_M5900
6 bool "AML M5900 Series" 6 bool "AML M5900 Series"
7 select CPU_S3C2410 7 select CPU_S3C2410
8 select PM_SIMTEC if PM
8 help 9 help
9 Say Y here if you are using the American Microsystems M5900 Series 10 Say Y here if you are using the American Microsystems M5900 Series
10 <http://www.amltd.com> 11 <http://www.amltd.com>
@@ -12,6 +13,7 @@ config MACH_AML_M5900
12config MACH_ANUBIS 13config MACH_ANUBIS
13 bool "Simtec Electronics ANUBIS" 14 bool "Simtec Electronics ANUBIS"
14 select CPU_S3C2440 15 select CPU_S3C2440
16 select PM_SIMTEC if PM
15 help 17 help
16 Say Y here if you are using the Simtec Electronics ANUBIS 18 Say Y here if you are using the Simtec Electronics ANUBIS
17 development system 19 development system
@@ -19,6 +21,7 @@ config MACH_ANUBIS
19config MACH_OSIRIS 21config MACH_OSIRIS
20 bool "Simtec IM2440D20 (OSIRIS) module" 22 bool "Simtec IM2440D20 (OSIRIS) module"
21 select CPU_S3C2440 23 select CPU_S3C2440
24 select PM_SIMTEC if PM
22 help 25 help
23 Say Y here if you are using the Simtec IM2440D20 module, also 26 Say Y here if you are using the Simtec IM2440D20 module, also
24 known as the Osiris. 27 known as the Osiris.
@@ -26,6 +29,7 @@ config MACH_OSIRIS
26config ARCH_BAST 29config ARCH_BAST
27 bool "Simtec Electronics BAST (EB2410ITX)" 30 bool "Simtec Electronics BAST (EB2410ITX)"
28 select CPU_S3C2410 31 select CPU_S3C2410
32 select PM_SIMTEC if PM
29 select ISA 33 select ISA
30 help 34 help
31 Say Y here if you are using the Simtec Electronics EB2410ITX 35 Say Y here if you are using the Simtec Electronics EB2410ITX
@@ -43,14 +47,13 @@ config BAST_PC104_IRQ
43 47
44config PM_H1940 48config PM_H1940
45 bool 49 bool
46 depends on PM
47 help 50 help
48 Internal node for H1940 and related PM 51 Internal node for H1940 and related PM
49 52
50config ARCH_H1940 53config ARCH_H1940
51 bool "IPAQ H1940" 54 bool "IPAQ H1940"
52 select CPU_S3C2410 55 select CPU_S3C2410
53 select PM_H1940 56 select PM_H1940 if PM
54 help 57 help
55 Say Y here if you are using the HP IPAQ H1940 58 Say Y here if you are using the HP IPAQ H1940
56 59
@@ -112,6 +115,7 @@ config MACH_SMDK2413
112 115
113config MACH_VR1000 116config MACH_VR1000
114 bool "Thorcom VR1000" 117 bool "Thorcom VR1000"
118 select PM_SIMTEC if PM
115 select CPU_S3C2410 119 select CPU_S3C2410
116 help 120 help
117 Say Y here if you are using the Thorcom VR1000 board. 121 Say Y here if you are using the Thorcom VR1000 board.
@@ -122,7 +126,7 @@ config MACH_VR1000
122config MACH_RX3715 126config MACH_RX3715
123 bool "HP iPAQ rx3715" 127 bool "HP iPAQ rx3715"
124 select CPU_S3C2440 128 select CPU_S3C2440
125 select PM_H1940 129 select PM_H1940 if PM
126 help 130 help
127 Say Y here if you are using the HP iPAQ rx3715. 131 Say Y here if you are using the HP iPAQ rx3715.
128 132
@@ -156,7 +160,6 @@ config S3C2410_CLOCK
156 160
157config S3C2410_PM 161config S3C2410_PM
158 bool 162 bool
159 depends on CONFIG_PM
160 help 163 help
161 Power Management code common to S3C2410 and better 164 Power Management code common to S3C2410 and better
162 165
@@ -171,7 +174,7 @@ config CPU_S3C2410
171 bool 174 bool
172 depends on ARCH_S3C2410 175 depends on ARCH_S3C2410
173 select S3C2410_CLOCK 176 select S3C2410_CLOCK
174 select S3C2410_PM 177 select S3C2410_PM if PM
175 help 178 help
176 Support for S3C2410 and S3C2410A family from the S3C24XX line 179 Support for S3C2410 and S3C2410A family from the S3C24XX line
177 of Samsung Mobile CPUs. 180 of Samsung Mobile CPUs.
@@ -186,14 +189,13 @@ config CPU_S3C2412_ONLY
186 189
187config S3C2412_PM 190config S3C2412_PM
188 bool 191 bool
189 default y if PM
190 depends on CPU_S3C2412
191 help 192 help
192 Internal config node to apply S3C2412 power management 193 Internal config node to apply S3C2412 power management
193 194
194config CPU_S3C2412 195config CPU_S3C2412
195 bool 196 bool
196 depends on ARCH_S3C2410 197 depends on ARCH_S3C2410
198 select S3C2412_PM if PM
197 help 199 help
198 Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line 200 Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line
199 201
@@ -207,7 +209,7 @@ config CPU_S3C2440
207 bool 209 bool
208 depends on ARCH_S3C2410 210 depends on ARCH_S3C2410
209 select S3C2410_CLOCK 211 select S3C2410_CLOCK
210 select S3C2410_PM 212 select S3C2410_PM if PM
211 select CPU_S3C244X 213 select CPU_S3C244X
212 help 214 help
213 Support for S3C2440 Samsung Mobile CPU based systems. 215 Support for S3C2440 Samsung Mobile CPU based systems.
@@ -216,7 +218,7 @@ config CPU_S3C2442
216 bool 218 bool
217 depends on ARCH_S3C2420 219 depends on ARCH_S3C2420
218 select S3C2410_CLOCK 220 select S3C2410_CLOCK
219 select S3C2410_PM 221 select S3C2410_PM if PM
220 select CPU_S3C244X 222 select CPU_S3C244X
221 help 223 help
222 Support for S3C2442 Samsung Mobile CPU based systems. 224 Support for S3C2442 Samsung Mobile CPU based systems.
@@ -300,8 +302,9 @@ config S3C2410_PM_CHECK_CHUNKSIZE
300 302
301config PM_SIMTEC 303config PM_SIMTEC
302 bool 304 bool
303 depends on PM && (ARCH_BAST || MACH_VR1000 || MACH_AML_M5900) 305 help
304 default y 306 Common power management code for systems that are
307 compatible with the Simtec style of power management
305 308
306config S3C2410_LOWLEVEL_UART_PORT 309config S3C2410_LOWLEVEL_UART_PORT
307 int "S3C2410 UART to use for low-level messages" 310 int "S3C2410 UART to use for low-level messages"
diff --git a/arch/arm/mach-s3c2410/cpu.c b/arch/arm/mach-s3c2410/cpu.c
index 9d4899eddf1f..ae1f5bb63f7a 100644
--- a/arch/arm/mach-s3c2410/cpu.c
+++ b/arch/arm/mach-s3c2410/cpu.c
@@ -26,6 +26,7 @@
26#include <linux/module.h> 26#include <linux/module.h>
27#include <linux/interrupt.h> 27#include <linux/interrupt.h>
28#include <linux/ioport.h> 28#include <linux/ioport.h>
29#include <linux/serial_core.h>
29#include <linux/platform_device.h> 30#include <linux/platform_device.h>
30 31
31#include <asm/hardware.h> 32#include <asm/hardware.h>
diff --git a/arch/arm/mach-s3c2410/devs.c b/arch/arm/mach-s3c2410/devs.c
index cae35ff76f33..faccde2092d2 100644
--- a/arch/arm/mach-s3c2410/devs.c
+++ b/arch/arm/mach-s3c2410/devs.c
@@ -17,6 +17,7 @@
17#include <linux/list.h> 17#include <linux/list.h>
18#include <linux/timer.h> 18#include <linux/timer.h>
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/serial_core.h>
20#include <linux/platform_device.h> 21#include <linux/platform_device.h>
21 22
22#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c2410/dma.c b/arch/arm/mach-s3c2410/dma.c
index 01abb0ace234..717322a0916b 100644
--- a/arch/arm/mach-s3c2410/dma.c
+++ b/arch/arm/mach-s3c2410/dma.c
@@ -1,6 +1,6 @@
1/* linux/arch/arm/mach-s3c2410/dma.c 1/* linux/arch/arm/mach-s3c2410/dma.c
2 * 2 *
3 * (c) 2003-2005,2006 Simtec Electronics 3 * Copyright (c) 2003-2005,2006 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 DMA core 6 * S3C2410 DMA core
diff --git a/arch/arm/mach-s3c2410/irq.h b/arch/arm/mach-s3c2410/irq.h
index 3686a0082245..e5913da3b919 100644
--- a/arch/arm/mach-s3c2410/irq.h
+++ b/arch/arm/mach-s3c2410/irq.h
@@ -8,8 +8,6 @@
8 * This program is free software; you can redistribute it and/or modify 8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as 9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation. 10 * published by the Free Software Foundation.
11 *
12 * Modifications:
13*/ 11*/
14 12
15#define irqdbf(x...) 13#define irqdbf(x...)
diff --git a/arch/arm/mach-s3c2410/mach-anubis.c b/arch/arm/mach-s3c2410/mach-anubis.c
index e94cdcd96591..0fad0c2fe07b 100644
--- a/arch/arm/mach-s3c2410/mach-anubis.c
+++ b/arch/arm/mach-s3c2410/mach-anubis.c
@@ -15,6 +15,7 @@
15#include <linux/list.h> 15#include <linux/list.h>
16#include <linux/timer.h> 16#include <linux/timer.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/serial_core.h>
18#include <linux/platform_device.h> 19#include <linux/platform_device.h>
19 20
20#include <asm/mach/arch.h> 21#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c
index 2968fb235f95..b8b76757ec54 100644
--- a/arch/arm/mach-s3c2410/mach-bast.c
+++ b/arch/arm/mach-s3c2410/mach-bast.c
@@ -16,6 +16,7 @@
16#include <linux/list.h> 16#include <linux/list.h>
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/serial_core.h>
19#include <linux/platform_device.h> 20#include <linux/platform_device.h>
20#include <linux/dm9000.h> 21#include <linux/dm9000.h>
21 22
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c
index f5b98099a5d9..15b625eae499 100644
--- a/arch/arm/mach-s3c2410/mach-h1940.c
+++ b/arch/arm/mach-s3c2410/mach-h1940.c
@@ -17,6 +17,7 @@
17#include <linux/list.h> 17#include <linux/list.h>
18#include <linux/timer.h> 18#include <linux/timer.h>
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/serial_core.h>
20#include <linux/platform_device.h> 21#include <linux/platform_device.h>
21 22
22#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
@@ -37,8 +38,6 @@
37#include <asm/arch/h1940-latch.h> 38#include <asm/arch/h1940-latch.h>
38#include <asm/arch/fb.h> 39#include <asm/arch/fb.h>
39 40
40#include <linux/serial_core.h>
41
42#include "clock.h" 41#include "clock.h"
43#include "devs.h" 42#include "devs.h"
44#include "cpu.h" 43#include "cpu.h"
diff --git a/arch/arm/mach-s3c2410/mach-n30.c b/arch/arm/mach-s3c2410/mach-n30.c
index 116ac3169966..0411e9adb54d 100644
--- a/arch/arm/mach-s3c2410/mach-n30.c
+++ b/arch/arm/mach-s3c2410/mach-n30.c
@@ -20,6 +20,7 @@
20#include <linux/timer.h> 20#include <linux/timer.h>
21#include <linux/init.h> 21#include <linux/init.h>
22#include <linux/delay.h> 22#include <linux/delay.h>
23#include <linux/serial_core.h>
23#include <linux/platform_device.h> 24#include <linux/platform_device.h>
24#include <linux/kthread.h> 25#include <linux/kthread.h>
25 26
@@ -37,8 +38,6 @@
37#include <asm/arch/regs-gpio.h> 38#include <asm/arch/regs-gpio.h>
38#include <asm/arch/iic.h> 39#include <asm/arch/iic.h>
39 40
40#include <linux/serial_core.h>
41
42#include "s3c2410.h" 41#include "s3c2410.h"
43#include "clock.h" 42#include "clock.h"
44#include "devs.h" 43#include "devs.h"
diff --git a/arch/arm/mach-s3c2410/mach-nexcoder.c b/arch/arm/mach-s3c2410/mach-nexcoder.c
index 065a1d4e860b..d6dfdad8c90b 100644
--- a/arch/arm/mach-s3c2410/mach-nexcoder.c
+++ b/arch/arm/mach-s3c2410/mach-nexcoder.c
@@ -19,6 +19,7 @@
19#include <linux/timer.h> 19#include <linux/timer.h>
20#include <linux/init.h> 20#include <linux/init.h>
21#include <linux/string.h> 21#include <linux/string.h>
22#include <linux/serial_core.h>
22#include <linux/platform_device.h> 23#include <linux/platform_device.h>
23 24
24#include <linux/mtd/map.h> 25#include <linux/mtd/map.h>
diff --git a/arch/arm/mach-s3c2410/mach-osiris.c b/arch/arm/mach-s3c2410/mach-osiris.c
index a4ab144e7292..37b40850c9b9 100644
--- a/arch/arm/mach-s3c2410/mach-osiris.c
+++ b/arch/arm/mach-s3c2410/mach-osiris.c
@@ -16,6 +16,7 @@
16#include <linux/timer.h> 16#include <linux/timer.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/device.h> 18#include <linux/device.h>
19#include <linux/serial_core.h>
19 20
20#include <asm/mach/arch.h> 21#include <asm/mach/arch.h>
21#include <asm/mach/map.h> 22#include <asm/mach/map.h>
diff --git a/arch/arm/mach-s3c2410/mach-otom.c b/arch/arm/mach-s3c2410/mach-otom.c
index c71673fd9955..2c738b375e4d 100644
--- a/arch/arm/mach-s3c2410/mach-otom.c
+++ b/arch/arm/mach-s3c2410/mach-otom.c
@@ -15,6 +15,7 @@
15#include <linux/list.h> 15#include <linux/list.h>
16#include <linux/timer.h> 16#include <linux/timer.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/serial_core.h>
18#include <linux/platform_device.h> 19#include <linux/platform_device.h>
19 20
20#include <asm/mach/arch.h> 21#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c2410/mach-smdk2410.c b/arch/arm/mach-s3c2410/mach-smdk2410.c
index b3b0171d5052..01c0c986d827 100644
--- a/arch/arm/mach-s3c2410/mach-smdk2410.c
+++ b/arch/arm/mach-s3c2410/mach-smdk2410.c
@@ -35,6 +35,7 @@
35#include <linux/list.h> 35#include <linux/list.h>
36#include <linux/timer.h> 36#include <linux/timer.h>
37#include <linux/init.h> 37#include <linux/init.h>
38#include <linux/serial_core.h>
38#include <linux/platform_device.h> 39#include <linux/platform_device.h>
39 40
40#include <asm/mach/arch.h> 41#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c2410/mach-smdk2413.c b/arch/arm/mach-s3c2410/mach-smdk2413.c
index 3a4ca7f6f7b9..4f89abd7a6df 100644
--- a/arch/arm/mach-s3c2410/mach-smdk2413.c
+++ b/arch/arm/mach-s3c2410/mach-smdk2413.c
@@ -17,6 +17,7 @@
17#include <linux/list.h> 17#include <linux/list.h>
18#include <linux/timer.h> 18#include <linux/timer.h>
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/serial_core.h>
20#include <linux/platform_device.h> 21#include <linux/platform_device.h>
21 22
22#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c2410/mach-smdk2440.c b/arch/arm/mach-s3c2410/mach-smdk2440.c
index e2205ff1b0ee..2b61f4ed1da4 100644
--- a/arch/arm/mach-s3c2410/mach-smdk2440.c
+++ b/arch/arm/mach-s3c2410/mach-smdk2440.c
@@ -19,6 +19,7 @@
19#include <linux/list.h> 19#include <linux/list.h>
20#include <linux/timer.h> 20#include <linux/timer.h>
21#include <linux/init.h> 21#include <linux/init.h>
22#include <linux/serial_core.h>
22#include <linux/platform_device.h> 23#include <linux/platform_device.h>
23 24
24#include <asm/mach/arch.h> 25#include <asm/mach/arch.h>
diff --git a/arch/arm/mach-s3c2410/mach-vr1000.c b/arch/arm/mach-s3c2410/mach-vr1000.c
index e2eda3937ab0..a382fc095110 100644
--- a/arch/arm/mach-s3c2410/mach-vr1000.c
+++ b/arch/arm/mach-s3c2410/mach-vr1000.c
@@ -352,7 +352,7 @@ static struct platform_device vr1000_led2 = {
352 352
353static struct platform_device vr1000_led3 = { 353static struct platform_device vr1000_led3 = {
354 .name = "s3c24xx_led", 354 .name = "s3c24xx_led",
355 .id = 1, 355 .id = 3,
356 .dev = { 356 .dev = {
357 .platform_data = &vr1000_led3_pdata, 357 .platform_data = &vr1000_led3_pdata,
358 }, 358 },
diff --git a/arch/arm/mach-s3c2410/mach-vstms.c b/arch/arm/mach-s3c2410/mach-vstms.c
index ea554e7c006e..0360e1055bcd 100644
--- a/arch/arm/mach-s3c2410/mach-vstms.c
+++ b/arch/arm/mach-s3c2410/mach-vstms.c
@@ -15,6 +15,7 @@
15#include <linux/list.h> 15#include <linux/list.h>
16#include <linux/timer.h> 16#include <linux/timer.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/serial_core.h>
18#include <linux/platform_device.h> 19#include <linux/platform_device.h>
19 20
20#include <linux/mtd/mtd.h> 21#include <linux/mtd/mtd.h>
diff --git a/arch/arm/mach-s3c2410/pm-simtec.c b/arch/arm/mach-s3c2410/pm-simtec.c
index 42cd05e298f8..619133eb7168 100644
--- a/arch/arm/mach-s3c2410/pm-simtec.c
+++ b/arch/arm/mach-s3c2410/pm-simtec.c
@@ -27,7 +27,6 @@
27#include <asm/io.h> 27#include <asm/io.h>
28 28
29#include <asm/arch/map.h> 29#include <asm/arch/map.h>
30#include <asm/arch/regs-serial.h>
31#include <asm/arch/regs-gpio.h> 30#include <asm/arch/regs-gpio.h>
32#include <asm/arch/regs-mem.h> 31#include <asm/arch/regs-mem.h>
33 32
diff --git a/arch/arm/mach-s3c2410/pm.c b/arch/arm/mach-s3c2410/pm.c
index b49a0b3b72b3..00834097eb82 100644
--- a/arch/arm/mach-s3c2410/pm.c
+++ b/arch/arm/mach-s3c2410/pm.c
@@ -34,6 +34,7 @@
34#include <linux/crc32.h> 34#include <linux/crc32.h>
35#include <linux/ioport.h> 35#include <linux/ioport.h>
36#include <linux/delay.h> 36#include <linux/delay.h>
37#include <linux/serial_core.h>
37 38
38#include <asm/cacheflush.h> 39#include <asm/cacheflush.h>
39#include <asm/hardware.h> 40#include <asm/hardware.h>
diff --git a/arch/arm/mach-s3c2410/s3c2410-clock.c b/arch/arm/mach-s3c2410/s3c2410-clock.c
index 00abe199a08e..992cc6af230e 100644
--- a/arch/arm/mach-s3c2410/s3c2410-clock.c
+++ b/arch/arm/mach-s3c2410/s3c2410-clock.c
@@ -30,13 +30,18 @@
30#include <linux/clk.h> 30#include <linux/clk.h>
31#include <linux/mutex.h> 31#include <linux/mutex.h>
32#include <linux/delay.h> 32#include <linux/delay.h>
33#include <linux/serial_core.h>
34
35#include <asm/mach/map.h>
33 36
34#include <asm/hardware.h> 37#include <asm/hardware.h>
35#include <asm/io.h> 38#include <asm/io.h>
36 39
40#include <asm/arch/regs-serial.h>
37#include <asm/arch/regs-clock.h> 41#include <asm/arch/regs-clock.h>
38#include <asm/arch/regs-gpio.h> 42#include <asm/arch/regs-gpio.h>
39 43
44#include "s3c2410.h"
40#include "clock.h" 45#include "clock.h"
41#include "cpu.h" 46#include "cpu.h"
42 47
diff --git a/arch/arm/mach-s3c2410/s3c2410-dma.c b/arch/arm/mach-s3c2410/s3c2410-dma.c
index 51e5098b32e8..e67ba3911f11 100644
--- a/arch/arm/mach-s3c2410/s3c2410-dma.c
+++ b/arch/arm/mach-s3c2410/s3c2410-dma.c
@@ -1,6 +1,6 @@
1/* linux/arch/arm/mach-s3c2410/s3c2410-dma.c 1/* linux/arch/arm/mach-s3c2410/s3c2410-dma.c
2 * 2 *
3 * (c) 2006 Simtec Electronics 3 * Copyright (c) 2006 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 DMA selection 6 * S3C2410 DMA selection
@@ -15,6 +15,7 @@
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/sysdev.h> 17#include <linux/sysdev.h>
18#include <linux/serial_core.h>
18 19
19#include <asm/dma.h> 20#include <asm/dma.h>
20#include <asm/arch/dma.h> 21#include <asm/arch/dma.h>
@@ -131,6 +132,7 @@ static int s3c2410_dma_add(struct sys_device *sysdev)
131 return s3c24xx_dma_init_map(&s3c2410_dma_sel); 132 return s3c24xx_dma_init_map(&s3c2410_dma_sel);
132} 133}
133 134
135#if defined(CONFIG_CPU_S3C2410)
134static struct sysdev_driver s3c2410_dma_driver = { 136static struct sysdev_driver s3c2410_dma_driver = {
135 .add = s3c2410_dma_add, 137 .add = s3c2410_dma_add,
136}; 138};
@@ -141,9 +143,10 @@ static int __init s3c2410_dma_init(void)
141} 143}
142 144
143arch_initcall(s3c2410_dma_init); 145arch_initcall(s3c2410_dma_init);
146#endif
144 147
148#if defined(CONFIG_CPU_S3C2442)
145/* S3C2442 DMA contains the same selection table as the S3C2410 */ 149/* S3C2442 DMA contains the same selection table as the S3C2410 */
146
147static struct sysdev_driver s3c2442_dma_driver = { 150static struct sysdev_driver s3c2442_dma_driver = {
148 .add = s3c2410_dma_add, 151 .add = s3c2410_dma_add,
149}; 152};
@@ -154,5 +157,5 @@ static int __init s3c2442_dma_init(void)
154} 157}
155 158
156arch_initcall(s3c2442_dma_init); 159arch_initcall(s3c2442_dma_init);
157 160#endif
158 161
diff --git a/arch/arm/mach-s3c2410/s3c2410-pm.c b/arch/arm/mach-s3c2410/s3c2410-pm.c
index 77c6814c0f05..8bb6e5e21f59 100644
--- a/arch/arm/mach-s3c2410/s3c2410-pm.c
+++ b/arch/arm/mach-s3c2410/s3c2410-pm.c
@@ -87,7 +87,7 @@ static void s3c2410_pm_prepare(void)
87 87
88} 88}
89 89
90int s3c2410_pm_resume(struct sys_device *dev) 90static int s3c2410_pm_resume(struct sys_device *dev)
91{ 91{
92 unsigned long tmp; 92 unsigned long tmp;
93 93
@@ -111,6 +111,7 @@ static int s3c2410_pm_add(struct sys_device *dev)
111 return 0; 111 return 0;
112} 112}
113 113
114#if defined(CONFIG_CPU_S3C2410)
114static struct sysdev_driver s3c2410_pm_driver = { 115static struct sysdev_driver s3c2410_pm_driver = {
115 .add = s3c2410_pm_add, 116 .add = s3c2410_pm_add,
116 .resume = s3c2410_pm_resume, 117 .resume = s3c2410_pm_resume,
@@ -124,7 +125,9 @@ static int __init s3c2410_pm_drvinit(void)
124} 125}
125 126
126arch_initcall(s3c2410_pm_drvinit); 127arch_initcall(s3c2410_pm_drvinit);
128#endif
127 129
130#if defined(CONFIG_CPU_S3C2440)
128static struct sysdev_driver s3c2440_pm_driver = { 131static struct sysdev_driver s3c2440_pm_driver = {
129 .add = s3c2410_pm_add, 132 .add = s3c2410_pm_add,
130 .resume = s3c2410_pm_resume, 133 .resume = s3c2410_pm_resume,
@@ -136,7 +139,9 @@ static int __init s3c2440_pm_drvinit(void)
136} 139}
137 140
138arch_initcall(s3c2440_pm_drvinit); 141arch_initcall(s3c2440_pm_drvinit);
142#endif
139 143
144#if defined(CONFIG_CPU_S3C2442)
140static struct sysdev_driver s3c2442_pm_driver = { 145static struct sysdev_driver s3c2442_pm_driver = {
141 .add = s3c2410_pm_add, 146 .add = s3c2410_pm_add,
142 .resume = s3c2410_pm_resume, 147 .resume = s3c2410_pm_resume,
@@ -148,3 +153,4 @@ static int __init s3c2442_pm_drvinit(void)
148} 153}
149 154
150arch_initcall(s3c2442_pm_drvinit); 155arch_initcall(s3c2442_pm_drvinit);
156#endif
diff --git a/arch/arm/mach-s3c2410/s3c2410.c b/arch/arm/mach-s3c2410/s3c2410.c
index 183e4033ce61..4cdc0d70c19f 100644
--- a/arch/arm/mach-s3c2410/s3c2410.c
+++ b/arch/arm/mach-s3c2410/s3c2410.c
@@ -17,6 +17,7 @@
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/sysdev.h> 19#include <linux/sysdev.h>
20#include <linux/serial_core.h>
20#include <linux/platform_device.h> 21#include <linux/platform_device.h>
21 22
22#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
@@ -38,11 +39,9 @@
38/* Initial IO mappings */ 39/* Initial IO mappings */
39 40
40static struct map_desc s3c2410_iodesc[] __initdata = { 41static struct map_desc s3c2410_iodesc[] __initdata = {
41 IODESC_ENT(USBHOST),
42 IODESC_ENT(CLKPWR), 42 IODESC_ENT(CLKPWR),
43 IODESC_ENT(LCD), 43 IODESC_ENT(LCD),
44 IODESC_ENT(TIMER), 44 IODESC_ENT(TIMER),
45 IODESC_ENT(ADC),
46 IODESC_ENT(WATCHDOG), 45 IODESC_ENT(WATCHDOG),
47}; 46};
48 47
diff --git a/arch/arm/mach-s3c2410/s3c2412-clock.c b/arch/arm/mach-s3c2410/s3c2412-clock.c
index c95ed3e18580..8f94ad83901d 100644
--- a/arch/arm/mach-s3c2410/s3c2412-clock.c
+++ b/arch/arm/mach-s3c2410/s3c2412-clock.c
@@ -30,13 +30,18 @@
30#include <linux/clk.h> 30#include <linux/clk.h>
31#include <linux/mutex.h> 31#include <linux/mutex.h>
32#include <linux/delay.h> 32#include <linux/delay.h>
33#include <linux/serial_core.h>
34
35#include <asm/mach/map.h>
33 36
34#include <asm/hardware.h> 37#include <asm/hardware.h>
35#include <asm/io.h> 38#include <asm/io.h>
36 39
40#include <asm/arch/regs-serial.h>
37#include <asm/arch/regs-clock.h> 41#include <asm/arch/regs-clock.h>
38#include <asm/arch/regs-gpio.h> 42#include <asm/arch/regs-gpio.h>
39 43
44#include "s3c2412.h"
40#include "clock.h" 45#include "clock.h"
41#include "cpu.h" 46#include "cpu.h"
42 47
@@ -49,7 +54,7 @@
49 * set the correct muxing at initialisation 54 * set the correct muxing at initialisation
50*/ 55*/
51 56
52int s3c2412_clkcon_enable(struct clk *clk, int enable) 57static int s3c2412_clkcon_enable(struct clk *clk, int enable)
53{ 58{
54 unsigned int clocks = clk->ctrlbit; 59 unsigned int clocks = clk->ctrlbit;
55 unsigned long clkcon; 60 unsigned long clkcon;
@@ -556,7 +561,7 @@ struct clk_init {
556 struct clk *src_1; 561 struct clk *src_1;
557}; 562};
558 563
559struct clk_init clks_src[] __initdata = { 564static struct clk_init clks_src[] __initdata = {
560 { 565 {
561 .clk = &clk_usysclk, 566 .clk = &clk_usysclk,
562 .bit = S3C2412_CLKSRC_USBCLK_HCLK, 567 .bit = S3C2412_CLKSRC_USBCLK_HCLK,
@@ -619,7 +624,7 @@ static void __init s3c2412_clk_initparents(void)
619 624
620/* clocks to add straight away */ 625/* clocks to add straight away */
621 626
622struct clk *clks[] __initdata = { 627static struct clk *clks[] __initdata = {
623 &clk_ext, 628 &clk_ext,
624 &clk_usb_bus, 629 &clk_usb_bus,
625 &clk_erefclk, 630 &clk_erefclk,
diff --git a/arch/arm/mach-s3c2410/s3c2412-dma.c b/arch/arm/mach-s3c2410/s3c2412-dma.c
index 171f3706d36d..fe71a8fdb87c 100644
--- a/arch/arm/mach-s3c2410/s3c2412-dma.c
+++ b/arch/arm/mach-s3c2410/s3c2412-dma.c
@@ -1,6 +1,6 @@
1/* linux/arch/arm/mach-s3c2410/s3c2412-dma.c 1/* linux/arch/arm/mach-s3c2410/s3c2412-dma.c
2 * 2 *
3 * (c) 2006 Simtec Electronics 3 * Copyright (c) 2006 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2412 DMA selection 6 * S3C2412 DMA selection
@@ -15,6 +15,7 @@
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/sysdev.h> 17#include <linux/sysdev.h>
18#include <linux/serial_core.h>
18 19
19#include <asm/dma.h> 20#include <asm/dma.h>
20#include <asm/arch/dma.h> 21#include <asm/arch/dma.h>
diff --git a/arch/arm/mach-s3c2410/s3c2412.c b/arch/arm/mach-s3c2410/s3c2412.c
index e76431c41461..2f651a811ecd 100644
--- a/arch/arm/mach-s3c2410/s3c2412.c
+++ b/arch/arm/mach-s3c2410/s3c2412.c
@@ -17,6 +17,7 @@
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/sysdev.h> 19#include <linux/sysdev.h>
20#include <linux/serial_core.h>
20#include <linux/platform_device.h> 21#include <linux/platform_device.h>
21 22
22#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
@@ -60,7 +61,6 @@ static struct map_desc s3c2412_iodesc[] __initdata = {
60 IODESC_ENT(CLKPWR), 61 IODESC_ENT(CLKPWR),
61 IODESC_ENT(LCD), 62 IODESC_ENT(LCD),
62 IODESC_ENT(TIMER), 63 IODESC_ENT(TIMER),
63 IODESC_ENT(ADC),
64 IODESC_ENT(WATCHDOG), 64 IODESC_ENT(WATCHDOG),
65}; 65};
66 66
diff --git a/arch/arm/mach-s3c2410/s3c2440-clock.c b/arch/arm/mach-s3c2410/s3c2440-clock.c
index 15796864d010..ba13c1d079d1 100644
--- a/arch/arm/mach-s3c2410/s3c2440-clock.c
+++ b/arch/arm/mach-s3c2410/s3c2440-clock.c
@@ -113,18 +113,18 @@ static int s3c2440_clk_add(struct sys_device *sysdev)
113{ 113{
114 unsigned long camdivn = __raw_readl(S3C2440_CAMDIVN); 114 unsigned long camdivn = __raw_readl(S3C2440_CAMDIVN);
115 unsigned long clkdivn; 115 unsigned long clkdivn;
116 struct clk *clk_h; 116 struct clk *clock_h;
117 struct clk *clk_p; 117 struct clk *clock_p;
118 struct clk *clk_upll; 118 struct clk *clock_upll;
119 119
120 printk("S3C2440: Clock Support, DVS %s\n", 120 printk("S3C2440: Clock Support, DVS %s\n",
121 (camdivn & S3C2440_CAMDIVN_DVSEN) ? "on" : "off"); 121 (camdivn & S3C2440_CAMDIVN_DVSEN) ? "on" : "off");
122 122
123 clk_p = clk_get(NULL, "pclk"); 123 clock_p = clk_get(NULL, "pclk");
124 clk_h = clk_get(NULL, "hclk"); 124 clock_h = clk_get(NULL, "hclk");
125 clk_upll = clk_get(NULL, "upll"); 125 clock_upll = clk_get(NULL, "upll");
126 126
127 if (IS_ERR(clk_p) || IS_ERR(clk_h) || IS_ERR(clk_upll)) { 127 if (IS_ERR(clock_p) || IS_ERR(clock_h) || IS_ERR(clock_upll)) {
128 printk(KERN_ERR "S3C2440: Failed to get parent clocks\n"); 128 printk(KERN_ERR "S3C2440: Failed to get parent clocks\n");
129 return -EINVAL; 129 return -EINVAL;
130 } 130 }
@@ -132,8 +132,8 @@ static int s3c2440_clk_add(struct sys_device *sysdev)
132 /* check rate of UPLL, and if it is near 96MHz, then change 132 /* check rate of UPLL, and if it is near 96MHz, then change
133 * to using half the UPLL rate for the system */ 133 * to using half the UPLL rate for the system */
134 134
135 if (clk_get_rate(clk_upll) > (94 * MHZ)) { 135 if (clk_get_rate(clock_upll) > (94 * MHZ)) {
136 clk_usb_bus.rate = clk_get_rate(clk_upll) / 2; 136 clk_usb_bus.rate = clk_get_rate(clock_upll) / 2;
137 137
138 mutex_lock(&clocks_mutex); 138 mutex_lock(&clocks_mutex);
139 139
@@ -144,9 +144,9 @@ static int s3c2440_clk_add(struct sys_device *sysdev)
144 mutex_unlock(&clocks_mutex); 144 mutex_unlock(&clocks_mutex);
145 } 145 }
146 146
147 s3c2440_clk_cam.parent = clk_h; 147 s3c2440_clk_cam.parent = clock_h;
148 s3c2440_clk_ac97.parent = clk_p; 148 s3c2440_clk_ac97.parent = clock_p;
149 s3c2440_clk_cam_upll.parent = clk_upll; 149 s3c2440_clk_cam_upll.parent = clock_upll;
150 150
151 s3c24xx_register_clock(&s3c2440_clk_ac97); 151 s3c24xx_register_clock(&s3c2440_clk_ac97);
152 s3c24xx_register_clock(&s3c2440_clk_cam); 152 s3c24xx_register_clock(&s3c2440_clk_cam);
diff --git a/arch/arm/mach-s3c2410/s3c2440-dma.c b/arch/arm/mach-s3c2410/s3c2440-dma.c
index 11e109c84a15..47b861b9443d 100644
--- a/arch/arm/mach-s3c2410/s3c2440-dma.c
+++ b/arch/arm/mach-s3c2410/s3c2440-dma.c
@@ -1,6 +1,6 @@
1/* linux/arch/arm/mach-s3c2410/s3c2440-dma.c 1/* linux/arch/arm/mach-s3c2410/s3c2440-dma.c
2 * 2 *
3 * (c) 2006 Simtec Electronics 3 * Copyright (c) 2006 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2440 DMA selection 6 * S3C2440 DMA selection
@@ -15,6 +15,7 @@
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/sysdev.h> 17#include <linux/sysdev.h>
18#include <linux/serial_core.h>
18 19
19#include <asm/dma.h> 20#include <asm/dma.h>
20#include <asm/arch/dma.h> 21#include <asm/arch/dma.h>
diff --git a/arch/arm/mach-s3c2410/s3c2440.c b/arch/arm/mach-s3c2410/s3c2440.c
index 0ab50f44f318..344eb27cca48 100644
--- a/arch/arm/mach-s3c2410/s3c2440.c
+++ b/arch/arm/mach-s3c2410/s3c2440.c
@@ -17,6 +17,7 @@
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/platform_device.h> 19#include <linux/platform_device.h>
20#include <linux/serial_core.h>
20#include <linux/sysdev.h> 21#include <linux/sysdev.h>
21#include <linux/clk.h> 22#include <linux/clk.h>
22 23
@@ -28,17 +29,9 @@
28#include <asm/io.h> 29#include <asm/io.h>
29#include <asm/irq.h> 30#include <asm/irq.h>
30 31
31#include <asm/arch/regs-clock.h>
32#include <asm/arch/regs-serial.h>
33#include <asm/arch/regs-gpio.h>
34#include <asm/arch/regs-gpioj.h>
35#include <asm/arch/regs-dsc.h>
36
37#include "s3c2440.h" 32#include "s3c2440.h"
38#include "clock.h"
39#include "devs.h" 33#include "devs.h"
40#include "cpu.h" 34#include "cpu.h"
41#include "pm.h"
42 35
43static struct sys_device s3c2440_sysdev = { 36static struct sys_device s3c2440_sysdev = {
44 .cls = &s3c2440_sysclass, 37 .cls = &s3c2440_sysclass,
diff --git a/arch/arm/mach-s3c2410/s3c2440.h b/arch/arm/mach-s3c2410/s3c2440.h
index 29cb6df65a48..dcd316076c59 100644
--- a/arch/arm/mach-s3c2410/s3c2440.h
+++ b/arch/arm/mach-s3c2410/s3c2440.h
@@ -8,28 +8,10 @@
8 * This program is free software; you can redistribute it and/or modify 8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as 9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation. 10 * published by the Free Software Foundation.
11 *
12 * Modifications:
13 * 24-Aug-2004 BJD Start of S3C2440 CPU support
14 * 04-Nov-2004 BJD Added s3c2440_init_uarts()
15 * 04-Jan-2005 BJD Moved uart init to cpu code
16 * 10-Jan-2005 BJD Moved 2440 specific init here
17 * 14-Jan-2005 BJD Split the clock initialisation code
18*/ 11*/
19 12
20#ifdef CONFIG_CPU_S3C2440 13#ifdef CONFIG_CPU_S3C2440
21
22extern int s3c2440_init(void); 14extern int s3c2440_init(void);
23
24extern void s3c2440_map_io(struct map_desc *mach_desc, int size);
25
26extern void s3c2440_init_uarts(struct s3c2410_uartcfg *cfg, int no);
27
28extern void s3c2440_init_clocks(int xtal);
29
30#else 15#else
31#define s3c2440_init_clocks NULL
32#define s3c2440_init_uarts NULL
33#define s3c2440_map_io NULL
34#define s3c2440_init NULL 16#define s3c2440_init NULL
35#endif 17#endif
diff --git a/arch/arm/mach-s3c2410/s3c2442-clock.c b/arch/arm/mach-s3c2410/s3c2442-clock.c
index d9f54b5cab7f..4e292ca7c9be 100644
--- a/arch/arm/mach-s3c2410/s3c2442-clock.c
+++ b/arch/arm/mach-s3c2410/s3c2442-clock.c
@@ -117,18 +117,18 @@ static int s3c2442_clk_add(struct sys_device *sysdev)
117{ 117{
118 unsigned long camdivn = __raw_readl(S3C2440_CAMDIVN); 118 unsigned long camdivn = __raw_readl(S3C2440_CAMDIVN);
119 unsigned long clkdivn; 119 unsigned long clkdivn;
120 struct clk *clk_h; 120 struct clk *clock_h;
121 struct clk *clk_p; 121 struct clk *clock_p;
122 struct clk *clk_upll; 122 struct clk *clock_upll;
123 123
124 printk("S3C2442: Clock Support, DVS %s\n", 124 printk("S3C2442: Clock Support, DVS %s\n",
125 (camdivn & S3C2440_CAMDIVN_DVSEN) ? "on" : "off"); 125 (camdivn & S3C2440_CAMDIVN_DVSEN) ? "on" : "off");
126 126
127 clk_p = clk_get(NULL, "pclk"); 127 clock_p = clk_get(NULL, "pclk");
128 clk_h = clk_get(NULL, "hclk"); 128 clock_h = clk_get(NULL, "hclk");
129 clk_upll = clk_get(NULL, "upll"); 129 clock_upll = clk_get(NULL, "upll");
130 130
131 if (IS_ERR(clk_p) || IS_ERR(clk_h) || IS_ERR(clk_upll)) { 131 if (IS_ERR(clock_p) || IS_ERR(clock_h) || IS_ERR(clock_upll)) {
132 printk(KERN_ERR "S3C2442: Failed to get parent clocks\n"); 132 printk(KERN_ERR "S3C2442: Failed to get parent clocks\n");
133 return -EINVAL; 133 return -EINVAL;
134 } 134 }
@@ -136,8 +136,8 @@ static int s3c2442_clk_add(struct sys_device *sysdev)
136 /* check rate of UPLL, and if it is near 96MHz, then change 136 /* check rate of UPLL, and if it is near 96MHz, then change
137 * to using half the UPLL rate for the system */ 137 * to using half the UPLL rate for the system */
138 138
139 if (clk_get_rate(clk_upll) > (94 * MHZ)) { 139 if (clk_get_rate(clock_upll) > (94 * MHZ)) {
140 clk_usb_bus.rate = clk_get_rate(clk_upll) / 2; 140 clk_usb_bus.rate = clk_get_rate(clock_upll) / 2;
141 141
142 mutex_lock(&clocks_mutex); 142 mutex_lock(&clocks_mutex);
143 143
@@ -148,8 +148,8 @@ static int s3c2442_clk_add(struct sys_device *sysdev)
148 mutex_unlock(&clocks_mutex); 148 mutex_unlock(&clocks_mutex);
149 } 149 }
150 150
151 s3c2442_clk_cam.parent = clk_h; 151 s3c2442_clk_cam.parent = clock_h;
152 s3c2442_clk_cam_upll.parent = clk_upll; 152 s3c2442_clk_cam_upll.parent = clock_upll;
153 153
154 s3c24xx_register_clock(&s3c2442_clk_cam); 154 s3c24xx_register_clock(&s3c2442_clk_cam);
155 s3c24xx_register_clock(&s3c2442_clk_cam_upll); 155 s3c24xx_register_clock(&s3c2442_clk_cam_upll);
diff --git a/arch/arm/mach-s3c2410/s3c2442.c b/arch/arm/mach-s3c2410/s3c2442.c
index 581667efd13c..428732ee68c4 100644
--- a/arch/arm/mach-s3c2410/s3c2442.c
+++ b/arch/arm/mach-s3c2410/s3c2442.c
@@ -16,29 +16,11 @@
16#include <linux/list.h> 16#include <linux/list.h>
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/platform_device.h> 19#include <linux/serial_core.h>
20#include <linux/sysdev.h> 20#include <linux/sysdev.h>
21#include <linux/clk.h>
22
23#include <asm/mach/arch.h>
24#include <asm/mach/map.h>
25#include <asm/mach/irq.h>
26
27#include <asm/hardware.h>
28#include <asm/io.h>
29#include <asm/irq.h>
30
31#include <asm/arch/regs-clock.h>
32#include <asm/arch/regs-serial.h>
33#include <asm/arch/regs-gpio.h>
34#include <asm/arch/regs-gpioj.h>
35#include <asm/arch/regs-dsc.h>
36 21
37#include "s3c2442.h" 22#include "s3c2442.h"
38#include "clock.h"
39#include "devs.h"
40#include "cpu.h" 23#include "cpu.h"
41#include "pm.h"
42 24
43static struct sys_device s3c2442_sysdev = { 25static struct sys_device s3c2442_sysdev = {
44 .cls = &s3c2442_sysclass, 26 .cls = &s3c2442_sysclass,
diff --git a/arch/arm/mach-s3c2410/s3c244x.c b/arch/arm/mach-s3c2410/s3c244x.c
index 9a2258270de9..23c7494ad10d 100644
--- a/arch/arm/mach-s3c2410/s3c244x.c
+++ b/arch/arm/mach-s3c2410/s3c244x.c
@@ -16,6 +16,7 @@
16#include <linux/list.h> 16#include <linux/list.h>
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/serial_core.h>
19#include <linux/platform_device.h> 20#include <linux/platform_device.h>
20#include <linux/sysdev.h> 21#include <linux/sysdev.h>
21#include <linux/clk.h> 22#include <linux/clk.h>
@@ -47,8 +48,6 @@ static struct map_desc s3c244x_iodesc[] __initdata = {
47 IODESC_ENT(TIMER), 48 IODESC_ENT(TIMER),
48 IODESC_ENT(WATCHDOG), 49 IODESC_ENT(WATCHDOG),
49 IODESC_ENT(LCD), 50 IODESC_ENT(LCD),
50 IODESC_ENT(ADC),
51 IODESC_ENT(USBHOST),
52}; 51};
53 52
54/* uart initialisation */ 53/* uart initialisation */
diff --git a/arch/arm/mach-s3c2410/usb-simtec.h b/arch/arm/mach-s3c2410/usb-simtec.h
index d8aa6127dedb..03842ede9e71 100644
--- a/arch/arm/mach-s3c2410/usb-simtec.h
+++ b/arch/arm/mach-s3c2410/usb-simtec.h
@@ -10,9 +10,6 @@
10 * This program is free software; you can redistribute it and/or modify 10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as 11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation. 12 * published by the Free Software Foundation.
13 *
14 * Modifications:
15 * 20-Aug-2004 BJD Created
16*/ 13*/
17 14
18extern int usb_simtec_init(void); 15extern int usb_simtec_init(void);
diff --git a/arch/arm/mm/ioremap.c b/arch/arm/mm/ioremap.c
index 3bb3951920bc..251685fe73a8 100644
--- a/arch/arm/mm/ioremap.c
+++ b/arch/arm/mm/ioremap.c
@@ -292,6 +292,8 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size,
292 if (pfn >= 0x100000 && (__pfn_to_phys(pfn) & ~SUPERSECTION_MASK)) 292 if (pfn >= 0x100000 && (__pfn_to_phys(pfn) & ~SUPERSECTION_MASK))
293 return NULL; 293 return NULL;
294 294
295 size = PAGE_ALIGN(size);
296
295 area = get_vm_area(size, VM_IOREMAP); 297 area = get_vm_area(size, VM_IOREMAP);
296 if (!area) 298 if (!area)
297 return NULL; 299 return NULL;
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index f028aef9a861..655c8376f0b5 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -154,6 +154,26 @@ static int __init noalign_setup(char *__unused)
154} 154}
155__setup("noalign", noalign_setup); 155__setup("noalign", noalign_setup);
156 156
157#ifndef CONFIG_SMP
158void adjust_cr(unsigned long mask, unsigned long set)
159{
160 unsigned long flags;
161
162 mask &= ~CR_A;
163
164 set &= mask;
165
166 local_irq_save(flags);
167
168 cr_no_alignment = (cr_no_alignment & ~mask) | set;
169 cr_alignment = (cr_alignment & ~mask) | set;
170
171 set_cr((get_cr() & ~mask) | set);
172
173 local_irq_restore(flags);
174}
175#endif
176
157struct mem_types { 177struct mem_types {
158 unsigned int prot_pte; 178 unsigned int prot_pte;
159 unsigned int prot_l1; 179 unsigned int prot_l1;
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S
index 43494ae8f01a..94a58455f346 100644
--- a/arch/arm/mm/proc-xsc3.S
+++ b/arch/arm/mm/proc-xsc3.S
@@ -2,7 +2,7 @@
2 * linux/arch/arm/mm/proc-xsc3.S 2 * linux/arch/arm/mm/proc-xsc3.S
3 * 3 *
4 * Original Author: Matthew Gilbert 4 * Original Author: Matthew Gilbert
5 * Current Maintainer: Deepak Saxena <dsaxena@plexity.net> 5 * Current Maintainer: Lennert Buytenhek <buytenh@wantstofly.org>
6 * 6 *
7 * Copyright 2004 (C) Intel Corp. 7 * Copyright 2004 (C) Intel Corp.
8 * Copyright 2005 (c) MontaVista Software, Inc. 8 * Copyright 2005 (c) MontaVista Software, Inc.
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 343dbcfdf08a..98392fb5f581 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -152,6 +152,9 @@ $(obj)/zImage.initrd.miboot: vmlinux $(wrapperbits)
152$(obj)/zImage.ps3: vmlinux 152$(obj)/zImage.ps3: vmlinux
153 $(STRIP) -s -R .comment $< -o $@ 153 $(STRIP) -s -R .comment $< -o $@
154 154
155$(obj)/zImage.initrd.ps3: vmlinux
156 @echo " WARNING zImage.initrd.ps3 not supported (yet)"
157
155$(obj)/uImage: vmlinux $(wrapperbits) 158$(obj)/uImage: vmlinux $(wrapperbits)
156 $(call cmd,wrap,uboot) 159 $(call cmd,wrap,uboot)
157 160
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig
index a98c982c73ad..d1d25152f74f 100644
--- a/arch/powerpc/configs/cell_defconfig
+++ b/arch/powerpc/configs/cell_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.19-rc6 3# Linux kernel version: 2.6.20-rc1
4# Wed Nov 22 15:33:04 2006 4# Tue Dec 19 14:59:53 2006
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -10,6 +10,8 @@ CONFIG_MMU=y
10CONFIG_GENERIC_HARDIRQS=y 10CONFIG_GENERIC_HARDIRQS=y
11CONFIG_IRQ_PER_CPU=y 11CONFIG_IRQ_PER_CPU=y
12CONFIG_RWSEM_XCHGADD_ALGORITHM=y 12CONFIG_RWSEM_XCHGADD_ALGORITHM=y
13CONFIG_ARCH_HAS_ILOG2_U32=y
14CONFIG_ARCH_HAS_ILOG2_U64=y
13CONFIG_GENERIC_HWEIGHT=y 15CONFIG_GENERIC_HWEIGHT=y
14CONFIG_GENERIC_CALIBRATE_DELAY=y 16CONFIG_GENERIC_CALIBRATE_DELAY=y
15CONFIG_GENERIC_FIND_NEXT_BIT=y 17CONFIG_GENERIC_FIND_NEXT_BIT=y
@@ -23,6 +25,7 @@ CONFIG_PPC_OF=y
23CONFIG_PPC_UDBG_16550=y 25CONFIG_PPC_UDBG_16550=y
24# CONFIG_GENERIC_TBSYNC is not set 26# CONFIG_GENERIC_TBSYNC is not set
25CONFIG_AUDIT_ARCH=y 27CONFIG_AUDIT_ARCH=y
28CONFIG_GENERIC_BUG=y
26# CONFIG_DEFAULT_UIMAGE is not set 29# CONFIG_DEFAULT_UIMAGE is not set
27 30
28# 31#
@@ -66,6 +69,7 @@ CONFIG_SYSVIPC=y
66CONFIG_IKCONFIG=y 69CONFIG_IKCONFIG=y
67CONFIG_IKCONFIG_PROC=y 70CONFIG_IKCONFIG_PROC=y
68CONFIG_CPUSETS=y 71CONFIG_CPUSETS=y
72CONFIG_SYSFS_DEPRECATED=y
69# CONFIG_RELAY is not set 73# CONFIG_RELAY is not set
70CONFIG_INITRAMFS_SOURCE="" 74CONFIG_INITRAMFS_SOURCE=""
71CONFIG_CC_OPTIMIZE_FOR_SIZE=y 75CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -128,14 +132,16 @@ CONFIG_PPC_MULTIPLATFORM=y
128# CONFIG_APUS is not set 132# CONFIG_APUS is not set
129# CONFIG_PPC_PSERIES is not set 133# CONFIG_PPC_PSERIES is not set
130# CONFIG_PPC_ISERIES is not set 134# CONFIG_PPC_ISERIES is not set
135# CONFIG_PPC_MPC52xx is not set
131# CONFIG_PPC_PMAC is not set 136# CONFIG_PPC_PMAC is not set
132# CONFIG_PPC_MAPLE is not set 137# CONFIG_PPC_MAPLE is not set
133# CONFIG_PPC_PASEMI is not set 138# CONFIG_PPC_PASEMI is not set
134CONFIG_PPC_CELL=y 139CONFIG_PPC_CELL=y
135CONFIG_PPC_CELL_NATIVE=y 140CONFIG_PPC_CELL_NATIVE=y
136CONFIG_PPC_IBM_CELL_BLADE=y 141CONFIG_PPC_IBM_CELL_BLADE=y
137CONFIG_UDBG_RTAS_CONSOLE=y
138CONFIG_PPC_PS3=y 142CONFIG_PPC_PS3=y
143CONFIG_PPC_NATIVE=y
144CONFIG_UDBG_RTAS_CONSOLE=y
139# CONFIG_U3_DART is not set 145# CONFIG_U3_DART is not set
140CONFIG_PPC_RTAS=y 146CONFIG_PPC_RTAS=y
141# CONFIG_RTAS_ERROR_LOGGING is not set 147# CONFIG_RTAS_ERROR_LOGGING is not set
@@ -177,12 +183,14 @@ CONFIG_CBE_CPUFREQ=m
177CONFIG_PS3_HTAB_SIZE=20 183CONFIG_PS3_HTAB_SIZE=20
178# CONFIG_PS3_DYNAMIC_DMA is not set 184# CONFIG_PS3_DYNAMIC_DMA is not set
179CONFIG_PS3_USE_LPAR_ADDR=y 185CONFIG_PS3_USE_LPAR_ADDR=y
186CONFIG_PS3_VUART=y
180 187
181# 188#
182# Kernel options 189# Kernel options
183# 190#
184# CONFIG_HZ_100 is not set 191# CONFIG_HZ_100 is not set
185CONFIG_HZ_250=y 192CONFIG_HZ_250=y
193# CONFIG_HZ_300 is not set
186# CONFIG_HZ_1000 is not set 194# CONFIG_HZ_1000 is not set
187CONFIG_HZ=250 195CONFIG_HZ=250
188CONFIG_PREEMPT_NONE=y 196CONFIG_PREEMPT_NONE=y
@@ -237,6 +245,7 @@ CONFIG_GENERIC_ISA_DMA=y
237CONFIG_PCI=y 245CONFIG_PCI=y
238CONFIG_PCI_DOMAINS=y 246CONFIG_PCI_DOMAINS=y
239CONFIG_PCIEPORTBUS=y 247CONFIG_PCIEPORTBUS=y
248# CONFIG_PCI_MULTITHREAD_PROBE is not set
240# CONFIG_PCI_DEBUG is not set 249# CONFIG_PCI_DEBUG is not set
241 250
242# 251#
@@ -270,7 +279,10 @@ CONFIG_INET=y
270CONFIG_IP_MULTICAST=y 279CONFIG_IP_MULTICAST=y
271# CONFIG_IP_ADVANCED_ROUTER is not set 280# CONFIG_IP_ADVANCED_ROUTER is not set
272CONFIG_IP_FIB_HASH=y 281CONFIG_IP_FIB_HASH=y
273# CONFIG_IP_PNP is not set 282CONFIG_IP_PNP=y
283CONFIG_IP_PNP_DHCP=y
284CONFIG_IP_PNP_BOOTP=y
285CONFIG_IP_PNP_RARP=y
274CONFIG_NET_IPIP=y 286CONFIG_NET_IPIP=y
275# CONFIG_NET_IPGRE is not set 287# CONFIG_NET_IPGRE is not set
276# CONFIG_IP_MROUTE is not set 288# CONFIG_IP_MROUTE is not set
@@ -289,6 +301,7 @@ CONFIG_INET_TCP_DIAG=y
289# CONFIG_TCP_CONG_ADVANCED is not set 301# CONFIG_TCP_CONG_ADVANCED is not set
290CONFIG_TCP_CONG_CUBIC=y 302CONFIG_TCP_CONG_CUBIC=y
291CONFIG_DEFAULT_TCP_CONG="cubic" 303CONFIG_DEFAULT_TCP_CONG="cubic"
304# CONFIG_TCP_MD5SIG is not set
292 305
293# 306#
294# IP: Virtual Server Configuration 307# IP: Virtual Server Configuration
@@ -317,31 +330,67 @@ CONFIG_NETFILTER=y
317# 330#
318# Core Netfilter Configuration 331# Core Netfilter Configuration
319# 332#
320# CONFIG_NETFILTER_NETLINK is not set 333CONFIG_NETFILTER_NETLINK=m
321# CONFIG_NETFILTER_XTABLES is not set 334CONFIG_NETFILTER_NETLINK_QUEUE=m
335CONFIG_NETFILTER_NETLINK_LOG=m
336# CONFIG_NF_CONNTRACK_ENABLED is not set
337CONFIG_NETFILTER_XTABLES=m
338CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
339CONFIG_NETFILTER_XT_TARGET_DSCP=m
340CONFIG_NETFILTER_XT_TARGET_MARK=m
341CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
342CONFIG_NETFILTER_XT_TARGET_NFLOG=m
343CONFIG_NETFILTER_XT_MATCH_COMMENT=m
344CONFIG_NETFILTER_XT_MATCH_DCCP=m
345CONFIG_NETFILTER_XT_MATCH_DSCP=m
346CONFIG_NETFILTER_XT_MATCH_ESP=m
347CONFIG_NETFILTER_XT_MATCH_LENGTH=m
348CONFIG_NETFILTER_XT_MATCH_LIMIT=m
349CONFIG_NETFILTER_XT_MATCH_MAC=m
350CONFIG_NETFILTER_XT_MATCH_MARK=m
351CONFIG_NETFILTER_XT_MATCH_POLICY=m
352CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
353CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
354CONFIG_NETFILTER_XT_MATCH_QUOTA=m
355CONFIG_NETFILTER_XT_MATCH_REALM=m
356CONFIG_NETFILTER_XT_MATCH_SCTP=m
357CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
358CONFIG_NETFILTER_XT_MATCH_STRING=m
359CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
360CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
322 361
323# 362#
324# IP: Netfilter Configuration 363# IP: Netfilter Configuration
325# 364#
326CONFIG_IP_NF_CONNTRACK=y
327# CONFIG_IP_NF_CT_ACCT is not set
328# CONFIG_IP_NF_CONNTRACK_MARK is not set
329# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
330CONFIG_IP_NF_CT_PROTO_SCTP=y
331CONFIG_IP_NF_FTP=m
332CONFIG_IP_NF_IRC=m
333# CONFIG_IP_NF_NETBIOS_NS is not set
334CONFIG_IP_NF_TFTP=m
335CONFIG_IP_NF_AMANDA=m
336# CONFIG_IP_NF_PPTP is not set
337# CONFIG_IP_NF_H323 is not set
338# CONFIG_IP_NF_SIP is not set
339CONFIG_IP_NF_QUEUE=m 365CONFIG_IP_NF_QUEUE=m
366CONFIG_IP_NF_IPTABLES=m
367CONFIG_IP_NF_MATCH_IPRANGE=m
368CONFIG_IP_NF_MATCH_TOS=m
369CONFIG_IP_NF_MATCH_RECENT=m
370CONFIG_IP_NF_MATCH_ECN=m
371CONFIG_IP_NF_MATCH_AH=m
372CONFIG_IP_NF_MATCH_TTL=m
373CONFIG_IP_NF_MATCH_OWNER=m
374CONFIG_IP_NF_MATCH_ADDRTYPE=m
375CONFIG_IP_NF_FILTER=m
376CONFIG_IP_NF_TARGET_REJECT=m
377CONFIG_IP_NF_TARGET_LOG=m
378CONFIG_IP_NF_TARGET_ULOG=m
379CONFIG_IP_NF_TARGET_TCPMSS=m
380CONFIG_IP_NF_MANGLE=m
381CONFIG_IP_NF_TARGET_TOS=m
382CONFIG_IP_NF_TARGET_ECN=m
383CONFIG_IP_NF_TARGET_TTL=m
384CONFIG_IP_NF_RAW=m
385CONFIG_IP_NF_ARPTABLES=m
386CONFIG_IP_NF_ARPFILTER=m
387CONFIG_IP_NF_ARP_MANGLE=m
340 388
341# 389#
342# IPv6: Netfilter Configuration (EXPERIMENTAL) 390# IPv6: Netfilter Configuration (EXPERIMENTAL)
343# 391#
344# CONFIG_IP6_NF_QUEUE is not set 392# CONFIG_IP6_NF_QUEUE is not set
393# CONFIG_IP6_NF_IPTABLES is not set
345 394
346# 395#
347# DCCP Configuration (EXPERIMENTAL) 396# DCCP Configuration (EXPERIMENTAL)
@@ -373,6 +422,7 @@ CONFIG_IP_NF_QUEUE=m
373# QoS and/or fair queueing 422# QoS and/or fair queueing
374# 423#
375# CONFIG_NET_SCHED is not set 424# CONFIG_NET_SCHED is not set
425CONFIG_NET_CLS_ROUTE=y
376 426
377# 427#
378# Network testing 428# Network testing
@@ -428,6 +478,7 @@ CONFIG_BLK_DEV_LOOP=y
428# CONFIG_BLK_DEV_CRYPTOLOOP is not set 478# CONFIG_BLK_DEV_CRYPTOLOOP is not set
429# CONFIG_BLK_DEV_NBD is not set 479# CONFIG_BLK_DEV_NBD is not set
430# CONFIG_BLK_DEV_SX8 is not set 480# CONFIG_BLK_DEV_SX8 is not set
481# CONFIG_BLK_DEV_UB is not set
431CONFIG_BLK_DEV_RAM=y 482CONFIG_BLK_DEV_RAM=y
432CONFIG_BLK_DEV_RAM_COUNT=16 483CONFIG_BLK_DEV_RAM_COUNT=16
433CONFIG_BLK_DEV_RAM_SIZE=131072 484CONFIG_BLK_DEV_RAM_SIZE=131072
@@ -457,6 +508,7 @@ CONFIG_IDEDISK_MULTI_MODE=y
457# CONFIG_BLK_DEV_IDECD is not set 508# CONFIG_BLK_DEV_IDECD is not set
458# CONFIG_BLK_DEV_IDETAPE is not set 509# CONFIG_BLK_DEV_IDETAPE is not set
459# CONFIG_BLK_DEV_IDEFLOPPY is not set 510# CONFIG_BLK_DEV_IDEFLOPPY is not set
511# CONFIG_BLK_DEV_IDESCSI is not set
460# CONFIG_IDE_TASK_IOCTL is not set 512# CONFIG_IDE_TASK_IOCTL is not set
461 513
462# 514#
@@ -468,7 +520,6 @@ CONFIG_IDEPCI_SHARE_IRQ=y
468# CONFIG_BLK_DEV_OFFBOARD is not set 520# CONFIG_BLK_DEV_OFFBOARD is not set
469CONFIG_BLK_DEV_GENERIC=y 521CONFIG_BLK_DEV_GENERIC=y
470# CONFIG_BLK_DEV_OPTI621 is not set 522# CONFIG_BLK_DEV_OPTI621 is not set
471# CONFIG_BLK_DEV_SL82C105 is not set
472CONFIG_BLK_DEV_IDEDMA_PCI=y 523CONFIG_BLK_DEV_IDEDMA_PCI=y
473# CONFIG_BLK_DEV_IDEDMA_FORCED is not set 524# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
474CONFIG_IDEDMA_PCI_AUTO=y 525CONFIG_IDEDMA_PCI_AUTO=y
@@ -492,6 +543,7 @@ CONFIG_BLK_DEV_AEC62XX=y
492# CONFIG_BLK_DEV_PDC202XX_NEW is not set 543# CONFIG_BLK_DEV_PDC202XX_NEW is not set
493# CONFIG_BLK_DEV_SVWKS is not set 544# CONFIG_BLK_DEV_SVWKS is not set
494CONFIG_BLK_DEV_SIIMAGE=y 545CONFIG_BLK_DEV_SIIMAGE=y
546# CONFIG_BLK_DEV_SL82C105 is not set
495# CONFIG_BLK_DEV_SLC90E66 is not set 547# CONFIG_BLK_DEV_SLC90E66 is not set
496# CONFIG_BLK_DEV_TRM290 is not set 548# CONFIG_BLK_DEV_TRM290 is not set
497# CONFIG_BLK_DEV_VIA82CXXX is not set 549# CONFIG_BLK_DEV_VIA82CXXX is not set
@@ -505,8 +557,74 @@ CONFIG_IDEDMA_AUTO=y
505# SCSI device support 557# SCSI device support
506# 558#
507# CONFIG_RAID_ATTRS is not set 559# CONFIG_RAID_ATTRS is not set
508# CONFIG_SCSI is not set 560CONFIG_SCSI=m
561# CONFIG_SCSI_TGT is not set
509# CONFIG_SCSI_NETLINK is not set 562# CONFIG_SCSI_NETLINK is not set
563CONFIG_SCSI_PROC_FS=y
564
565#
566# SCSI support type (disk, tape, CD-ROM)
567#
568CONFIG_BLK_DEV_SD=m
569# CONFIG_CHR_DEV_ST is not set
570# CONFIG_CHR_DEV_OSST is not set
571CONFIG_BLK_DEV_SR=m
572# CONFIG_BLK_DEV_SR_VENDOR is not set
573CONFIG_CHR_DEV_SG=m
574# CONFIG_CHR_DEV_SCH is not set
575
576#
577# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
578#
579# CONFIG_SCSI_MULTI_LUN is not set
580# CONFIG_SCSI_CONSTANTS is not set
581# CONFIG_SCSI_LOGGING is not set
582# CONFIG_SCSI_SCAN_ASYNC is not set
583
584#
585# SCSI Transports
586#
587# CONFIG_SCSI_SPI_ATTRS is not set
588# CONFIG_SCSI_FC_ATTRS is not set
589# CONFIG_SCSI_ISCSI_ATTRS is not set
590# CONFIG_SCSI_SAS_ATTRS is not set
591# CONFIG_SCSI_SAS_LIBSAS is not set
592
593#
594# SCSI low-level drivers
595#
596# CONFIG_ISCSI_TCP is not set
597# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
598# CONFIG_SCSI_3W_9XXX is not set
599# CONFIG_SCSI_ACARD is not set
600# CONFIG_SCSI_AACRAID is not set
601# CONFIG_SCSI_AIC7XXX is not set
602# CONFIG_SCSI_AIC7XXX_OLD is not set
603# CONFIG_SCSI_AIC79XX is not set
604# CONFIG_SCSI_AIC94XX is not set
605# CONFIG_SCSI_ARCMSR is not set
606# CONFIG_MEGARAID_NEWGEN is not set
607# CONFIG_MEGARAID_LEGACY is not set
608# CONFIG_MEGARAID_SAS is not set
609# CONFIG_SCSI_HPTIOP is not set
610# CONFIG_SCSI_BUSLOGIC is not set
611# CONFIG_SCSI_DMX3191D is not set
612# CONFIG_SCSI_EATA is not set
613# CONFIG_SCSI_FUTURE_DOMAIN is not set
614# CONFIG_SCSI_GDTH is not set
615# CONFIG_SCSI_IPS is not set
616# CONFIG_SCSI_INITIO is not set
617# CONFIG_SCSI_INIA100 is not set
618# CONFIG_SCSI_STEX is not set
619# CONFIG_SCSI_SYM53C8XX_2 is not set
620# CONFIG_SCSI_QLOGIC_1280 is not set
621# CONFIG_SCSI_QLA_FC is not set
622# CONFIG_SCSI_QLA_ISCSI is not set
623# CONFIG_SCSI_LPFC is not set
624# CONFIG_SCSI_DC395x is not set
625# CONFIG_SCSI_DC390T is not set
626# CONFIG_SCSI_DEBUG is not set
627# CONFIG_SCSI_SRP is not set
510 628
511# 629#
512# Serial ATA (prod) and Parallel ATA (experimental) drivers 630# Serial ATA (prod) and Parallel ATA (experimental) drivers
@@ -538,6 +656,9 @@ CONFIG_DM_MULTIPATH=m
538# Fusion MPT device support 656# Fusion MPT device support
539# 657#
540# CONFIG_FUSION is not set 658# CONFIG_FUSION is not set
659# CONFIG_FUSION_SPI is not set
660# CONFIG_FUSION_FC is not set
661# CONFIG_FUSION_SAS is not set
541 662
542# 663#
543# IEEE 1394 (FireWire) support 664# IEEE 1394 (FireWire) support
@@ -552,6 +673,7 @@ CONFIG_DM_MULTIPATH=m
552# 673#
553# Macintosh device drivers 674# Macintosh device drivers
554# 675#
676# CONFIG_MAC_EMUMOUSEBTN is not set
555# CONFIG_WINDFARM is not set 677# CONFIG_WINDFARM is not set
556 678
557# 679#
@@ -559,7 +681,7 @@ CONFIG_DM_MULTIPATH=m
559# 681#
560CONFIG_NETDEVICES=y 682CONFIG_NETDEVICES=y
561# CONFIG_DUMMY is not set 683# CONFIG_DUMMY is not set
562CONFIG_BONDING=y 684CONFIG_BONDING=m
563# CONFIG_EQUALIZER is not set 685# CONFIG_EQUALIZER is not set
564CONFIG_TUN=y 686CONFIG_TUN=y
565 687
@@ -604,11 +726,11 @@ CONFIG_E1000_NAPI=y
604# CONFIG_R8169 is not set 726# CONFIG_R8169 is not set
605# CONFIG_SIS190 is not set 727# CONFIG_SIS190 is not set
606CONFIG_SKGE=m 728CONFIG_SKGE=m
607# CONFIG_SKY2 is not set 729CONFIG_SKY2=m
608# CONFIG_SK98LIN is not set 730# CONFIG_SK98LIN is not set
609# CONFIG_TIGON3 is not set 731CONFIG_TIGON3=y
610# CONFIG_BNX2 is not set 732# CONFIG_BNX2 is not set
611CONFIG_SPIDER_NET=m 733CONFIG_SPIDER_NET=y
612# CONFIG_QLA3XXX is not set 734# CONFIG_QLA3XXX is not set
613 735
614# 736#
@@ -618,6 +740,7 @@ CONFIG_SPIDER_NET=m
618# CONFIG_IXGB is not set 740# CONFIG_IXGB is not set
619# CONFIG_S2IO is not set 741# CONFIG_S2IO is not set
620# CONFIG_MYRI10GE is not set 742# CONFIG_MYRI10GE is not set
743# CONFIG_NETXEN_NIC is not set
621 744
622# 745#
623# Token Ring devices 746# Token Ring devices
@@ -637,6 +760,7 @@ CONFIG_SPIDER_NET=m
637# CONFIG_HIPPI is not set 760# CONFIG_HIPPI is not set
638# CONFIG_PPP is not set 761# CONFIG_PPP is not set
639# CONFIG_SLIP is not set 762# CONFIG_SLIP is not set
763# CONFIG_NET_FC is not set
640# CONFIG_SHAPER is not set 764# CONFIG_SHAPER is not set
641# CONFIG_NETCONSOLE is not set 765# CONFIG_NETCONSOLE is not set
642# CONFIG_NETPOLL is not set 766# CONFIG_NETPOLL is not set
@@ -703,6 +827,7 @@ CONFIG_SERIAL_NONSTANDARD=y
703# CONFIG_DIGIEPCA is not set 827# CONFIG_DIGIEPCA is not set
704# CONFIG_MOXA_INTELLIO is not set 828# CONFIG_MOXA_INTELLIO is not set
705# CONFIG_MOXA_SMARTIO is not set 829# CONFIG_MOXA_SMARTIO is not set
830# CONFIG_MOXA_SMARTIO_NEW is not set
706# CONFIG_ISI is not set 831# CONFIG_ISI is not set
707# CONFIG_SYNCLINK is not set 832# CONFIG_SYNCLINK is not set
708# CONFIG_SYNCLINKMP is not set 833# CONFIG_SYNCLINKMP is not set
@@ -729,6 +854,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
729CONFIG_SERIAL_CORE=y 854CONFIG_SERIAL_CORE=y
730CONFIG_SERIAL_CORE_CONSOLE=y 855CONFIG_SERIAL_CORE_CONSOLE=y
731# CONFIG_SERIAL_JSM is not set 856# CONFIG_SERIAL_JSM is not set
857CONFIG_SERIAL_OF_PLATFORM=y
732CONFIG_UNIX98_PTYS=y 858CONFIG_UNIX98_PTYS=y
733# CONFIG_LEGACY_PTYS is not set 859# CONFIG_LEGACY_PTYS is not set
734CONFIG_HVC_DRIVER=y 860CONFIG_HVC_DRIVER=y
@@ -756,16 +882,17 @@ CONFIG_WATCHDOG_RTAS=y
756# 882#
757# CONFIG_PCIPCWATCHDOG is not set 883# CONFIG_PCIPCWATCHDOG is not set
758# CONFIG_WDTPCI is not set 884# CONFIG_WDTPCI is not set
885
886#
887# USB-based Watchdog Cards
888#
889# CONFIG_USBPCWATCHDOG is not set
759# CONFIG_HW_RANDOM is not set 890# CONFIG_HW_RANDOM is not set
760CONFIG_GEN_RTC=y 891CONFIG_GEN_RTC=y
761# CONFIG_GEN_RTC_X is not set 892# CONFIG_GEN_RTC_X is not set
762# CONFIG_DTLK is not set 893# CONFIG_DTLK is not set
763# CONFIG_R3964 is not set 894# CONFIG_R3964 is not set
764# CONFIG_APPLICOM is not set 895# CONFIG_APPLICOM is not set
765
766#
767# Ftape, the floppy tape device driver
768#
769# CONFIG_AGP is not set 896# CONFIG_AGP is not set
770# CONFIG_DRM is not set 897# CONFIG_DRM is not set
771# CONFIG_RAW_DRIVER is not set 898# CONFIG_RAW_DRIVER is not set
@@ -855,12 +982,14 @@ CONFIG_I2C_ALGOBIT=y
855# Digital Video Broadcasting Devices 982# Digital Video Broadcasting Devices
856# 983#
857# CONFIG_DVB is not set 984# CONFIG_DVB is not set
985# CONFIG_USB_DABUSB is not set
858 986
859# 987#
860# Graphics support 988# Graphics support
861# 989#
862CONFIG_FIRMWARE_EDID=y 990CONFIG_FIRMWARE_EDID=y
863# CONFIG_FB is not set 991# CONFIG_FB is not set
992# CONFIG_FB_IBM_GXT4500 is not set
864 993
865# 994#
866# Console display driver support 995# Console display driver support
@@ -875,18 +1004,145 @@ CONFIG_DUMMY_CONSOLE=y
875# CONFIG_SOUND is not set 1004# CONFIG_SOUND is not set
876 1005
877# 1006#
1007# HID Devices
1008#
1009CONFIG_HID=m
1010
1011#
878# USB support 1012# USB support
879# 1013#
880CONFIG_USB_ARCH_HAS_HCD=y 1014CONFIG_USB_ARCH_HAS_HCD=y
881CONFIG_USB_ARCH_HAS_OHCI=y 1015CONFIG_USB_ARCH_HAS_OHCI=y
882CONFIG_USB_ARCH_HAS_EHCI=y 1016CONFIG_USB_ARCH_HAS_EHCI=y
883# CONFIG_USB is not set 1017CONFIG_USB=m
1018# CONFIG_USB_DEBUG is not set
1019
1020#
1021# Miscellaneous USB options
1022#
1023CONFIG_USB_DEVICEFS=y
1024# CONFIG_USB_BANDWIDTH is not set
1025# CONFIG_USB_DYNAMIC_MINORS is not set
1026# CONFIG_USB_MULTITHREAD_PROBE is not set
1027# CONFIG_USB_OTG is not set
1028
1029#
1030# USB Host Controller Drivers
1031#
1032CONFIG_USB_EHCI_HCD=m
1033# CONFIG_USB_EHCI_SPLIT_ISO is not set
1034# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1035# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1036# CONFIG_USB_ISP116X_HCD is not set
1037CONFIG_USB_OHCI_HCD=m
1038# CONFIG_USB_OHCI_BIG_ENDIAN is not set
1039CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1040# CONFIG_USB_UHCI_HCD is not set
1041# CONFIG_USB_SL811_HCD is not set
1042
1043#
1044# USB Device Class drivers
1045#
1046# CONFIG_USB_ACM is not set
1047# CONFIG_USB_PRINTER is not set
884 1048
885# 1049#
886# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1050# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
887# 1051#
888 1052
889# 1053#
1054# may also be needed; see USB_STORAGE Help for more information
1055#
1056CONFIG_USB_STORAGE=m
1057# CONFIG_USB_STORAGE_DEBUG is not set
1058# CONFIG_USB_STORAGE_DATAFAB is not set
1059# CONFIG_USB_STORAGE_FREECOM is not set
1060# CONFIG_USB_STORAGE_ISD200 is not set
1061# CONFIG_USB_STORAGE_DPCM is not set
1062# CONFIG_USB_STORAGE_USBAT is not set
1063# CONFIG_USB_STORAGE_SDDR09 is not set
1064# CONFIG_USB_STORAGE_SDDR55 is not set
1065# CONFIG_USB_STORAGE_JUMPSHOT is not set
1066# CONFIG_USB_STORAGE_ALAUDA is not set
1067# CONFIG_USB_STORAGE_KARMA is not set
1068# CONFIG_USB_LIBUSUAL is not set
1069
1070#
1071# USB Input Devices
1072#
1073# CONFIG_USB_HID is not set
1074
1075#
1076# USB HID Boot Protocol drivers
1077#
1078# CONFIG_USB_KBD is not set
1079# CONFIG_USB_MOUSE is not set
1080# CONFIG_USB_AIPTEK is not set
1081# CONFIG_USB_WACOM is not set
1082# CONFIG_USB_ACECAD is not set
1083# CONFIG_USB_KBTAB is not set
1084# CONFIG_USB_POWERMATE is not set
1085# CONFIG_USB_TOUCHSCREEN is not set
1086# CONFIG_USB_YEALINK is not set
1087# CONFIG_USB_XPAD is not set
1088# CONFIG_USB_ATI_REMOTE is not set
1089# CONFIG_USB_ATI_REMOTE2 is not set
1090# CONFIG_USB_KEYSPAN_REMOTE is not set
1091# CONFIG_USB_APPLETOUCH is not set
1092
1093#
1094# USB Imaging devices
1095#
1096# CONFIG_USB_MDC800 is not set
1097# CONFIG_USB_MICROTEK is not set
1098
1099#
1100# USB Network Adapters
1101#
1102# CONFIG_USB_CATC is not set
1103# CONFIG_USB_KAWETH is not set
1104# CONFIG_USB_PEGASUS is not set
1105# CONFIG_USB_RTL8150 is not set
1106# CONFIG_USB_USBNET_MII is not set
1107# CONFIG_USB_USBNET is not set
1108CONFIG_USB_MON=y
1109
1110#
1111# USB port drivers
1112#
1113
1114#
1115# USB Serial Converter support
1116#
1117# CONFIG_USB_SERIAL is not set
1118
1119#
1120# USB Miscellaneous drivers
1121#
1122# CONFIG_USB_EMI62 is not set
1123# CONFIG_USB_EMI26 is not set
1124# CONFIG_USB_ADUTUX is not set
1125# CONFIG_USB_AUERSWALD is not set
1126# CONFIG_USB_RIO500 is not set
1127# CONFIG_USB_LEGOTOWER is not set
1128# CONFIG_USB_LCD is not set
1129# CONFIG_USB_LED is not set
1130# CONFIG_USB_CYPRESS_CY7C63 is not set
1131# CONFIG_USB_CYTHERM is not set
1132# CONFIG_USB_PHIDGET is not set
1133# CONFIG_USB_IDMOUSE is not set
1134# CONFIG_USB_FTDI_ELAN is not set
1135# CONFIG_USB_APPLEDISPLAY is not set
1136# CONFIG_USB_SISUSBVGA is not set
1137# CONFIG_USB_LD is not set
1138# CONFIG_USB_TRANCEVIBRATOR is not set
1139# CONFIG_USB_TEST is not set
1140
1141#
1142# USB DSL modem support
1143#
1144
1145#
890# USB Gadget Support 1146# USB Gadget Support
891# 1147#
892# CONFIG_USB_GADGET is not set 1148# CONFIG_USB_GADGET is not set
@@ -912,7 +1168,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
912# 1168#
913# InfiniBand support 1169# InfiniBand support
914# 1170#
915CONFIG_INFINIBAND=y 1171CONFIG_INFINIBAND=m
916CONFIG_INFINIBAND_USER_MAD=m 1172CONFIG_INFINIBAND_USER_MAD=m
917CONFIG_INFINIBAND_USER_ACCESS=m 1173CONFIG_INFINIBAND_USER_ACCESS=m
918CONFIG_INFINIBAND_ADDR_TRANS=y 1174CONFIG_INFINIBAND_ADDR_TRANS=y
@@ -922,6 +1178,8 @@ CONFIG_INFINIBAND_MTHCA_DEBUG=y
922CONFIG_INFINIBAND_IPOIB=m 1178CONFIG_INFINIBAND_IPOIB=m
923CONFIG_INFINIBAND_IPOIB_DEBUG=y 1179CONFIG_INFINIBAND_IPOIB_DEBUG=y
924CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y 1180CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
1181# CONFIG_INFINIBAND_SRP is not set
1182# CONFIG_INFINIBAND_ISER is not set
925 1183
926# 1184#
927# EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 1185# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
@@ -946,6 +1204,10 @@ CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
946# 1204#
947 1205
948# 1206#
1207# Virtualization
1208#
1209
1210#
949# File systems 1211# File systems
950# 1212#
951CONFIG_EXT2_FS=y 1213CONFIG_EXT2_FS=y
@@ -1028,23 +1290,18 @@ CONFIG_RAMFS=y
1028# 1290#
1029# Network File Systems 1291# Network File Systems
1030# 1292#
1031CONFIG_NFS_FS=m 1293CONFIG_NFS_FS=y
1032CONFIG_NFS_V3=y 1294CONFIG_NFS_V3=y
1033CONFIG_NFS_V3_ACL=y 1295CONFIG_NFS_V3_ACL=y
1034# CONFIG_NFS_V4 is not set 1296# CONFIG_NFS_V4 is not set
1035# CONFIG_NFS_DIRECTIO is not set 1297# CONFIG_NFS_DIRECTIO is not set
1036CONFIG_NFSD=m 1298# CONFIG_NFSD is not set
1037CONFIG_NFSD_V2_ACL=y 1299CONFIG_ROOT_NFS=y
1038CONFIG_NFSD_V3=y 1300CONFIG_LOCKD=y
1039CONFIG_NFSD_V3_ACL=y
1040# CONFIG_NFSD_V4 is not set
1041CONFIG_NFSD_TCP=y
1042CONFIG_LOCKD=m
1043CONFIG_LOCKD_V4=y 1301CONFIG_LOCKD_V4=y
1044CONFIG_EXPORTFS=m 1302CONFIG_NFS_ACL_SUPPORT=y
1045CONFIG_NFS_ACL_SUPPORT=m
1046CONFIG_NFS_COMMON=y 1303CONFIG_NFS_COMMON=y
1047CONFIG_SUNRPC=m 1304CONFIG_SUNRPC=y
1048# CONFIG_RPCSEC_GSS_KRB5 is not set 1305# CONFIG_RPCSEC_GSS_KRB5 is not set
1049# CONFIG_RPCSEC_GSS_SPKM3 is not set 1306# CONFIG_RPCSEC_GSS_SPKM3 is not set
1050# CONFIG_SMB_FS is not set 1307# CONFIG_SMB_FS is not set
@@ -1120,8 +1377,14 @@ CONFIG_NLS_ISO8859_15=m
1120# CONFIG_NLS_UTF8 is not set 1377# CONFIG_NLS_UTF8 is not set
1121 1378
1122# 1379#
1380# Distributed Lock Manager
1381#
1382# CONFIG_DLM is not set
1383
1384#
1123# Library routines 1385# Library routines
1124# 1386#
1387CONFIG_BITREVERSE=y
1125# CONFIG_CRC_CCITT is not set 1388# CONFIG_CRC_CCITT is not set
1126# CONFIG_CRC16 is not set 1389# CONFIG_CRC16 is not set
1127CONFIG_CRC32=y 1390CONFIG_CRC32=y
@@ -1130,7 +1393,10 @@ CONFIG_ZLIB_INFLATE=m
1130CONFIG_ZLIB_DEFLATE=m 1393CONFIG_ZLIB_DEFLATE=m
1131CONFIG_TEXTSEARCH=y 1394CONFIG_TEXTSEARCH=y
1132CONFIG_TEXTSEARCH_KMP=m 1395CONFIG_TEXTSEARCH_KMP=m
1396CONFIG_TEXTSEARCH_BM=m
1397CONFIG_TEXTSEARCH_FSM=m
1133CONFIG_PLIST=y 1398CONFIG_PLIST=y
1399CONFIG_IOMAP_COPY=y
1134 1400
1135# 1401#
1136# Instrumentation Support 1402# Instrumentation Support
@@ -1146,6 +1412,8 @@ CONFIG_OPROFILE=y
1146# CONFIG_ENABLE_MUST_CHECK is not set 1412# CONFIG_ENABLE_MUST_CHECK is not set
1147CONFIG_MAGIC_SYSRQ=y 1413CONFIG_MAGIC_SYSRQ=y
1148# CONFIG_UNUSED_SYMBOLS is not set 1414# CONFIG_UNUSED_SYMBOLS is not set
1415CONFIG_DEBUG_FS=y
1416# CONFIG_HEADERS_CHECK is not set
1149CONFIG_DEBUG_KERNEL=y 1417CONFIG_DEBUG_KERNEL=y
1150CONFIG_LOG_BUF_SHIFT=15 1418CONFIG_LOG_BUF_SHIFT=15
1151CONFIG_DETECT_SOFTLOCKUP=y 1419CONFIG_DETECT_SOFTLOCKUP=y
@@ -1159,12 +1427,11 @@ CONFIG_DEBUG_MUTEXES=y
1159CONFIG_DEBUG_SPINLOCK_SLEEP=y 1427CONFIG_DEBUG_SPINLOCK_SLEEP=y
1160# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1428# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1161# CONFIG_DEBUG_KOBJECT is not set 1429# CONFIG_DEBUG_KOBJECT is not set
1430CONFIG_DEBUG_BUGVERBOSE=y
1162# CONFIG_DEBUG_INFO is not set 1431# CONFIG_DEBUG_INFO is not set
1163CONFIG_DEBUG_FS=y
1164# CONFIG_DEBUG_VM is not set 1432# CONFIG_DEBUG_VM is not set
1165# CONFIG_DEBUG_LIST is not set 1433# CONFIG_DEBUG_LIST is not set
1166# CONFIG_FORCED_INLINING is not set 1434# CONFIG_FORCED_INLINING is not set
1167# CONFIG_HEADERS_CHECK is not set
1168# CONFIG_RCU_TORTURE_TEST is not set 1435# CONFIG_RCU_TORTURE_TEST is not set
1169# CONFIG_DEBUG_STACKOVERFLOW is not set 1436# CONFIG_DEBUG_STACKOVERFLOW is not set
1170# CONFIG_DEBUG_STACK_USAGE is not set 1437# CONFIG_DEBUG_STACK_USAGE is not set
@@ -1191,6 +1458,7 @@ CONFIG_CRYPTO_BLKCIPHER=m
1191CONFIG_CRYPTO_HASH=y 1458CONFIG_CRYPTO_HASH=y
1192CONFIG_CRYPTO_MANAGER=y 1459CONFIG_CRYPTO_MANAGER=y
1193CONFIG_CRYPTO_HMAC=y 1460CONFIG_CRYPTO_HMAC=y
1461# CONFIG_CRYPTO_XCBC is not set
1194# CONFIG_CRYPTO_NULL is not set 1462# CONFIG_CRYPTO_NULL is not set
1195# CONFIG_CRYPTO_MD4 is not set 1463# CONFIG_CRYPTO_MD4 is not set
1196CONFIG_CRYPTO_MD5=m 1464CONFIG_CRYPTO_MD5=m
@@ -1199,8 +1467,10 @@ CONFIG_CRYPTO_SHA1=m
1199# CONFIG_CRYPTO_SHA512 is not set 1467# CONFIG_CRYPTO_SHA512 is not set
1200# CONFIG_CRYPTO_WP512 is not set 1468# CONFIG_CRYPTO_WP512 is not set
1201# CONFIG_CRYPTO_TGR192 is not set 1469# CONFIG_CRYPTO_TGR192 is not set
1470# CONFIG_CRYPTO_GF128MUL is not set
1202CONFIG_CRYPTO_ECB=m 1471CONFIG_CRYPTO_ECB=m
1203CONFIG_CRYPTO_CBC=m 1472CONFIG_CRYPTO_CBC=m
1473# CONFIG_CRYPTO_LRW is not set
1204CONFIG_CRYPTO_DES=m 1474CONFIG_CRYPTO_DES=m
1205# CONFIG_CRYPTO_BLOWFISH is not set 1475# CONFIG_CRYPTO_BLOWFISH is not set
1206# CONFIG_CRYPTO_TWOFISH is not set 1476# CONFIG_CRYPTO_TWOFISH is not set
diff --git a/arch/powerpc/kernel/of_platform.c b/arch/powerpc/kernel/of_platform.c
index 3002ea3a61a2..b7345176b399 100644
--- a/arch/powerpc/kernel/of_platform.c
+++ b/arch/powerpc/kernel/of_platform.c
@@ -50,6 +50,7 @@ static struct of_device_id of_default_bus_ids[] = {
50 { .type = "plb5", }, 50 { .type = "plb5", },
51 { .type = "plb4", }, 51 { .type = "plb4", },
52 { .type = "opb", }, 52 { .type = "opb", },
53 { .type = "ebc", },
53 {}, 54 {},
54}; 55};
55 56
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index a6b7692c7269..73c59ec49120 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -360,6 +360,7 @@ struct pci_dev *of_create_pci_dev(struct device_node *node,
360 DBG(" class: 0x%x\n", dev->class); 360 DBG(" class: 0x%x\n", dev->class);
361 361
362 dev->current_state = 4; /* unknown power state */ 362 dev->current_state = 4; /* unknown power state */
363 dev->error_state = pci_channel_io_normal;
363 364
364 if (!strcmp(type, "pci") || !strcmp(type, "pciex")) { 365 if (!strcmp(type, "pci") || !strcmp(type, "pciex")) {
365 /* a PCI-PCI bridge */ 366 /* a PCI-PCI bridge */
diff --git a/arch/powerpc/kernel/prom_parse.c b/arch/powerpc/kernel/prom_parse.c
index 0dfbe1cd28eb..12c51e4ad2b4 100644
--- a/arch/powerpc/kernel/prom_parse.c
+++ b/arch/powerpc/kernel/prom_parse.c
@@ -920,9 +920,20 @@ static int of_irq_map_oldworld(struct device_node *device, int index,
920 920
921 /* 921 /*
922 * Old machines just have a list of interrupt numbers 922 * Old machines just have a list of interrupt numbers
923 * and no interrupt-controller nodes. 923 * and no interrupt-controller nodes. We also have dodgy
924 * cases where the APPL,interrupts property is completely
925 * missing behind pci-pci bridges and we have to get it
926 * from the parent (the bridge itself, as apple just wired
927 * everything together on these)
924 */ 928 */
925 ints = get_property(device, "AAPL,interrupts", &intlen); 929 while (device) {
930 ints = get_property(device, "AAPL,interrupts", &intlen);
931 if (ints != NULL)
932 break;
933 device = device->parent;
934 if (device && strcmp(device->type, "pci") != 0)
935 break;
936 }
926 if (ints == NULL) 937 if (ints == NULL)
927 return -EINVAL; 938 return -EINVAL;
928 intlen /= sizeof(u32); 939 intlen /= sizeof(u32);
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
index e4ebe1a6228e..6b405a3f43f9 100644
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
@@ -835,11 +835,21 @@ long sys_swapcontext(struct ucontext __user *old_ctx,
835 return -EINVAL; 835 return -EINVAL;
836 836
837 if (old_ctx != NULL) { 837 if (old_ctx != NULL) {
838 struct mcontext __user *mctx;
839
840 /*
841 * old_ctx might not be 16-byte aligned, in which
842 * case old_ctx->uc_mcontext won't be either.
843 * Because we have the old_ctx->uc_pad2 field
844 * before old_ctx->uc_mcontext, we need to round down
845 * from &old_ctx->uc_mcontext to a 16-byte boundary.
846 */
847 mctx = (struct mcontext __user *)
848 ((unsigned long) &old_ctx->uc_mcontext & ~0xfUL);
838 if (!access_ok(VERIFY_WRITE, old_ctx, sizeof(*old_ctx)) 849 if (!access_ok(VERIFY_WRITE, old_ctx, sizeof(*old_ctx))
839 || save_user_regs(regs, &old_ctx->uc_mcontext, 0) 850 || save_user_regs(regs, mctx, 0)
840 || put_sigset_t(&old_ctx->uc_sigmask, &current->blocked) 851 || put_sigset_t(&old_ctx->uc_sigmask, &current->blocked)
841 || __put_user(to_user_ptr(&old_ctx->uc_mcontext), 852 || __put_user(to_user_ptr(mctx), &old_ctx->uc_regs))
842 &old_ctx->uc_regs))
843 return -EFAULT; 853 return -EFAULT;
844 } 854 }
845 if (new_ctx == NULL) 855 if (new_ctx == NULL)
diff --git a/arch/powerpc/platforms/Makefile b/arch/powerpc/platforms/Makefile
index 44d95eaf22e6..507d1b98f270 100644
--- a/arch/powerpc/platforms/Makefile
+++ b/arch/powerpc/platforms/Makefile
@@ -5,9 +5,9 @@ ifeq ($(CONFIG_PPC64),y)
5obj-$(CONFIG_PPC_PMAC) += powermac/ 5obj-$(CONFIG_PPC_PMAC) += powermac/
6endif 6endif
7endif 7endif
8obj-$(CONFIG_PPC_MPC52xx) += 52xx/
8obj-$(CONFIG_PPC_CHRP) += chrp/ 9obj-$(CONFIG_PPC_CHRP) += chrp/
9obj-$(CONFIG_4xx) += 4xx/ 10obj-$(CONFIG_4xx) += 4xx/
10obj-$(CONFIG_PPC_MPC52xx) += 52xx/
11obj-$(CONFIG_PPC_83xx) += 83xx/ 11obj-$(CONFIG_PPC_83xx) += 83xx/
12obj-$(CONFIG_PPC_85xx) += 85xx/ 12obj-$(CONFIG_PPC_85xx) += 85xx/
13obj-$(CONFIG_PPC_86xx) += 86xx/ 13obj-$(CONFIG_PPC_86xx) += 86xx/
diff --git a/arch/powerpc/platforms/cell/io-workarounds.c b/arch/powerpc/platforms/cell/io-workarounds.c
index 580d42595912..7c73128305ec 100644
--- a/arch/powerpc/platforms/cell/io-workarounds.c
+++ b/arch/powerpc/platforms/cell/io-workarounds.c
@@ -37,7 +37,7 @@
37 */ 37 */
38#define SPIDER_DISABLE_PREFETCH 38#define SPIDER_DISABLE_PREFETCH
39 39
40#define MAX_SPIDERS 2 40#define MAX_SPIDERS 3
41 41
42static struct spider_pci_bus { 42static struct spider_pci_bus {
43 void __iomem *regs; 43 void __iomem *regs;
diff --git a/arch/powerpc/platforms/cell/spu_priv1_mmio.c b/arch/powerpc/platforms/cell/spu_priv1_mmio.c
index a5de0430c56d..910a926b61a2 100644
--- a/arch/powerpc/platforms/cell/spu_priv1_mmio.c
+++ b/arch/powerpc/platforms/cell/spu_priv1_mmio.c
@@ -37,8 +37,9 @@
37#include "interrupt.h" 37#include "interrupt.h"
38#include "spu_priv1_mmio.h" 38#include "spu_priv1_mmio.h"
39 39
40static DEFINE_MUTEX(add_spumem_mutex);
41
40struct spu_pdata { 42struct spu_pdata {
41 int nid;
42 struct device_node *devnode; 43 struct device_node *devnode;
43 struct spu_priv1 __iomem *priv1; 44 struct spu_priv1 __iomem *priv1;
44}; 45};
@@ -56,20 +57,9 @@ struct device_node *spu_devnode(struct spu *spu)
56 57
57EXPORT_SYMBOL_GPL(spu_devnode); 58EXPORT_SYMBOL_GPL(spu_devnode);
58 59
59static int __init find_spu_node_id(struct device_node *spe)
60{
61 const unsigned int *id;
62 struct device_node *cpu;
63 cpu = spe->parent->parent;
64 id = get_property(cpu, "node-id", NULL);
65 return id ? *id : 0;
66}
67
68static int __init cell_spuprop_present(struct spu *spu, struct device_node *spe, 60static int __init cell_spuprop_present(struct spu *spu, struct device_node *spe,
69 const char *prop) 61 const char *prop)
70{ 62{
71 static DEFINE_MUTEX(add_spumem_mutex);
72
73 const struct address_prop { 63 const struct address_prop {
74 unsigned long address; 64 unsigned long address;
75 unsigned int len; 65 unsigned int len;
@@ -87,7 +77,7 @@ static int __init cell_spuprop_present(struct spu *spu, struct device_node *spe,
87 start_pfn = p->address >> PAGE_SHIFT; 77 start_pfn = p->address >> PAGE_SHIFT;
88 nr_pages = ((unsigned long)p->len + PAGE_SIZE - 1) >> PAGE_SHIFT; 78 nr_pages = ((unsigned long)p->len + PAGE_SIZE - 1) >> PAGE_SHIFT;
89 79
90 pgdata = NODE_DATA(spu_get_pdata(spu)->nid); 80 pgdata = NODE_DATA(spu->node);
91 zone = pgdata->node_zones; 81 zone = pgdata->node_zones;
92 82
93 /* XXX rethink locking here */ 83 /* XXX rethink locking here */
@@ -140,6 +130,7 @@ static int __init spu_map_interrupts_old(struct spu *spu,
140{ 130{
141 unsigned int isrc; 131 unsigned int isrc;
142 const u32 *tmp; 132 const u32 *tmp;
133 int nid;
143 134
144 /* Get the interrupt source unit from the device-tree */ 135 /* Get the interrupt source unit from the device-tree */
145 tmp = get_property(np, "isrc", NULL); 136 tmp = get_property(np, "isrc", NULL);
@@ -147,8 +138,15 @@ static int __init spu_map_interrupts_old(struct spu *spu,
147 return -ENODEV; 138 return -ENODEV;
148 isrc = tmp[0]; 139 isrc = tmp[0];
149 140
141 tmp = get_property(np->parent->parent, "node-id", NULL);
142 if (!tmp) {
143 printk(KERN_WARNING "%s: can't find node-id\n", __FUNCTION__);
144 nid = spu->node;
145 } else
146 nid = tmp[0];
147
150 /* Add the node number */ 148 /* Add the node number */
151 isrc |= spu->node << IIC_IRQ_NODE_SHIFT; 149 isrc |= nid << IIC_IRQ_NODE_SHIFT;
152 150
153 /* Now map interrupts of all 3 classes */ 151 /* Now map interrupts of all 3 classes */
154 spu->irqs[0] = irq_create_mapping(NULL, IIC_IRQ_CLASS_0 | isrc); 152 spu->irqs[0] = irq_create_mapping(NULL, IIC_IRQ_CLASS_0 | isrc);
@@ -237,70 +235,88 @@ err:
237 return ret; 235 return ret;
238} 236}
239 237
240static int spu_map_resource(struct device_node *node, int nr, 238static int spu_map_resource(struct spu *spu, int nr,
241 void __iomem** virt, unsigned long *phys) 239 void __iomem** virt, unsigned long *phys)
242{ 240{
241 struct device_node *np = spu_get_pdata(spu)->devnode;
242 unsigned long start_pfn, nr_pages;
243 struct pglist_data *pgdata;
244 struct zone *zone;
243 struct resource resource = { }; 245 struct resource resource = { };
246 unsigned long len;
244 int ret; 247 int ret;
245 248
246 ret = of_address_to_resource(node, nr, &resource); 249 ret = of_address_to_resource(np, nr, &resource);
247 if (ret) 250 if (ret)
248 goto out; 251 goto out;
249 252
250 if (phys) 253 if (phys)
251 *phys = resource.start; 254 *phys = resource.start;
252 *virt = ioremap(resource.start, resource.end - resource.start); 255 len = resource.end - resource.start + 1;
256 *virt = ioremap(resource.start, len);
253 if (!*virt) 257 if (!*virt)
254 ret = -EINVAL; 258 ret = -EINVAL;
255 259
260 start_pfn = resource.start >> PAGE_SHIFT;
261 nr_pages = (len + PAGE_SIZE - 1) >> PAGE_SHIFT;
262
263 pgdata = NODE_DATA(spu->node);
264 zone = pgdata->node_zones;
265
266 /* XXX rethink locking here */
267 mutex_lock(&add_spumem_mutex);
268 ret = __add_pages(zone, start_pfn, nr_pages);
269 mutex_unlock(&add_spumem_mutex);
270
256out: 271out:
257 return ret; 272 return ret;
258} 273}
259 274
260static int __init spu_map_device(struct spu *spu, struct device_node *node) 275static int __init spu_map_device(struct spu *spu)
261{ 276{
277 struct device_node *np = spu_get_pdata(spu)->devnode;
262 int ret = -ENODEV; 278 int ret = -ENODEV;
263 spu->name = get_property(node, "name", NULL); 279
280 spu->name = get_property(np, "name", NULL);
264 if (!spu->name) 281 if (!spu->name)
265 goto out; 282 goto out;
266 283
267 ret = spu_map_resource(node, 0, (void __iomem**)&spu->local_store, 284 ret = spu_map_resource(spu, 0, (void __iomem**)&spu->local_store,
268 &spu->local_store_phys); 285 &spu->local_store_phys);
269 if (ret) { 286 if (ret) {
270 pr_debug("spu_new: failed to map %s resource 0\n", 287 pr_debug("spu_new: failed to map %s resource 0\n",
271 node->full_name); 288 np->full_name);
272 goto out; 289 goto out;
273 } 290 }
274 ret = spu_map_resource(node, 1, (void __iomem**)&spu->problem, 291 ret = spu_map_resource(spu, 1, (void __iomem**)&spu->problem,
275 &spu->problem_phys); 292 &spu->problem_phys);
276 if (ret) { 293 if (ret) {
277 pr_debug("spu_new: failed to map %s resource 1\n", 294 pr_debug("spu_new: failed to map %s resource 1\n",
278 node->full_name); 295 np->full_name);
279 goto out_unmap; 296 goto out_unmap;
280 } 297 }
281 ret = spu_map_resource(node, 2, (void __iomem**)&spu->priv2, 298 ret = spu_map_resource(spu, 2, (void __iomem**)&spu->priv2, NULL);
282 NULL);
283 if (ret) { 299 if (ret) {
284 pr_debug("spu_new: failed to map %s resource 2\n", 300 pr_debug("spu_new: failed to map %s resource 2\n",
285 node->full_name); 301 np->full_name);
286 goto out_unmap; 302 goto out_unmap;
287 } 303 }
288 if (!firmware_has_feature(FW_FEATURE_LPAR)) 304 if (!firmware_has_feature(FW_FEATURE_LPAR))
289 ret = spu_map_resource(node, 3, 305 ret = spu_map_resource(spu, 3,
290 (void __iomem**)&spu_get_pdata(spu)->priv1, NULL); 306 (void __iomem**)&spu_get_pdata(spu)->priv1, NULL);
291 if (ret) { 307 if (ret) {
292 pr_debug("spu_new: failed to map %s resource 3\n", 308 pr_debug("spu_new: failed to map %s resource 3\n",
293 node->full_name); 309 np->full_name);
294 goto out_unmap; 310 goto out_unmap;
295 } 311 }
296 pr_debug("spu_new: %s maps:\n", node->full_name); 312 pr_debug("spu_new: %s maps:\n", np->full_name);
297 pr_debug(" local store : 0x%016lx -> 0x%p\n", 313 pr_debug(" local store : 0x%016lx -> 0x%p\n",
298 spu->local_store_phys, spu->local_store); 314 spu->local_store_phys, spu->local_store);
299 pr_debug(" problem state : 0x%016lx -> 0x%p\n", 315 pr_debug(" problem state : 0x%016lx -> 0x%p\n",
300 spu->problem_phys, spu->problem); 316 spu->problem_phys, spu->problem);
301 pr_debug(" priv2 : 0x%p\n", spu->priv2); 317 pr_debug(" priv2 : 0x%p\n", spu->priv2);
302 pr_debug(" priv1 : 0x%p\n", 318 pr_debug(" priv1 : 0x%p\n",
303 spu_get_pdata(spu)->priv1); 319 spu_get_pdata(spu)->priv1);
304 320
305 return 0; 321 return 0;
306 322
@@ -340,8 +356,9 @@ static int __init of_create_spu(struct spu *spu, void *data)
340 ret = -ENOMEM; 356 ret = -ENOMEM;
341 goto out; 357 goto out;
342 } 358 }
359 spu_get_pdata(spu)->devnode = of_node_get(spe);
343 360
344 spu->node = find_spu_node_id(spe); 361 spu->node = of_node_to_nid(spe);
345 if (spu->node >= MAX_NUMNODES) { 362 if (spu->node >= MAX_NUMNODES) {
346 printk(KERN_WARNING "SPE %s on node %d ignored," 363 printk(KERN_WARNING "SPE %s on node %d ignored,"
347 " node number too big\n", spe->full_name, spu->node); 364 " node number too big\n", spe->full_name, spu->node);
@@ -350,11 +367,7 @@ static int __init of_create_spu(struct spu *spu, void *data)
350 goto out_free; 367 goto out_free;
351 } 368 }
352 369
353 spu_get_pdata(spu)->nid = of_node_to_nid(spe); 370 ret = spu_map_device(spu);
354 if (spu_get_pdata(spu)->nid == -1)
355 spu_get_pdata(spu)->nid = 0;
356
357 ret = spu_map_device(spu, spe);
358 /* try old method */ 371 /* try old method */
359 if (ret) 372 if (ret)
360 ret = spu_map_device_old(spu, spe); 373 ret = spu_map_device_old(spu, spe);
@@ -367,8 +380,6 @@ static int __init of_create_spu(struct spu *spu, void *data)
367 if (ret) 380 if (ret)
368 goto out_unmap; 381 goto out_unmap;
369 382
370 spu_get_pdata(spu)->devnode = of_node_get(spe);
371
372 pr_debug(KERN_DEBUG "Using SPE %s %p %p %p %p %d\n", spu->name, 383 pr_debug(KERN_DEBUG "Using SPE %s %p %p %p %p %d\n", spu->name,
373 spu->local_store, spu->problem, spu_get_pdata(spu)->priv1, 384 spu->local_store, spu->problem, spu_get_pdata(spu)->priv1,
374 spu->priv2, spu->number); 385 spu->priv2, spu->number);
diff --git a/arch/powerpc/platforms/iseries/Kconfig b/arch/powerpc/platforms/iseries/Kconfig
index 887b68804e6d..54e6b3b6f261 100644
--- a/arch/powerpc/platforms/iseries/Kconfig
+++ b/arch/powerpc/platforms/iseries/Kconfig
@@ -31,5 +31,5 @@ endmenu
31 31
32config VIOPATH 32config VIOPATH
33 bool 33 bool
34 depends on VIOCONS || VIODASD || VIOCD || VIOTAPE || VETH 34 depends on VIOCONS || VIODASD || VIOCD || VIOTAPE || ISERIES_VETH
35 default y 35 default y
diff --git a/drivers/block/viodasd.c b/drivers/block/viodasd.c
index e19ba4ebcd4e..68592c336011 100644
--- a/drivers/block/viodasd.c
+++ b/drivers/block/viodasd.c
@@ -49,6 +49,7 @@
49#include <asm/iseries/hv_lp_event.h> 49#include <asm/iseries/hv_lp_event.h>
50#include <asm/iseries/hv_lp_config.h> 50#include <asm/iseries/hv_lp_config.h>
51#include <asm/iseries/vio.h> 51#include <asm/iseries/vio.h>
52#include <asm/firmware.h>
52 53
53MODULE_DESCRIPTION("iSeries Virtual DASD"); 54MODULE_DESCRIPTION("iSeries Virtual DASD");
54MODULE_AUTHOR("Dave Boutcher"); 55MODULE_AUTHOR("Dave Boutcher");
@@ -769,6 +770,11 @@ static int __init viodasd_init(void)
769{ 770{
770 int rc; 771 int rc;
771 772
773 if (!firmware_has_feature(FW_FEATURE_ISERIES)) {
774 rc = -ENODEV;
775 goto early_fail;
776 }
777
772 /* Try to open to our host lp */ 778 /* Try to open to our host lp */
773 if (viopath_hostLp == HvLpIndexInvalid) 779 if (viopath_hostLp == HvLpIndexInvalid)
774 vio_set_hostlp(); 780 vio_set_hostlp();
diff --git a/drivers/cdrom/viocd.c b/drivers/cdrom/viocd.c
index 54ca931e19ea..93fbf84dcc4a 100644
--- a/drivers/cdrom/viocd.c
+++ b/drivers/cdrom/viocd.c
@@ -47,6 +47,7 @@
47#include <asm/iseries/hv_types.h> 47#include <asm/iseries/hv_types.h>
48#include <asm/iseries/hv_lp_event.h> 48#include <asm/iseries/hv_lp_event.h>
49#include <asm/iseries/vio.h> 49#include <asm/iseries/vio.h>
50#include <asm/firmware.h>
50 51
51#define VIOCD_DEVICE "iseries/vcd" 52#define VIOCD_DEVICE "iseries/vcd"
52 53
@@ -748,6 +749,9 @@ static int __init viocd_init(void)
748 struct proc_dir_entry *e; 749 struct proc_dir_entry *e;
749 int ret = 0; 750 int ret = 0;
750 751
752 if (!firmware_has_feature(FW_FEATURE_ISERIES))
753 return -ENODEV;
754
751 if (viopath_hostLp == HvLpIndexInvalid) { 755 if (viopath_hostLp == HvLpIndexInvalid) {
752 vio_set_hostlp(); 756 vio_set_hostlp();
753 /* If we don't have a host, bail out */ 757 /* If we don't have a host, bail out */
diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h
index 0bbb04f2390f..6dcdceb81203 100644
--- a/drivers/char/drm/drmP.h
+++ b/drivers/char/drm/drmP.h
@@ -561,8 +561,7 @@ struct drm_driver {
561 int (*context_dtor) (struct drm_device * dev, int context); 561 int (*context_dtor) (struct drm_device * dev, int context);
562 int (*kernel_context_switch) (struct drm_device * dev, int old, 562 int (*kernel_context_switch) (struct drm_device * dev, int old,
563 int new); 563 int new);
564 void (*kernel_context_switch_unlock) (struct drm_device * dev, 564 void (*kernel_context_switch_unlock) (struct drm_device * dev);
565 drm_lock_t *lock);
566 int (*vblank_wait) (struct drm_device * dev, unsigned int *sequence); 565 int (*vblank_wait) (struct drm_device * dev, unsigned int *sequence);
567 int (*vblank_wait2) (struct drm_device * dev, unsigned int *sequence); 566 int (*vblank_wait2) (struct drm_device * dev, unsigned int *sequence);
568 int (*dri_library_name) (struct drm_device *dev, char *buf); 567 int (*dri_library_name) (struct drm_device *dev, char *buf);
@@ -1143,9 +1142,5 @@ extern void *drm_calloc(size_t nmemb, size_t size, int area);
1143extern unsigned long drm_core_get_map_ofs(drm_map_t * map); 1142extern unsigned long drm_core_get_map_ofs(drm_map_t * map);
1144extern unsigned long drm_core_get_reg_ofs(struct drm_device *dev); 1143extern unsigned long drm_core_get_reg_ofs(struct drm_device *dev);
1145 1144
1146#ifndef pci_pretty_name
1147#define pci_pretty_name(dev) ""
1148#endif
1149
1150#endif /* __KERNEL__ */ 1145#endif /* __KERNEL__ */
1151#endif 1146#endif
diff --git a/drivers/char/drm/drm_lock.c b/drivers/char/drm/drm_lock.c
index 116ed0f2ac09..e9993ba461a2 100644
--- a/drivers/char/drm/drm_lock.c
+++ b/drivers/char/drm/drm_lock.c
@@ -182,7 +182,7 @@ int drm_unlock(struct inode *inode, struct file *filp,
182 * modules but is required by the Sparc driver. 182 * modules but is required by the Sparc driver.
183 */ 183 */
184 if (dev->driver->kernel_context_switch_unlock) 184 if (dev->driver->kernel_context_switch_unlock)
185 dev->driver->kernel_context_switch_unlock(dev, &lock); 185 dev->driver->kernel_context_switch_unlock(dev);
186 else { 186 else {
187 drm_lock_transfer(dev, &dev->lock.hw_lock->lock, 187 drm_lock_transfer(dev, &dev->lock.hw_lock->lock,
188 DRM_KERNEL_CONTEXT); 188 DRM_KERNEL_CONTEXT);
diff --git a/drivers/char/drm/drm_stub.c b/drivers/char/drm/drm_stub.c
index 5fd6dc0870cf..120d10256feb 100644
--- a/drivers/char/drm/drm_stub.c
+++ b/drivers/char/drm/drm_stub.c
@@ -211,14 +211,16 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
211 if (!dev) 211 if (!dev)
212 return -ENOMEM; 212 return -ENOMEM;
213 213
214 pci_enable_device(pdev); 214 ret = pci_enable_device(pdev);
215 if (ret)
216 goto err_g1;
215 217
216 if ((ret = drm_fill_in_dev(dev, pdev, ent, driver))) { 218 if ((ret = drm_fill_in_dev(dev, pdev, ent, driver))) {
217 printk(KERN_ERR "DRM: Fill_in_dev failed.\n"); 219 printk(KERN_ERR "DRM: Fill_in_dev failed.\n");
218 goto err_g1; 220 goto err_g2;
219 } 221 }
220 if ((ret = drm_get_head(dev, &dev->primary))) 222 if ((ret = drm_get_head(dev, &dev->primary)))
221 goto err_g1; 223 goto err_g2;
222 224
223 DRM_INFO("Initialized %s %d.%d.%d %s on minor %d\n", 225 DRM_INFO("Initialized %s %d.%d.%d %s on minor %d\n",
224 driver->name, driver->major, driver->minor, driver->patchlevel, 226 driver->name, driver->major, driver->minor, driver->patchlevel,
@@ -226,7 +228,9 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
226 228
227 return 0; 229 return 0;
228 230
229 err_g1: 231err_g2:
232 pci_disable_device(pdev);
233err_g1:
230 drm_free(dev, sizeof(*dev), DRM_MEM_STUB); 234 drm_free(dev, sizeof(*dev), DRM_MEM_STUB);
231 return ret; 235 return ret;
232} 236}
diff --git a/drivers/char/drm/drm_sysfs.c b/drivers/char/drm/drm_sysfs.c
index ba4b8de83cf0..cc8e2ebe128c 100644
--- a/drivers/char/drm/drm_sysfs.c
+++ b/drivers/char/drm/drm_sysfs.c
@@ -45,8 +45,8 @@ struct class *drm_sysfs_create(struct module *owner, char *name)
45 int err; 45 int err;
46 46
47 class = class_create(owner, name); 47 class = class_create(owner, name);
48 if (!class) { 48 if (IS_ERR(class)) {
49 err = -ENOMEM; 49 err = PTR_ERR(class);
50 goto err_out; 50 goto err_out;
51 } 51 }
52 52
@@ -113,8 +113,8 @@ struct class_device *drm_sysfs_device_add(struct class *cs, drm_head_t *head)
113 MKDEV(DRM_MAJOR, head->minor), 113 MKDEV(DRM_MAJOR, head->minor),
114 &(head->dev->pdev)->dev, 114 &(head->dev->pdev)->dev,
115 "card%d", head->minor); 115 "card%d", head->minor);
116 if (!class_dev) { 116 if (IS_ERR(class_dev)) {
117 err = -ENOMEM; 117 err = PTR_ERR(class_dev);
118 goto err_out; 118 goto err_out;
119 } 119 }
120 120
diff --git a/drivers/char/drm/i915_irq.c b/drivers/char/drm/i915_irq.c
index e5463b111fc0..e2c4b3a41b1e 100644
--- a/drivers/char/drm/i915_irq.c
+++ b/drivers/char/drm/i915_irq.c
@@ -46,88 +46,167 @@ static void i915_vblank_tasklet(drm_device_t *dev)
46{ 46{
47 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; 47 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
48 unsigned long irqflags; 48 unsigned long irqflags;
49 struct list_head *list, *tmp; 49 struct list_head *list, *tmp, hits, *hit;
50 int nhits, nrects, slice[2], upper[2], lower[2], i;
51 unsigned counter[2] = { atomic_read(&dev->vbl_received),
52 atomic_read(&dev->vbl_received2) };
53 drm_drawable_info_t *drw;
54 drm_i915_sarea_t *sarea_priv = dev_priv->sarea_priv;
55 u32 cpp = dev_priv->cpp;
56 u32 cmd = (cpp == 4) ? (XY_SRC_COPY_BLT_CMD |
57 XY_SRC_COPY_BLT_WRITE_ALPHA |
58 XY_SRC_COPY_BLT_WRITE_RGB)
59 : XY_SRC_COPY_BLT_CMD;
60 u32 pitchropcpp = (sarea_priv->pitch * cpp) | (0xcc << 16) |
61 (cpp << 23) | (1 << 24);
62 RING_LOCALS;
50 63
51 DRM_DEBUG("\n"); 64 DRM_DEBUG("\n");
52 65
66 INIT_LIST_HEAD(&hits);
67
68 nhits = nrects = 0;
69
53 spin_lock_irqsave(&dev_priv->swaps_lock, irqflags); 70 spin_lock_irqsave(&dev_priv->swaps_lock, irqflags);
54 71
72 /* Find buffer swaps scheduled for this vertical blank */
55 list_for_each_safe(list, tmp, &dev_priv->vbl_swaps.head) { 73 list_for_each_safe(list, tmp, &dev_priv->vbl_swaps.head) {
56 drm_i915_vbl_swap_t *vbl_swap = 74 drm_i915_vbl_swap_t *vbl_swap =
57 list_entry(list, drm_i915_vbl_swap_t, head); 75 list_entry(list, drm_i915_vbl_swap_t, head);
58 atomic_t *counter = vbl_swap->pipe ? &dev->vbl_received2 :
59 &dev->vbl_received;
60
61 if ((atomic_read(counter) - vbl_swap->sequence) <= (1<<23)) {
62 drm_drawable_info_t *drw;
63
64 spin_unlock(&dev_priv->swaps_lock);
65
66 spin_lock(&dev->drw_lock);
67
68 drw = drm_get_drawable_info(dev, vbl_swap->drw_id);
69
70 if (drw) {
71 int i, num_rects = drw->num_rects;
72 drm_clip_rect_t *rect = drw->rects;
73 drm_i915_sarea_t *sarea_priv =
74 dev_priv->sarea_priv;
75 u32 cpp = dev_priv->cpp;
76 u32 cmd = (cpp == 4) ? (XY_SRC_COPY_BLT_CMD |
77 XY_SRC_COPY_BLT_WRITE_ALPHA |
78 XY_SRC_COPY_BLT_WRITE_RGB)
79 : XY_SRC_COPY_BLT_CMD;
80 u32 pitchropcpp = (sarea_priv->pitch * cpp) |
81 (0xcc << 16) | (cpp << 23) |
82 (1 << 24);
83 RING_LOCALS;
84
85 i915_kernel_lost_context(dev);
86
87 BEGIN_LP_RING(6);
88
89 OUT_RING(GFX_OP_DRAWRECT_INFO);
90 OUT_RING(0);
91 OUT_RING(0);
92 OUT_RING(sarea_priv->width |
93 sarea_priv->height << 16);
94 OUT_RING(sarea_priv->width |
95 sarea_priv->height << 16);
96 OUT_RING(0);
97 76
98 ADVANCE_LP_RING(); 77 if ((counter[vbl_swap->pipe] - vbl_swap->sequence) > (1<<23))
78 continue;
79
80 list_del(list);
81 dev_priv->swaps_pending--;
99 82
100 sarea_priv->ctxOwner = DRM_KERNEL_CONTEXT; 83 spin_unlock(&dev_priv->swaps_lock);
84 spin_lock(&dev->drw_lock);
101 85
102 for (i = 0; i < num_rects; i++, rect++) { 86 drw = drm_get_drawable_info(dev, vbl_swap->drw_id);
103 BEGIN_LP_RING(8); 87
88 if (!drw) {
89 spin_unlock(&dev->drw_lock);
90 drm_free(vbl_swap, sizeof(*vbl_swap), DRM_MEM_DRIVER);
91 spin_lock(&dev_priv->swaps_lock);
92 continue;
93 }
104 94
105 OUT_RING(cmd); 95 list_for_each(hit, &hits) {
106 OUT_RING(pitchropcpp); 96 drm_i915_vbl_swap_t *swap_cmp =
107 OUT_RING((rect->y1 << 16) | rect->x1); 97 list_entry(hit, drm_i915_vbl_swap_t, head);
108 OUT_RING((rect->y2 << 16) | rect->x2); 98 drm_drawable_info_t *drw_cmp =
109 OUT_RING(sarea_priv->front_offset); 99 drm_get_drawable_info(dev, swap_cmp->drw_id);
110 OUT_RING((rect->y1 << 16) | rect->x1);
111 OUT_RING(pitchropcpp & 0xffff);
112 OUT_RING(sarea_priv->back_offset);
113 100
114 ADVANCE_LP_RING(); 101 if (drw_cmp &&
115 } 102 drw_cmp->rects[0].y1 > drw->rects[0].y1) {
103 list_add_tail(list, hit);
104 break;
116 } 105 }
106 }
117 107
118 spin_unlock(&dev->drw_lock); 108 spin_unlock(&dev->drw_lock);
119 109
120 spin_lock(&dev_priv->swaps_lock); 110 /* List of hits was empty, or we reached the end of it */
111 if (hit == &hits)
112 list_add_tail(list, hits.prev);
121 113
122 list_del(list); 114 nhits++;
123 115
124 drm_free(vbl_swap, sizeof(*vbl_swap), DRM_MEM_DRIVER); 116 spin_lock(&dev_priv->swaps_lock);
117 }
118
119 if (nhits == 0) {
120 spin_unlock_irqrestore(&dev_priv->swaps_lock, irqflags);
121 return;
122 }
123
124 spin_unlock(&dev_priv->swaps_lock);
125 125
126 dev_priv->swaps_pending--; 126 i915_kernel_lost_context(dev);
127
128 BEGIN_LP_RING(6);
129
130 OUT_RING(GFX_OP_DRAWRECT_INFO);
131 OUT_RING(0);
132 OUT_RING(0);
133 OUT_RING(sarea_priv->width | sarea_priv->height << 16);
134 OUT_RING(sarea_priv->width | sarea_priv->height << 16);
135 OUT_RING(0);
136
137 ADVANCE_LP_RING();
138
139 sarea_priv->ctxOwner = DRM_KERNEL_CONTEXT;
140
141 upper[0] = upper[1] = 0;
142 slice[0] = max(sarea_priv->pipeA_h / nhits, 1);
143 slice[1] = max(sarea_priv->pipeB_h / nhits, 1);
144 lower[0] = sarea_priv->pipeA_y + slice[0];
145 lower[1] = sarea_priv->pipeB_y + slice[0];
146
147 spin_lock(&dev->drw_lock);
148
149 /* Emit blits for buffer swaps, partitioning both outputs into as many
150 * slices as there are buffer swaps scheduled in order to avoid tearing
151 * (based on the assumption that a single buffer swap would always
152 * complete before scanout starts).
153 */
154 for (i = 0; i++ < nhits;
155 upper[0] = lower[0], lower[0] += slice[0],
156 upper[1] = lower[1], lower[1] += slice[1]) {
157 if (i == nhits)
158 lower[0] = lower[1] = sarea_priv->height;
159
160 list_for_each(hit, &hits) {
161 drm_i915_vbl_swap_t *swap_hit =
162 list_entry(hit, drm_i915_vbl_swap_t, head);
163 drm_clip_rect_t *rect;
164 int num_rects, pipe;
165 unsigned short top, bottom;
166
167 drw = drm_get_drawable_info(dev, swap_hit->drw_id);
168
169 if (!drw)
170 continue;
171
172 rect = drw->rects;
173 pipe = swap_hit->pipe;
174 top = upper[pipe];
175 bottom = lower[pipe];
176
177 for (num_rects = drw->num_rects; num_rects--; rect++) {
178 int y1 = max(rect->y1, top);
179 int y2 = min(rect->y2, bottom);
180
181 if (y1 >= y2)
182 continue;
183
184 BEGIN_LP_RING(8);
185
186 OUT_RING(cmd);
187 OUT_RING(pitchropcpp);
188 OUT_RING((y1 << 16) | rect->x1);
189 OUT_RING((y2 << 16) | rect->x2);
190 OUT_RING(sarea_priv->front_offset);
191 OUT_RING((y1 << 16) | rect->x1);
192 OUT_RING(pitchropcpp & 0xffff);
193 OUT_RING(sarea_priv->back_offset);
194
195 ADVANCE_LP_RING();
196 }
127 } 197 }
128 } 198 }
129 199
130 spin_unlock_irqrestore(&dev_priv->swaps_lock, irqflags); 200 spin_unlock_irqrestore(&dev->drw_lock, irqflags);
201
202 list_for_each_safe(hit, tmp, &hits) {
203 drm_i915_vbl_swap_t *swap_hit =
204 list_entry(hit, drm_i915_vbl_swap_t, head);
205
206 list_del(hit);
207
208 drm_free(swap_hit, sizeof(*swap_hit), DRM_MEM_DRIVER);
209 }
131} 210}
132 211
133irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS) 212irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
diff --git a/drivers/char/drm/r128_drm.h b/drivers/char/drm/r128_drm.h
index 5d835b006f55..6e8af313f2b4 100644
--- a/drivers/char/drm/r128_drm.h
+++ b/drivers/char/drm/r128_drm.h
@@ -1,7 +1,8 @@
1/* r128_drm.h -- Public header for the r128 driver -*- linux-c -*- 1/* r128_drm.h -- Public header for the r128 driver -*- linux-c -*-
2 * Created: Wed Apr 5 19:24:19 2000 by kevin@precisioninsight.com 2 * Created: Wed Apr 5 19:24:19 2000 by kevin@precisioninsight.com
3 */ 3 */
4/* Copyright 2000 Precision Insight, Inc., Cedar Park, Texas. 4/*
5 * Copyright 2000 Precision Insight, Inc., Cedar Park, Texas.
5 * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. 6 * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
6 * All rights reserved. 7 * All rights reserved.
7 * 8 *
diff --git a/drivers/char/drm/r128_drv.h b/drivers/char/drm/r128_drv.h
index 94abffb2cca5..f1efb49de8df 100644
--- a/drivers/char/drm/r128_drv.h
+++ b/drivers/char/drm/r128_drv.h
@@ -1,7 +1,8 @@
1/* r128_drv.h -- Private header for r128 driver -*- linux-c -*- 1/* r128_drv.h -- Private header for r128 driver -*- linux-c -*-
2 * Created: Mon Dec 13 09:51:11 1999 by faith@precisioninsight.com 2 * Created: Mon Dec 13 09:51:11 1999 by faith@precisioninsight.com
3 */ 3 */
4/* Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. 4/*
5 * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
5 * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. 6 * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
6 * All rights reserved. 7 * All rights reserved.
7 * 8 *
diff --git a/drivers/char/drm/r128_state.c b/drivers/char/drm/r128_state.c
index a080cdd6081e..17b11e7d8f32 100644
--- a/drivers/char/drm/r128_state.c
+++ b/drivers/char/drm/r128_state.c
@@ -1,7 +1,8 @@
1/* r128_state.c -- State support for r128 -*- linux-c -*- 1/* r128_state.c -- State support for r128 -*- linux-c -*-
2 * Created: Thu Jan 27 02:53:43 2000 by gareth@valinux.com 2 * Created: Thu Jan 27 02:53:43 2000 by gareth@valinux.com
3 */ 3 */
4/* Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. 4/*
5 * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
5 * All Rights Reserved. 6 * All Rights Reserved.
6 * 7 *
7 * Permission is hereby granted, free of charge, to any person obtaining a 8 * Permission is hereby granted, free of charge, to any person obtaining a
diff --git a/drivers/char/drm/r300_cmdbuf.c b/drivers/char/drm/r300_cmdbuf.c
index d14477ba3679..032a022ec6a8 100644
--- a/drivers/char/drm/r300_cmdbuf.c
+++ b/drivers/char/drm/r300_cmdbuf.c
@@ -242,26 +242,6 @@ static __inline__ int r300_check_range(unsigned reg, int count)
242 return 0; 242 return 0;
243} 243}
244 244
245/*
246 * we expect offsets passed to the framebuffer to be either within video
247 * memory or within AGP space
248 */
249static __inline__ int r300_check_offset(drm_radeon_private_t *dev_priv,
250 u32 offset)
251{
252 /* we realy want to check against end of video aperture
253 but this value is not being kept.
254 This code is correct for now (does the same thing as the
255 code that sets MC_FB_LOCATION) in radeon_cp.c */
256 if (offset >= dev_priv->fb_location &&
257 offset < (dev_priv->fb_location + dev_priv->fb_size))
258 return 0;
259 if (offset >= dev_priv->gart_vm_start &&
260 offset < (dev_priv->gart_vm_start + dev_priv->gart_size))
261 return 0;
262 return 1;
263}
264
265static __inline__ int r300_emit_carefully_checked_packet0(drm_radeon_private_t * 245static __inline__ int r300_emit_carefully_checked_packet0(drm_radeon_private_t *
266 dev_priv, 246 dev_priv,
267 drm_radeon_kcmd_buffer_t 247 drm_radeon_kcmd_buffer_t
@@ -290,7 +270,7 @@ static __inline__ int r300_emit_carefully_checked_packet0(drm_radeon_private_t *
290 case MARK_SAFE: 270 case MARK_SAFE:
291 break; 271 break;
292 case MARK_CHECK_OFFSET: 272 case MARK_CHECK_OFFSET:
293 if (r300_check_offset(dev_priv, (u32) values[i])) { 273 if (!radeon_check_offset(dev_priv, (u32) values[i])) {
294 DRM_ERROR 274 DRM_ERROR
295 ("Offset failed range check (reg=%04x sz=%d)\n", 275 ("Offset failed range check (reg=%04x sz=%d)\n",
296 reg, sz); 276 reg, sz);
@@ -452,7 +432,7 @@ static __inline__ int r300_emit_3d_load_vbpntr(drm_radeon_private_t *dev_priv,
452 i = 1; 432 i = 1;
453 while ((k < narrays) && (i < (count + 1))) { 433 while ((k < narrays) && (i < (count + 1))) {
454 i++; /* skip attribute field */ 434 i++; /* skip attribute field */
455 if (r300_check_offset(dev_priv, payload[i])) { 435 if (!radeon_check_offset(dev_priv, payload[i])) {
456 DRM_ERROR 436 DRM_ERROR
457 ("Offset failed range check (k=%d i=%d) while processing 3D_LOAD_VBPNTR packet.\n", 437 ("Offset failed range check (k=%d i=%d) while processing 3D_LOAD_VBPNTR packet.\n",
458 k, i); 438 k, i);
@@ -463,7 +443,7 @@ static __inline__ int r300_emit_3d_load_vbpntr(drm_radeon_private_t *dev_priv,
463 if (k == narrays) 443 if (k == narrays)
464 break; 444 break;
465 /* have one more to process, they come in pairs */ 445 /* have one more to process, they come in pairs */
466 if (r300_check_offset(dev_priv, payload[i])) { 446 if (!radeon_check_offset(dev_priv, payload[i])) {
467 DRM_ERROR 447 DRM_ERROR
468 ("Offset failed range check (k=%d i=%d) while processing 3D_LOAD_VBPNTR packet.\n", 448 ("Offset failed range check (k=%d i=%d) while processing 3D_LOAD_VBPNTR packet.\n",
469 k, i); 449 k, i);
@@ -508,7 +488,7 @@ static __inline__ int r300_emit_bitblt_multi(drm_radeon_private_t *dev_priv,
508 if (cmd[1] & (RADEON_GMC_SRC_PITCH_OFFSET_CNTL 488 if (cmd[1] & (RADEON_GMC_SRC_PITCH_OFFSET_CNTL
509 | RADEON_GMC_DST_PITCH_OFFSET_CNTL)) { 489 | RADEON_GMC_DST_PITCH_OFFSET_CNTL)) {
510 offset = cmd[2] << 10; 490 offset = cmd[2] << 10;
511 ret = r300_check_offset(dev_priv, offset); 491 ret = !radeon_check_offset(dev_priv, offset);
512 if (ret) { 492 if (ret) {
513 DRM_ERROR("Invalid bitblt first offset is %08X\n", offset); 493 DRM_ERROR("Invalid bitblt first offset is %08X\n", offset);
514 return DRM_ERR(EINVAL); 494 return DRM_ERR(EINVAL);
@@ -518,7 +498,7 @@ static __inline__ int r300_emit_bitblt_multi(drm_radeon_private_t *dev_priv,
518 if ((cmd[1] & RADEON_GMC_SRC_PITCH_OFFSET_CNTL) && 498 if ((cmd[1] & RADEON_GMC_SRC_PITCH_OFFSET_CNTL) &&
519 (cmd[1] & RADEON_GMC_DST_PITCH_OFFSET_CNTL)) { 499 (cmd[1] & RADEON_GMC_DST_PITCH_OFFSET_CNTL)) {
520 offset = cmd[3] << 10; 500 offset = cmd[3] << 10;
521 ret = r300_check_offset(dev_priv, offset); 501 ret = !radeon_check_offset(dev_priv, offset);
522 if (ret) { 502 if (ret) {
523 DRM_ERROR("Invalid bitblt second offset is %08X\n", offset); 503 DRM_ERROR("Invalid bitblt second offset is %08X\n", offset);
524 return DRM_ERR(EINVAL); 504 return DRM_ERR(EINVAL);
@@ -551,7 +531,7 @@ static __inline__ int r300_emit_indx_buffer(drm_radeon_private_t *dev_priv,
551 DRM_ERROR("Invalid indx_buffer reg address %08X\n", cmd[1]); 531 DRM_ERROR("Invalid indx_buffer reg address %08X\n", cmd[1]);
552 return DRM_ERR(EINVAL); 532 return DRM_ERR(EINVAL);
553 } 533 }
554 ret = r300_check_offset(dev_priv, cmd[2]); 534 ret = !radeon_check_offset(dev_priv, cmd[2]);
555 if (ret) { 535 if (ret) {
556 DRM_ERROR("Invalid indx_buffer offset is %08X\n", cmd[2]); 536 DRM_ERROR("Invalid indx_buffer offset is %08X\n", cmd[2]);
557 return DRM_ERR(EINVAL); 537 return DRM_ERR(EINVAL);
diff --git a/drivers/char/drm/radeon_drv.h b/drivers/char/drm/radeon_drv.h
index f45cd7f147a5..8b105f1460a7 100644
--- a/drivers/char/drm/radeon_drv.h
+++ b/drivers/char/drm/radeon_drv.h
@@ -303,6 +303,21 @@ extern int radeon_no_wb;
303extern drm_ioctl_desc_t radeon_ioctls[]; 303extern drm_ioctl_desc_t radeon_ioctls[];
304extern int radeon_max_ioctl; 304extern int radeon_max_ioctl;
305 305
306/* Check whether the given hardware address is inside the framebuffer or the
307 * GART area.
308 */
309static __inline__ int radeon_check_offset(drm_radeon_private_t *dev_priv,
310 u64 off)
311{
312 u32 fb_start = dev_priv->fb_location;
313 u32 fb_end = fb_start + dev_priv->fb_size - 1;
314 u32 gart_start = dev_priv->gart_vm_start;
315 u32 gart_end = gart_start + dev_priv->gart_size - 1;
316
317 return ((off >= fb_start && off <= fb_end) ||
318 (off >= gart_start && off <= gart_end));
319}
320
306 /* radeon_cp.c */ 321 /* radeon_cp.c */
307extern int radeon_cp_init(DRM_IOCTL_ARGS); 322extern int radeon_cp_init(DRM_IOCTL_ARGS);
308extern int radeon_cp_start(DRM_IOCTL_ARGS); 323extern int radeon_cp_start(DRM_IOCTL_ARGS);
diff --git a/drivers/char/drm/radeon_irq.c b/drivers/char/drm/radeon_irq.c
index d60519de887b..3ff0baa2fbfa 100644
--- a/drivers/char/drm/radeon_irq.c
+++ b/drivers/char/drm/radeon_irq.c
@@ -1,5 +1,5 @@
1/* radeon_irq.c -- IRQ handling for radeon -*- linux-c -*- 1/* radeon_irq.c -- IRQ handling for radeon -*- linux-c -*- */
2 * 2/*
3 * Copyright (C) The Weather Channel, Inc. 2002. All Rights Reserved. 3 * Copyright (C) The Weather Channel, Inc. 2002. All Rights Reserved.
4 * 4 *
5 * The Weather Channel (TM) funded Tungsten Graphics to develop the 5 * The Weather Channel (TM) funded Tungsten Graphics to develop the
diff --git a/drivers/char/drm/radeon_mem.c b/drivers/char/drm/radeon_mem.c
index 030a6fad0d86..517cad8b6e3a 100644
--- a/drivers/char/drm/radeon_mem.c
+++ b/drivers/char/drm/radeon_mem.c
@@ -1,5 +1,5 @@
1/* radeon_mem.c -- Simple GART/fb memory manager for radeon -*- linux-c -*- 1/* radeon_mem.c -- Simple GART/fb memory manager for radeon -*- linux-c -*- */
2 * 2/*
3 * Copyright (C) The Weather Channel, Inc. 2002. All Rights Reserved. 3 * Copyright (C) The Weather Channel, Inc. 2002. All Rights Reserved.
4 * 4 *
5 * The Weather Channel (TM) funded Tungsten Graphics to develop the 5 * The Weather Channel (TM) funded Tungsten Graphics to develop the
diff --git a/drivers/char/drm/radeon_state.c b/drivers/char/drm/radeon_state.c
index 6e04fdd732ac..938eccb78cc0 100644
--- a/drivers/char/drm/radeon_state.c
+++ b/drivers/char/drm/radeon_state.c
@@ -43,10 +43,7 @@ static __inline__ int radeon_check_and_fixup_offset(drm_radeon_private_t *
43 u32 *offset) 43 u32 *offset)
44{ 44{
45 u64 off = *offset; 45 u64 off = *offset;
46 u32 fb_start = dev_priv->fb_location; 46 u32 fb_end = dev_priv->fb_location + dev_priv->fb_size - 1;
47 u32 fb_end = fb_start + dev_priv->fb_size - 1;
48 u32 gart_start = dev_priv->gart_vm_start;
49 u32 gart_end = gart_start + dev_priv->gart_size - 1;
50 struct drm_radeon_driver_file_fields *radeon_priv; 47 struct drm_radeon_driver_file_fields *radeon_priv;
51 48
52 /* Hrm ... the story of the offset ... So this function converts 49 /* Hrm ... the story of the offset ... So this function converts
@@ -66,8 +63,7 @@ static __inline__ int radeon_check_and_fixup_offset(drm_radeon_private_t *
66 /* First, the best case, the offset already lands in either the 63 /* First, the best case, the offset already lands in either the
67 * framebuffer or the GART mapped space 64 * framebuffer or the GART mapped space
68 */ 65 */
69 if ((off >= fb_start && off <= fb_end) || 66 if (radeon_check_offset(dev_priv, off))
70 (off >= gart_start && off <= gart_end))
71 return 0; 67 return 0;
72 68
73 /* Ok, that didn't happen... now check if we have a zero based 69 /* Ok, that didn't happen... now check if we have a zero based
@@ -81,11 +77,10 @@ static __inline__ int radeon_check_and_fixup_offset(drm_radeon_private_t *
81 77
82 /* Finally, assume we aimed at a GART offset if beyond the fb */ 78 /* Finally, assume we aimed at a GART offset if beyond the fb */
83 if (off > fb_end) 79 if (off > fb_end)
84 off = off - fb_end - 1 + gart_start; 80 off = off - fb_end - 1 + dev_priv->gart_vm_start;
85 81
86 /* Now recheck and fail if out of bounds */ 82 /* Now recheck and fail if out of bounds */
87 if ((off >= fb_start && off <= fb_end) || 83 if (radeon_check_offset(dev_priv, off)) {
88 (off >= gart_start && off <= gart_end)) {
89 DRM_DEBUG("offset fixed up to 0x%x\n", (unsigned int)off); 84 DRM_DEBUG("offset fixed up to 0x%x\n", (unsigned int)off);
90 *offset = off; 85 *offset = off;
91 return 0; 86 return 0;
diff --git a/drivers/char/drm/savage_bci.c b/drivers/char/drm/savage_bci.c
index a9a84f88df5e..b94fab556809 100644
--- a/drivers/char/drm/savage_bci.c
+++ b/drivers/char/drm/savage_bci.c
@@ -963,8 +963,8 @@ static int savage_bci_event_emit(DRM_IOCTL_ARGS)
963 963
964 event.count = savage_bci_emit_event(dev_priv, event.flags); 964 event.count = savage_bci_emit_event(dev_priv, event.flags);
965 event.count |= dev_priv->event_wrap << 16; 965 event.count |= dev_priv->event_wrap << 16;
966 DRM_COPY_TO_USER_IOCTL(&((drm_savage_event_emit_t __user *) data)-> 966 DRM_COPY_TO_USER_IOCTL((drm_savage_event_emit_t __user *) data,
967 count, event.count, sizeof(event.count)); 967 event, sizeof(event));
968 return 0; 968 return 0;
969} 969}
970 970
diff --git a/drivers/char/viocons.c b/drivers/char/viocons.c
index 0e0da443cbd5..8de6b95aeb84 100644
--- a/drivers/char/viocons.c
+++ b/drivers/char/viocons.c
@@ -42,6 +42,7 @@
42#include <linux/tty_flip.h> 42#include <linux/tty_flip.h>
43#include <linux/sysrq.h> 43#include <linux/sysrq.h>
44 44
45#include <asm/firmware.h>
45#include <asm/iseries/vio.h> 46#include <asm/iseries/vio.h>
46#include <asm/iseries/hv_lp_event.h> 47#include <asm/iseries/hv_lp_event.h>
47#include <asm/iseries/hv_call_event.h> 48#include <asm/iseries/hv_call_event.h>
@@ -1060,6 +1061,9 @@ static int __init viocons_init2(void)
1060 atomic_t wait_flag; 1061 atomic_t wait_flag;
1061 int rc; 1062 int rc;
1062 1063
1064 if (!firmware_has_feature(FW_FEATURE_ISERIES))
1065 return -ENODEV;
1066
1063 /* +2 for fudge */ 1067 /* +2 for fudge */
1064 rc = viopath_open(HvLpConfig_getPrimaryLpIndex(), 1068 rc = viopath_open(HvLpConfig_getPrimaryLpIndex(),
1065 viomajorsubtype_chario, VIOCHAR_WINDOW + 2); 1069 viomajorsubtype_chario, VIOCHAR_WINDOW + 2);
@@ -1145,6 +1149,9 @@ static int __init viocons_init(void)
1145{ 1149{
1146 int i; 1150 int i;
1147 1151
1152 if (!firmware_has_feature(FW_FEATURE_ISERIES))
1153 return -ENODEV;
1154
1148 printk(VIOCONS_KERN_INFO "registering console\n"); 1155 printk(VIOCONS_KERN_INFO "registering console\n");
1149 for (i = 0; i < VTTY_PORTS; i++) { 1156 for (i = 0; i < VTTY_PORTS; i++) {
1150 port_info[i].lp = HvLpIndexInvalid; 1157 port_info[i].lp = HvLpIndexInvalid;
diff --git a/drivers/char/viotape.c b/drivers/char/viotape.c
index 94d79cb8ce8d..9438512b17f1 100644
--- a/drivers/char/viotape.c
+++ b/drivers/char/viotape.c
@@ -49,7 +49,7 @@
49 49
50#include <asm/uaccess.h> 50#include <asm/uaccess.h>
51#include <asm/ioctls.h> 51#include <asm/ioctls.h>
52 52#include <asm/firmware.h>
53#include <asm/vio.h> 53#include <asm/vio.h>
54#include <asm/iseries/vio.h> 54#include <asm/iseries/vio.h>
55#include <asm/iseries/hv_lp_event.h> 55#include <asm/iseries/hv_lp_event.h>
@@ -997,6 +997,9 @@ int __init viotap_init(void)
997 int ret; 997 int ret;
998 struct proc_dir_entry *e; 998 struct proc_dir_entry *e;
999 999
1000 if (!firmware_has_feature(FW_FEATURE_ISERIES))
1001 return -ENODEV;
1002
1000 op_struct_list = NULL; 1003 op_struct_list = NULL;
1001 if ((ret = add_op_structs(VIOTAPE_MAXREQ)) < 0) { 1004 if ((ret = add_op_structs(VIOTAPE_MAXREQ)) < 0) {
1002 printk(VIOTAPE_KERN_WARN "couldn't allocate op structs\n"); 1005 printk(VIOTAPE_KERN_WARN "couldn't allocate op structs\n");
diff --git a/drivers/net/iseries_veth.c b/drivers/net/iseries_veth.c
index d6f4f185bf37..2194b567239f 100644
--- a/drivers/net/iseries_veth.c
+++ b/drivers/net/iseries_veth.c
@@ -73,7 +73,7 @@
73#include <asm/abs_addr.h> 73#include <asm/abs_addr.h>
74#include <asm/iseries/mf.h> 74#include <asm/iseries/mf.h>
75#include <asm/uaccess.h> 75#include <asm/uaccess.h>
76 76#include <asm/firmware.h>
77#include <asm/iseries/hv_lp_config.h> 77#include <asm/iseries/hv_lp_config.h>
78#include <asm/iseries/hv_types.h> 78#include <asm/iseries/hv_types.h>
79#include <asm/iseries/hv_lp_event.h> 79#include <asm/iseries/hv_lp_event.h>
@@ -1668,7 +1668,7 @@ static struct vio_driver veth_driver = {
1668 * Module initialization/cleanup 1668 * Module initialization/cleanup
1669 */ 1669 */
1670 1670
1671void __exit veth_module_cleanup(void) 1671static void __exit veth_module_cleanup(void)
1672{ 1672{
1673 int i; 1673 int i;
1674 struct veth_lpar_connection *cnx; 1674 struct veth_lpar_connection *cnx;
@@ -1697,11 +1697,14 @@ void __exit veth_module_cleanup(void)
1697} 1697}
1698module_exit(veth_module_cleanup); 1698module_exit(veth_module_cleanup);
1699 1699
1700int __init veth_module_init(void) 1700static int __init veth_module_init(void)
1701{ 1701{
1702 int i; 1702 int i;
1703 int rc; 1703 int rc;
1704 1704
1705 if (!firmware_has_feature(FW_FEATURE_ISERIES))
1706 return -ENODEV;
1707
1705 this_lp = HvLpConfig_getLpIndex_outline(); 1708 this_lp = HvLpConfig_getLpIndex_outline();
1706 1709
1707 for (i = 0; i < HVMAXARCHITECTEDLPS; ++i) { 1710 for (i = 0; i < HVMAXARCHITECTEDLPS; ++i) {
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index 38eb0b69c2d7..b4947c810706 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -1216,7 +1216,7 @@ static int __init pxafb_parse_options(struct device *dev, char *options)
1216 done: 1216 done:
1217 if (res_specified) { 1217 if (res_specified) {
1218 dev_info(dev, "overriding resolution: %dx%d\n", xres, yres); 1218 dev_info(dev, "overriding resolution: %dx%d\n", xres, yres);
1219 inf->xres = xres; inf->yres = yres; 1219 inf->modes[0].xres = xres; inf->modes[0].yres = yres;
1220 } 1220 }
1221 if (bpp_specified) 1221 if (bpp_specified)
1222 switch (bpp) { 1222 switch (bpp) {
@@ -1225,48 +1225,48 @@ static int __init pxafb_parse_options(struct device *dev, char *options)
1225 case 4: 1225 case 4:
1226 case 8: 1226 case 8:
1227 case 16: 1227 case 16:
1228 inf->bpp = bpp; 1228 inf->modes[0].bpp = bpp;
1229 dev_info(dev, "overriding bit depth: %d\n", bpp); 1229 dev_info(dev, "overriding bit depth: %d\n", bpp);
1230 break; 1230 break;
1231 default: 1231 default:
1232 dev_err(dev, "Depth %d is not valid\n", bpp); 1232 dev_err(dev, "Depth %d is not valid\n", bpp);
1233 } 1233 }
1234 } else if (!strncmp(this_opt, "pixclock:", 9)) { 1234 } else if (!strncmp(this_opt, "pixclock:", 9)) {
1235 inf->pixclock = simple_strtoul(this_opt+9, NULL, 0); 1235 inf->modes[0].pixclock = simple_strtoul(this_opt+9, NULL, 0);
1236 dev_info(dev, "override pixclock: %ld\n", inf->pixclock); 1236 dev_info(dev, "override pixclock: %ld\n", inf->modes[0].pixclock);
1237 } else if (!strncmp(this_opt, "left:", 5)) { 1237 } else if (!strncmp(this_opt, "left:", 5)) {
1238 inf->left_margin = simple_strtoul(this_opt+5, NULL, 0); 1238 inf->modes[0].left_margin = simple_strtoul(this_opt+5, NULL, 0);
1239 dev_info(dev, "override left: %u\n", inf->left_margin); 1239 dev_info(dev, "override left: %u\n", inf->modes[0].left_margin);
1240 } else if (!strncmp(this_opt, "right:", 6)) { 1240 } else if (!strncmp(this_opt, "right:", 6)) {
1241 inf->right_margin = simple_strtoul(this_opt+6, NULL, 0); 1241 inf->modes[0].right_margin = simple_strtoul(this_opt+6, NULL, 0);
1242 dev_info(dev, "override right: %u\n", inf->right_margin); 1242 dev_info(dev, "override right: %u\n", inf->modes[0].right_margin);
1243 } else if (!strncmp(this_opt, "upper:", 6)) { 1243 } else if (!strncmp(this_opt, "upper:", 6)) {
1244 inf->upper_margin = simple_strtoul(this_opt+6, NULL, 0); 1244 inf->modes[0].upper_margin = simple_strtoul(this_opt+6, NULL, 0);
1245 dev_info(dev, "override upper: %u\n", inf->upper_margin); 1245 dev_info(dev, "override upper: %u\n", inf->modes[0].upper_margin);
1246 } else if (!strncmp(this_opt, "lower:", 6)) { 1246 } else if (!strncmp(this_opt, "lower:", 6)) {
1247 inf->lower_margin = simple_strtoul(this_opt+6, NULL, 0); 1247 inf->modes[0].lower_margin = simple_strtoul(this_opt+6, NULL, 0);
1248 dev_info(dev, "override lower: %u\n", inf->lower_margin); 1248 dev_info(dev, "override lower: %u\n", inf->modes[0].lower_margin);
1249 } else if (!strncmp(this_opt, "hsynclen:", 9)) { 1249 } else if (!strncmp(this_opt, "hsynclen:", 9)) {
1250 inf->hsync_len = simple_strtoul(this_opt+9, NULL, 0); 1250 inf->modes[0].hsync_len = simple_strtoul(this_opt+9, NULL, 0);
1251 dev_info(dev, "override hsynclen: %u\n", inf->hsync_len); 1251 dev_info(dev, "override hsynclen: %u\n", inf->modes[0].hsync_len);
1252 } else if (!strncmp(this_opt, "vsynclen:", 9)) { 1252 } else if (!strncmp(this_opt, "vsynclen:", 9)) {
1253 inf->vsync_len = simple_strtoul(this_opt+9, NULL, 0); 1253 inf->modes[0].vsync_len = simple_strtoul(this_opt+9, NULL, 0);
1254 dev_info(dev, "override vsynclen: %u\n", inf->vsync_len); 1254 dev_info(dev, "override vsynclen: %u\n", inf->modes[0].vsync_len);
1255 } else if (!strncmp(this_opt, "hsync:", 6)) { 1255 } else if (!strncmp(this_opt, "hsync:", 6)) {
1256 if (simple_strtoul(this_opt+6, NULL, 0) == 0) { 1256 if (simple_strtoul(this_opt+6, NULL, 0) == 0) {
1257 dev_info(dev, "override hsync: Active Low\n"); 1257 dev_info(dev, "override hsync: Active Low\n");
1258 inf->sync &= ~FB_SYNC_HOR_HIGH_ACT; 1258 inf->modes[0].sync &= ~FB_SYNC_HOR_HIGH_ACT;
1259 } else { 1259 } else {
1260 dev_info(dev, "override hsync: Active High\n"); 1260 dev_info(dev, "override hsync: Active High\n");
1261 inf->sync |= FB_SYNC_HOR_HIGH_ACT; 1261 inf->modes[0].sync |= FB_SYNC_HOR_HIGH_ACT;
1262 } 1262 }
1263 } else if (!strncmp(this_opt, "vsync:", 6)) { 1263 } else if (!strncmp(this_opt, "vsync:", 6)) {
1264 if (simple_strtoul(this_opt+6, NULL, 0) == 0) { 1264 if (simple_strtoul(this_opt+6, NULL, 0) == 0) {
1265 dev_info(dev, "override vsync: Active Low\n"); 1265 dev_info(dev, "override vsync: Active Low\n");
1266 inf->sync &= ~FB_SYNC_VERT_HIGH_ACT; 1266 inf->modes[0].sync &= ~FB_SYNC_VERT_HIGH_ACT;
1267 } else { 1267 } else {
1268 dev_info(dev, "override vsync: Active High\n"); 1268 dev_info(dev, "override vsync: Active High\n");
1269 inf->sync |= FB_SYNC_VERT_HIGH_ACT; 1269 inf->modes[0].sync |= FB_SYNC_VERT_HIGH_ACT;
1270 } 1270 }
1271 } else if (!strncmp(this_opt, "dpc:", 4)) { 1271 } else if (!strncmp(this_opt, "dpc:", 4)) {
1272 if (simple_strtoul(this_opt+4, NULL, 0) == 0) { 1272 if (simple_strtoul(this_opt+4, NULL, 0) == 0) {
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
index cd10b18150b8..5d2a4a4b731c 100644
--- a/drivers/video/sa1100fb.c
+++ b/drivers/video/sa1100fb.c
@@ -1200,9 +1200,9 @@ static void set_ctrlr_state(struct sa1100fb_info *fbi, u_int state)
1200 * Our LCD controller task (which is called when we blank or unblank) 1200 * Our LCD controller task (which is called when we blank or unblank)
1201 * via keventd. 1201 * via keventd.
1202 */ 1202 */
1203static void sa1100fb_task(void *dummy) 1203static void sa1100fb_task(struct work_struct *w)
1204{ 1204{
1205 struct sa1100fb_info *fbi = dummy; 1205 struct sa1100fb_info *fbi = container_of(w, struct sa1100fb_info, task);
1206 u_int state = xchg(&fbi->task_state, -1); 1206 u_int state = xchg(&fbi->task_state, -1);
1207 1207
1208 set_ctrlr_state(fbi, state); 1208 set_ctrlr_state(fbi, state);
@@ -1444,7 +1444,7 @@ static struct sa1100fb_info * __init sa1100fb_init_fbinfo(struct device *dev)
1444 fbi->max_bpp / 8; 1444 fbi->max_bpp / 8;
1445 1445
1446 init_waitqueue_head(&fbi->ctrlr_wait); 1446 init_waitqueue_head(&fbi->ctrlr_wait);
1447 INIT_WORK(&fbi->task, sa1100fb_task, fbi); 1447 INIT_WORK(&fbi->task, sa1100fb_task);
1448 init_MUTEX(&fbi->ctrlr_sem); 1448 init_MUTEX(&fbi->ctrlr_sem);
1449 1449
1450 return fbi; 1450 return fbi;
diff --git a/include/asm-arm/arch-iop13xx/iq81340.h b/include/asm-arm/arch-iop13xx/iq81340.h
index b98f8f109c22..ba2cf931e9ce 100644
--- a/include/asm-arm/arch-iop13xx/iq81340.h
+++ b/include/asm-arm/arch-iop13xx/iq81340.h
@@ -24,8 +24,5 @@
24#define PBI_CF_IDE_BASE (IQ81340_CMP_FLSH) 24#define PBI_CF_IDE_BASE (IQ81340_CMP_FLSH)
25#define PBI_CF_BAR_ADDR (IOP13XX_PBI_BAR1) 25#define PBI_CF_BAR_ADDR (IOP13XX_PBI_BAR1)
26 26
27/* These are the values used in the Machine description */ 27
28#define PHYS_IO 0xfeffff00
29#define IO_PG_OFFSET 0xffffff00
30#define BOOT_PARAM_OFFSET 0x00000100
31#endif /* _IQ81340_H_ */ 28#endif /* _IQ81340_H_ */
diff --git a/include/asm-arm/arch-ixp23xx/memory.h b/include/asm-arm/arch-ixp23xx/memory.h
index c85fc06a043c..6d859d742d7f 100644
--- a/include/asm-arm/arch-ixp23xx/memory.h
+++ b/include/asm-arm/arch-ixp23xx/memory.h
@@ -41,21 +41,7 @@
41 data = *((volatile int *)IXP23XX_PCI_SDRAM_BAR); \ 41 data = *((volatile int *)IXP23XX_PCI_SDRAM_BAR); \
42 __phys_to_virt((((b - (data & 0xfffffff0)) + 0x00000000))); }) 42 __phys_to_virt((((b - (data & 0xfffffff0)) + 0x00000000))); })
43 43
44/* 44#define arch_is_coherent() 1
45 * Coherency support. Only supported on A2 CPUs or on A1
46 * systems that have the cache coherency workaround.
47 */
48static inline int __ixp23xx_arch_is_coherent(void)
49{
50 extern unsigned int processor_id;
51
52 if (((processor_id & 15) >= 4) || machine_is_roadrunner())
53 return 1;
54
55 return 0;
56}
57
58#define arch_is_coherent() __ixp23xx_arch_is_coherent()
59 45
60#endif 46#endif
61 47
diff --git a/include/asm-arm/arch-s3c2410/anubis-cpld.h b/include/asm-arm/arch-s3c2410/anubis-cpld.h
index 40e8e270d337..dcebf6d61903 100644
--- a/include/asm-arm/arch-s3c2410/anubis-cpld.h
+++ b/include/asm-arm/arch-s3c2410/anubis-cpld.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/anubis-cpld.h 1/* linux/include/asm-arm/arch-s3c2410/anubis-cpld.h
2 * 2 *
3 * (c) 2005 Simtec Electronics 3 * Copyright (c) 2005 Simtec Electronics
4 * http://www.simtec.co.uk/products/ 4 * http://www.simtec.co.uk/products/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/anubis-irq.h b/include/asm-arm/arch-s3c2410/anubis-irq.h
index 4b5f423779df..cd77a70d45c0 100644
--- a/include/asm-arm/arch-s3c2410/anubis-irq.h
+++ b/include/asm-arm/arch-s3c2410/anubis-irq.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/anubis-irq.h 1/* linux/include/asm-arm/arch-s3c2410/anubis-irq.h
2 * 2 *
3 * (c) 2005 Simtec Electronics 3 * Copyright (c) 2005 Simtec Electronics
4 * http://www.simtec.co.uk/products/ 4 * http://www.simtec.co.uk/products/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/anubis-map.h b/include/asm-arm/arch-s3c2410/anubis-map.h
index 058a2104b035..ab076de4a0d0 100644
--- a/include/asm-arm/arch-s3c2410/anubis-map.h
+++ b/include/asm-arm/arch-s3c2410/anubis-map.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/anubis-map.h 1/* linux/include/asm-arm/arch-s3c2410/anubis-map.h
2 * 2 *
3 * (c) 2005 Simtec Electronics 3 * Copyright (c) 2005 Simtec Electronics
4 * http://www.simtec.co.uk/products/ 4 * http://www.simtec.co.uk/products/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/audio.h b/include/asm-arm/arch-s3c2410/audio.h
index 7e0222276c98..65e0acffa1ad 100644
--- a/include/asm-arm/arch-s3c2410/audio.h
+++ b/include/asm-arm/arch-s3c2410/audio.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/audio.h 1/* linux/include/asm-arm/arch-s3c2410/audio.h
2 * 2 *
3 * (c) 2004-2005 Simtec Electronics 3 * Copyright (c) 2004-2005 Simtec Electronics
4 * http://www.simtec.co.uk/products/SWLINUX/ 4 * http://www.simtec.co.uk/products/SWLINUX/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/bast-cpld.h b/include/asm-arm/arch-s3c2410/bast-cpld.h
index 8969cffe83fa..034d2c5a47c4 100644
--- a/include/asm-arm/arch-s3c2410/bast-cpld.h
+++ b/include/asm-arm/arch-s3c2410/bast-cpld.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/bast-cpld.h 1/* linux/include/asm-arm/arch-s3c2410/bast-cpld.h
2 * 2 *
3 * (c) 2003,2004 Simtec Electronics 3 * Copyright (c) 2003,2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * BAST - CPLD control constants 6 * BAST - CPLD control constants
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/bast-irq.h b/include/asm-arm/arch-s3c2410/bast-irq.h
index 15ffa66f5011..726c0466f85a 100644
--- a/include/asm-arm/arch-s3c2410/bast-irq.h
+++ b/include/asm-arm/arch-s3c2410/bast-irq.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/bast-irq.h 1/* linux/include/asm-arm/arch-s3c2410/bast-irq.h
2 * 2 *
3 * (c) 2003,2004 Simtec Electronics 3 * Copyright (c) 2003,2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * Machine BAST - IRQ Number definitions 6 * Machine BAST - IRQ Number definitions
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/bast-map.h b/include/asm-arm/arch-s3c2410/bast-map.h
index 727cef84c70e..86ac1c108db8 100644
--- a/include/asm-arm/arch-s3c2410/bast-map.h
+++ b/include/asm-arm/arch-s3c2410/bast-map.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/bast-map.h 1/* linux/include/asm-arm/arch-s3c2410/bast-map.h
2 * 2 *
3 * (c) 2003,2004 Simtec Electronics 3 * Copyright (c) 2003,2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * Machine BAST - Memory map definitions 6 * Machine BAST - Memory map definitions
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/bast-pmu.h b/include/asm-arm/arch-s3c2410/bast-pmu.h
index 82836027f00f..37a11fe54a78 100644
--- a/include/asm-arm/arch-s3c2410/bast-pmu.h
+++ b/include/asm-arm/arch-s3c2410/bast-pmu.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/bast-pmu.h 1/* linux/include/asm-arm/arch-s3c2410/bast-pmu.h
2 * 2 *
3 * (c) 2003,2004 Simtec Electronics 3 * Copyright (c) 2003,2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * Vincent Sanders <vince@simtec.co.uk> 5 * Vincent Sanders <vince@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/h1940-latch.h b/include/asm-arm/arch-s3c2410/h1940-latch.h
index c5802411f43d..c3de5ab102eb 100644
--- a/include/asm-arm/arch-s3c2410/h1940-latch.h
+++ b/include/asm-arm/arch-s3c2410/h1940-latch.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/h1940-latch.h 1/* linux/include/asm-arm/arch-s3c2410/h1940-latch.h
2 * 2 *
3 * (c) 2005 Simtec Electronics 3 * Copyright (c) 2005 Simtec Electronics
4 * http://armlinux.simtec.co.uk/ 4 * http://armlinux.simtec.co.uk/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
@@ -16,7 +16,7 @@
16 16
17 17
18#ifndef __ASSEMBLY__ 18#ifndef __ASSEMBLY__
19#define H1940_LATCH ((void __iomem *)0xF8000000) 19#define H1940_LATCH ((void __force __iomem *)0xF8000000)
20#else 20#else
21#define H1940_LATCH 0xF8000000 21#define H1940_LATCH 0xF8000000
22#endif 22#endif
diff --git a/include/asm-arm/arch-s3c2410/hardware.h b/include/asm-arm/arch-s3c2410/hardware.h
index 871f8af09b8b..729565e5cdf4 100644
--- a/include/asm-arm/arch-s3c2410/hardware.h
+++ b/include/asm-arm/arch-s3c2410/hardware.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/hardware.h 1/* linux/include/asm-arm/arch-s3c2410/hardware.h
2 * 2 *
3 * (c) 2003 Simtec Electronics 3 * Copyright (c) 2003 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - hardware 6 * S3C2410 - hardware
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/iic.h b/include/asm-arm/arch-s3c2410/iic.h
index ed3d6c7bf6d7..71211c8b5384 100644
--- a/include/asm-arm/arch-s3c2410/iic.h
+++ b/include/asm-arm/arch-s3c2410/iic.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/iic.h 1/* linux/include/asm-arm/arch-s3c2410/iic.h
2 * 2 *
3 * (c) 2004 Simtec Electronics 3 * Copyright (c) 2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - I2C Controller platfrom_device info 6 * S3C2410 - I2C Controller platfrom_device info
diff --git a/include/asm-arm/arch-s3c2410/leds-gpio.h b/include/asm-arm/arch-s3c2410/leds-gpio.h
index f07ed040622b..800846ebddba 100644
--- a/include/asm-arm/arch-s3c2410/leds-gpio.h
+++ b/include/asm-arm/arch-s3c2410/leds-gpio.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/leds-gpio.h 1/* linux/include/asm-arm/arch-s3c2410/leds-gpio.h
2 * 2 *
3 * (c) 2006 Simtec Electronics 3 * Copyright (c) 2006 Simtec Electronics
4 * http://armlinux.simtec.co.uk/ 4 * http://armlinux.simtec.co.uk/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/map.h b/include/asm-arm/arch-s3c2410/map.h
index 7895042d176b..4505aefbad17 100644
--- a/include/asm-arm/arch-s3c2410/map.h
+++ b/include/asm-arm/arch-s3c2410/map.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/map.h 1/* linux/include/asm-arm/arch-s3c2410/map.h
2 * 2 *
3 * (c) 2003 Simtec Electronics 3 * Copyright (c) 2003 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - Memory map definitions 6 * S3C2410 - Memory map definitions
7 * 7 *
@@ -25,7 +25,7 @@
25 */ 25 */
26 26
27#ifndef __ASSEMBLY__ 27#ifndef __ASSEMBLY__
28#define S3C2410_ADDR(x) ((void __iomem *)0xF0000000 + (x)) 28#define S3C2410_ADDR(x) ((void __iomem __force *)0xF0000000 + (x))
29#else 29#else
30#define S3C2410_ADDR(x) (0xF0000000 + (x)) 30#define S3C2410_ADDR(x) (0xF0000000 + (x))
31#endif 31#endif
@@ -47,73 +47,65 @@
47#define S3C24XX_SZ_MEMCTRL SZ_1M 47#define S3C24XX_SZ_MEMCTRL SZ_1M
48 48
49/* USB host controller */ 49/* USB host controller */
50#define S3C24XX_VA_USBHOST S3C2410_ADDR(0x00200000)
51#define S3C2400_PA_USBHOST (0x14200000) 50#define S3C2400_PA_USBHOST (0x14200000)
52#define S3C2410_PA_USBHOST (0x49000000) 51#define S3C2410_PA_USBHOST (0x49000000)
53#define S3C24XX_SZ_USBHOST SZ_1M 52#define S3C24XX_SZ_USBHOST SZ_1M
54 53
55/* DMA controller */ 54/* DMA controller */
56#define S3C24XX_VA_DMA S3C2410_ADDR(0x00300000)
57#define S3C2400_PA_DMA (0x14600000) 55#define S3C2400_PA_DMA (0x14600000)
58#define S3C2410_PA_DMA (0x4B000000) 56#define S3C2410_PA_DMA (0x4B000000)
59#define S3C24XX_SZ_DMA SZ_1M 57#define S3C24XX_SZ_DMA SZ_1M
60 58
61/* Clock and Power management */ 59/* Clock and Power management */
62#define S3C24XX_VA_CLKPWR S3C2410_ADDR(0x00400000) 60#define S3C24XX_VA_CLKPWR S3C2410_ADDR(0x00200000)
63#define S3C2400_PA_CLKPWR (0x14800000) 61#define S3C2400_PA_CLKPWR (0x14800000)
64#define S3C2410_PA_CLKPWR (0x4C000000) 62#define S3C2410_PA_CLKPWR (0x4C000000)
65#define S3C24XX_SZ_CLKPWR SZ_1M 63#define S3C24XX_SZ_CLKPWR SZ_1M
66 64
67/* LCD controller */ 65/* LCD controller */
68#define S3C24XX_VA_LCD S3C2410_ADDR(0x00600000) 66#define S3C24XX_VA_LCD S3C2410_ADDR(0x00300000)
69#define S3C2400_PA_LCD (0x14A00000) 67#define S3C2400_PA_LCD (0x14A00000)
70#define S3C2410_PA_LCD (0x4D000000) 68#define S3C2410_PA_LCD (0x4D000000)
71#define S3C24XX_SZ_LCD SZ_1M 69#define S3C24XX_SZ_LCD SZ_1M
72 70
73/* NAND flash controller */ 71/* NAND flash controller */
74#define S3C24XX_VA_NAND S3C2410_ADDR(0x00700000)
75#define S3C2410_PA_NAND (0x4E000000) 72#define S3C2410_PA_NAND (0x4E000000)
76#define S3C24XX_SZ_NAND SZ_1M 73#define S3C24XX_SZ_NAND SZ_1M
77 74
78/* MMC controller - available on the S3C2400 */ 75/* MMC controller - available on the S3C2400 */
79#define S3C2400_VA_MMC S3C2400_ADDR(0x00700000)
80#define S3C2400_PA_MMC (0x15A00000) 76#define S3C2400_PA_MMC (0x15A00000)
81#define S3C2400_SZ_MMC SZ_1M 77#define S3C2400_SZ_MMC SZ_1M
82 78
83/* UARTs */ 79/* UARTs */
84#define S3C24XX_VA_UART S3C2410_ADDR(0x00800000) 80#define S3C24XX_VA_UART S3C2410_ADDR(0x00400000)
85#define S3C2400_PA_UART (0x15000000) 81#define S3C2400_PA_UART (0x15000000)
86#define S3C2410_PA_UART (0x50000000) 82#define S3C2410_PA_UART (0x50000000)
87#define S3C24XX_SZ_UART SZ_1M 83#define S3C24XX_SZ_UART SZ_1M
88 84
89/* Timers */ 85/* Timers */
90#define S3C24XX_VA_TIMER S3C2410_ADDR(0x00900000) 86#define S3C24XX_VA_TIMER S3C2410_ADDR(0x00500000)
91#define S3C2400_PA_TIMER (0x15100000) 87#define S3C2400_PA_TIMER (0x15100000)
92#define S3C2410_PA_TIMER (0x51000000) 88#define S3C2410_PA_TIMER (0x51000000)
93#define S3C24XX_SZ_TIMER SZ_1M 89#define S3C24XX_SZ_TIMER SZ_1M
94 90
95/* USB Device port */ 91/* USB Device port */
96#define S3C24XX_VA_USBDEV S3C2410_ADDR(0x00A00000) 92#define S3C24XX_VA_USBDEV S3C2410_ADDR(0x00600000)
97#define S3C2400_PA_USBDEV (0x15200140) 93#define S3C2400_PA_USBDEV (0x15200140)
98#define S3C2410_PA_USBDEV (0x52000000) 94#define S3C2410_PA_USBDEV (0x52000000)
99#define S3C24XX_SZ_USBDEV SZ_1M 95#define S3C24XX_SZ_USBDEV SZ_1M
100 96
101/* Watchdog */ 97/* Watchdog */
102#define S3C24XX_VA_WATCHDOG S3C2410_ADDR(0x00B00000) 98#define S3C24XX_VA_WATCHDOG S3C2410_ADDR(0x00700000)
103#define S3C2400_PA_WATCHDOG (0x15300000) 99#define S3C2400_PA_WATCHDOG (0x15300000)
104#define S3C2410_PA_WATCHDOG (0x53000000) 100#define S3C2410_PA_WATCHDOG (0x53000000)
105#define S3C24XX_SZ_WATCHDOG SZ_1M 101#define S3C24XX_SZ_WATCHDOG SZ_1M
106 102
107/* IIC hardware controller */ 103/* IIC hardware controller */
108#define S3C24XX_VA_IIC S3C2410_ADDR(0x00C00000)
109#define S3C2400_PA_IIC (0x15400000) 104#define S3C2400_PA_IIC (0x15400000)
110#define S3C2410_PA_IIC (0x54000000) 105#define S3C2410_PA_IIC (0x54000000)
111#define S3C24XX_SZ_IIC SZ_1M 106#define S3C24XX_SZ_IIC SZ_1M
112 107
113#define VA_IIC_BASE (S3C24XX_VA_IIC)
114
115/* IIS controller */ 108/* IIS controller */
116#define S3C24XX_VA_IIS S3C2410_ADDR(0x00D00000)
117#define S3C2400_PA_IIS (0x15508000) 109#define S3C2400_PA_IIS (0x15508000)
118#define S3C2410_PA_IIS (0x55000000) 110#define S3C2410_PA_IIS (0x55000000)
119#define S3C24XX_SZ_IIS SZ_1M 111#define S3C24XX_SZ_IIS SZ_1M
@@ -134,25 +126,21 @@
134#define S3C24XX_SZ_GPIO SZ_1M 126#define S3C24XX_SZ_GPIO SZ_1M
135 127
136/* RTC */ 128/* RTC */
137#define S3C24XX_VA_RTC S3C2410_ADDR(0x00F00000)
138#define S3C2400_PA_RTC (0x15700040) 129#define S3C2400_PA_RTC (0x15700040)
139#define S3C2410_PA_RTC (0x57000000) 130#define S3C2410_PA_RTC (0x57000000)
140#define S3C24XX_SZ_RTC SZ_1M 131#define S3C24XX_SZ_RTC SZ_1M
141 132
142/* ADC */ 133/* ADC */
143#define S3C24XX_VA_ADC S3C2410_ADDR(0x01000000)
144#define S3C2400_PA_ADC (0x15800000) 134#define S3C2400_PA_ADC (0x15800000)
145#define S3C2410_PA_ADC (0x58000000) 135#define S3C2410_PA_ADC (0x58000000)
146#define S3C24XX_SZ_ADC SZ_1M 136#define S3C24XX_SZ_ADC SZ_1M
147 137
148/* SPI */ 138/* SPI */
149#define S3C24XX_VA_SPI S3C2410_ADDR(0x01100000)
150#define S3C2400_PA_SPI (0x15900000) 139#define S3C2400_PA_SPI (0x15900000)
151#define S3C2410_PA_SPI (0x59000000) 140#define S3C2410_PA_SPI (0x59000000)
152#define S3C24XX_SZ_SPI SZ_1M 141#define S3C24XX_SZ_SPI SZ_1M
153 142
154/* SDI */ 143/* SDI */
155#define S3C24XX_VA_SDI S3C2410_ADDR(0x01200000)
156#define S3C2410_PA_SDI (0x5A000000) 144#define S3C2410_PA_SDI (0x5A000000)
157#define S3C24XX_SZ_SDI SZ_1M 145#define S3C24XX_SZ_SDI SZ_1M
158 146
diff --git a/include/asm-arm/arch-s3c2410/nand.h b/include/asm-arm/arch-s3c2410/nand.h
index e350ae2acfc6..8816f7f9cee1 100644
--- a/include/asm-arm/arch-s3c2410/nand.h
+++ b/include/asm-arm/arch-s3c2410/nand.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/nand.h 1/* linux/include/asm-arm/arch-s3c2410/nand.h
2 * 2 *
3 * (c) 2004 Simtec Electronics 3 * Copyright (c) 2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - NAND device controller platfrom_device info 6 * S3C2410 - NAND device controller platfrom_device info
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/osiris-cpld.h b/include/asm-arm/arch-s3c2410/osiris-cpld.h
index e9d1ae1f354f..3b6498468d62 100644
--- a/include/asm-arm/arch-s3c2410/osiris-cpld.h
+++ b/include/asm-arm/arch-s3c2410/osiris-cpld.h
@@ -1,6 +1,6 @@
1/* linux/include/asm-arm/arch-s3c2410/osiris-cpld.h 1/* linux/include/asm-arm/arch-s3c2410/osiris-cpld.h
2 * 2 *
3 * (c) 2005 Simtec Electronics 3 * Copyright (c) 2005 Simtec Electronics
4 * http://www.simtec.co.uk/products/ 4 * http://www.simtec.co.uk/products/
5 * Ben Dooks <ben@simtec.co.uk> 5 * Ben Dooks <ben@simtec.co.uk>
6 * 6 *
diff --git a/include/asm-arm/arch-s3c2410/regs-serial.h b/include/asm-arm/arch-s3c2410/regs-serial.h
index 19c77da9c3fe..46f52401d132 100644
--- a/include/asm-arm/arch-s3c2410/regs-serial.h
+++ b/include/asm-arm/arch-s3c2410/regs-serial.h
@@ -197,7 +197,7 @@ struct s3c2410_uartcfg {
197 unsigned char hwport; /* hardware port number */ 197 unsigned char hwport; /* hardware port number */
198 unsigned char unused; 198 unsigned char unused;
199 unsigned short flags; 199 unsigned short flags;
200 unsigned long uart_flags; /* default uart flags */ 200 upf_t uart_flags; /* default uart flags */
201 201
202 unsigned long ucon; /* value of ucon for port */ 202 unsigned long ucon; /* value of ucon for port */
203 unsigned long ulcon; /* value of ulcon for port */ 203 unsigned long ulcon; /* value of ulcon for port */
diff --git a/include/asm-arm/arch-s3c2410/system.h b/include/asm-arm/arch-s3c2410/system.h
index 4f72a853a5cf..ecf250db45fb 100644
--- a/include/asm-arm/arch-s3c2410/system.h
+++ b/include/asm-arm/arch-s3c2410/system.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/system.h 1/* linux/include/asm-arm/arch-s3c2410/system.h
2 * 2 *
3 * (c) 2003 Simtec Electronics 3 * Copyright (c) 2003 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - System function defines and includes 6 * S3C2410 - System function defines and includes
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/timex.h b/include/asm-arm/arch-s3c2410/timex.h
index 703c337c5617..c16a99c5a59a 100644
--- a/include/asm-arm/arch-s3c2410/timex.h
+++ b/include/asm-arm/arch-s3c2410/timex.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/timex.h 1/* linux/include/asm-arm/arch-s3c2410/timex.h
2 * 2 *
3 * (c) 2003-2005 Simtec Electronics 3 * Copyright (c) 2003-2005 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - time parameters 6 * S3C2410 - time parameters
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/uncompress.h b/include/asm-arm/arch-s3c2410/uncompress.h
index 81b3e91c56ab..dcb2cef38f50 100644
--- a/include/asm-arm/arch-s3c2410/uncompress.h
+++ b/include/asm-arm/arch-s3c2410/uncompress.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/uncompress.h 1/* linux/include/asm-arm/arch-s3c2410/uncompress.h
2 * 2 *
3 * (c) 2003 Simtec Electronics 3 * Copyright (c) 2003 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - uncompress code 6 * S3C2410 - uncompress code
7 * 7 *
@@ -13,6 +13,7 @@
13#ifndef __ASM_ARCH_UNCOMPRESS_H 13#ifndef __ASM_ARCH_UNCOMPRESS_H
14#define __ASM_ARCH_UNCOMPRESS_H 14#define __ASM_ARCH_UNCOMPRESS_H
15 15
16typedef unsigned int upf_t; /* cannot include linux/serial_core.h */
16 17
17/* defines for UART registers */ 18/* defines for UART registers */
18#include "asm/arch/regs-serial.h" 19#include "asm/arch/regs-serial.h"
diff --git a/include/asm-arm/arch-s3c2410/usb-control.h b/include/asm-arm/arch-s3c2410/usb-control.h
index 35723569a17a..5bfa376e33dc 100644
--- a/include/asm-arm/arch-s3c2410/usb-control.h
+++ b/include/asm-arm/arch-s3c2410/usb-control.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/usb-control.h 1/* linux/include/asm-arm/arch-s3c2410/usb-control.h
2 * 2 *
3 * (c) 2004 Simtec Electronics 3 * Copyright (c) 2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * S3C2410 - usb port information 6 * S3C2410 - usb port information
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/vr1000-cpld.h b/include/asm-arm/arch-s3c2410/vr1000-cpld.h
index a341b1e1bd98..0557b0a5ab1d 100644
--- a/include/asm-arm/arch-s3c2410/vr1000-cpld.h
+++ b/include/asm-arm/arch-s3c2410/vr1000-cpld.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/vr1000-cpld.h 1/* linux/include/asm-arm/arch-s3c2410/vr1000-cpld.h
2 * 2 *
3 * (c) 2003 Simtec Electronics 3 * Copyright (c) 2003 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * VR1000 - CPLD control constants 6 * VR1000 - CPLD control constants
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/vr1000-irq.h b/include/asm-arm/arch-s3c2410/vr1000-irq.h
index c39a0ffa670d..890937083c61 100644
--- a/include/asm-arm/arch-s3c2410/vr1000-irq.h
+++ b/include/asm-arm/arch-s3c2410/vr1000-irq.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/vr1000-irq.h 1/* linux/include/asm-arm/arch-s3c2410/vr1000-irq.h
2 * 2 *
3 * (c) 2003,2004 Simtec Electronics 3 * Copyright (c) 2003,2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * Machine VR1000 - IRQ Number definitions 6 * Machine VR1000 - IRQ Number definitions
7 * 7 *
diff --git a/include/asm-arm/arch-s3c2410/vr1000-map.h b/include/asm-arm/arch-s3c2410/vr1000-map.h
index 1fe4db36c834..92a56a724a8c 100644
--- a/include/asm-arm/arch-s3c2410/vr1000-map.h
+++ b/include/asm-arm/arch-s3c2410/vr1000-map.h
@@ -1,7 +1,7 @@
1/* linux/include/asm-arm/arch-s3c2410/vr1000-map.h 1/* linux/include/asm-arm/arch-s3c2410/vr1000-map.h
2 * 2 *
3 * (c) 2003-2005 Simtec Electronics 3 * Copyright (c) 2003-2005 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
5 * 5 *
6 * Machine VR1000 - Memory map definitions 6 * Machine VR1000 - Memory map definitions
7 * 7 *
diff --git a/include/asm-arm/elf.h b/include/asm-arm/elf.h
index 642382d2c9f0..3679a8a8922e 100644
--- a/include/asm-arm/elf.h
+++ b/include/asm-arm/elf.h
@@ -52,6 +52,7 @@ typedef struct user_fp elf_fpregset_t;
52#define HWCAP_EDSP 128 52#define HWCAP_EDSP 128
53#define HWCAP_JAVA 256 53#define HWCAP_JAVA 256
54#define HWCAP_IWMMXT 512 54#define HWCAP_IWMMXT 512
55#define HWCAP_CRUNCH 1024
55 56
56#ifdef __KERNEL__ 57#ifdef __KERNEL__
57#ifndef __ASSEMBLY__ 58#ifndef __ASSEMBLY__
diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h
index e160aeb0138d..aa223fc546af 100644
--- a/include/asm-arm/system.h
+++ b/include/asm-arm/system.h
@@ -73,6 +73,7 @@
73#ifndef __ASSEMBLY__ 73#ifndef __ASSEMBLY__
74 74
75#include <linux/linkage.h> 75#include <linux/linkage.h>
76#include <linux/irqflags.h>
76 77
77struct thread_info; 78struct thread_info;
78struct task_struct; 79struct task_struct;
@@ -139,6 +140,9 @@ static inline int cpu_is_xsc3(void)
139#define cpu_is_xscale() 1 140#define cpu_is_xscale() 1
140#endif 141#endif
141 142
143extern unsigned long cr_no_alignment; /* defined in entry-armv.S */
144extern unsigned long cr_alignment; /* defined in entry-armv.S */
145
142static inline unsigned int get_cr(void) 146static inline unsigned int get_cr(void)
143{ 147{
144 unsigned int val; 148 unsigned int val;
@@ -152,6 +156,10 @@ static inline void set_cr(unsigned int val)
152 : : "r" (val) : "cc"); 156 : : "r" (val) : "cc");
153} 157}
154 158
159#ifndef CONFIG_SMP
160extern void adjust_cr(unsigned long mask, unsigned long set);
161#endif
162
155#define CPACC_FULL(n) (3 << (n * 2)) 163#define CPACC_FULL(n) (3 << (n * 2))
156#define CPACC_SVC(n) (1 << (n * 2)) 164#define CPACC_SVC(n) (1 << (n * 2))
157#define CPACC_DISABLE(n) (0 << (n * 2)) 165#define CPACC_DISABLE(n) (0 << (n * 2))
@@ -170,29 +178,6 @@ static inline void set_copro_access(unsigned int val)
170 : : "r" (val) : "cc"); 178 : : "r" (val) : "cc");
171} 179}
172 180
173extern unsigned long cr_no_alignment; /* defined in entry-armv.S */
174extern unsigned long cr_alignment; /* defined in entry-armv.S */
175
176#ifndef CONFIG_SMP
177static inline void adjust_cr(unsigned long mask, unsigned long set)
178{
179 unsigned long flags, cr;
180
181 mask &= ~CR_A;
182
183 set &= mask;
184
185 local_irq_save(flags);
186
187 cr_no_alignment = (cr_no_alignment & ~mask) | set;
188 cr_alignment = (cr_alignment & ~mask) | set;
189
190 set_cr((get_cr() & ~mask) | set);
191
192 local_irq_restore(flags);
193}
194#endif
195
196#define UDBG_UNDEFINED (1 << 0) 181#define UDBG_UNDEFINED (1 << 0)
197#define UDBG_SYSCALL (1 << 1) 182#define UDBG_SYSCALL (1 << 1)
198#define UDBG_BADABORT (1 << 2) 183#define UDBG_BADABORT (1 << 2)
@@ -248,8 +233,6 @@ static inline void sched_cacheflush(void)
248{ 233{
249} 234}
250 235
251#include <linux/irqflags.h>
252
253#ifdef CONFIG_SMP 236#ifdef CONFIG_SMP
254 237
255#define smp_mb() mb() 238#define smp_mb() mb()
diff --git a/include/asm-arm/unistd.h b/include/asm-arm/unistd.h
index 32b06eb52819..97e7060000cf 100644
--- a/include/asm-arm/unistd.h
+++ b/include/asm-arm/unistd.h
@@ -360,6 +360,18 @@
360#define __NR_readlinkat (__NR_SYSCALL_BASE+332) 360#define __NR_readlinkat (__NR_SYSCALL_BASE+332)
361#define __NR_fchmodat (__NR_SYSCALL_BASE+333) 361#define __NR_fchmodat (__NR_SYSCALL_BASE+333)
362#define __NR_faccessat (__NR_SYSCALL_BASE+334) 362#define __NR_faccessat (__NR_SYSCALL_BASE+334)
363 /* 335 for pselect6 */
364 /* 336 for ppoll */
365#define __NR_unshare (__NR_SYSCALL_BASE+337)
366#define __NR_set_robust_list (__NR_SYSCALL_BASE+338)
367#define __NR_get_robust_list (__NR_SYSCALL_BASE+339)
368#define __NR_splice (__NR_SYSCALL_BASE+340)
369#define __NR_arm_sync_file_range (__NR_SYSCALL_BASE+341)
370#define __NR_tee (__NR_SYSCALL_BASE+342)
371#define __NR_vmsplice (__NR_SYSCALL_BASE+343)
372#define __NR_move_pages (__NR_SYSCALL_BASE+344)
373#define __NR_getcpu (__NR_SYSCALL_BASE+345)
374 /* 346 for epoll_pwait */
363 375
364/* 376/*
365 * The following SWIs are ARM private. 377 * The following SWIs are ARM private.
diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h
index fdad4267b447..3d90264e9d36 100644
--- a/include/asm-powerpc/spu.h
+++ b/include/asm-powerpc/spu.h
@@ -161,6 +161,7 @@ struct spu_syscall_block {
161extern long spu_sys_callback(struct spu_syscall_block *s); 161extern long spu_sys_callback(struct spu_syscall_block *s);
162 162
163/* syscalls implemented in spufs */ 163/* syscalls implemented in spufs */
164struct file;
164extern struct spufs_calls { 165extern struct spufs_calls {
165 asmlinkage long (*create_thread)(const char __user *name, 166 asmlinkage long (*create_thread)(const char __user *name,
166 unsigned int flags, mode_t mode); 167 unsigned int flags, mode_t mode);
@@ -232,6 +233,7 @@ void spu_remove_sysdev_attr_group(struct attribute_group *attrs);
232 * to object-id spufs file from user space and the notifer 233 * to object-id spufs file from user space and the notifer
233 * function can assume that spu->ctx is valid. 234 * function can assume that spu->ctx is valid.
234 */ 235 */
236struct notifier_block;
235int spu_switch_event_register(struct notifier_block * n); 237int spu_switch_event_register(struct notifier_block * n);
236int spu_switch_event_unregister(struct notifier_block * n); 238int spu_switch_event_unregister(struct notifier_block * n);
237 239
diff --git a/include/sound/pcm_oss.h b/include/sound/pcm_oss.h
index c854647b6f3c..1cd4f64cdf31 100644
--- a/include/sound/pcm_oss.h
+++ b/include/sound/pcm_oss.h
@@ -56,6 +56,7 @@ struct snd_pcm_oss_runtime {
56 size_t mmap_bytes; 56 size_t mmap_bytes;
57 char *buffer; /* vmallocated period */ 57 char *buffer; /* vmallocated period */
58 size_t buffer_used; /* used length from period buffer */ 58 size_t buffer_used; /* used length from period buffer */
59 struct mutex params_lock;
59#ifdef CONFIG_SND_PCM_OSS_PLUGINS 60#ifdef CONFIG_SND_PCM_OSS_PLUGINS
60 struct snd_pcm_plugin *plugin_first; 61 struct snd_pcm_plugin *plugin_first;
61 struct snd_pcm_plugin *plugin_last; 62 struct snd_pcm_plugin *plugin_last;
diff --git a/include/sound/version.h b/include/sound/version.h
index 17137f3a3b6f..2949b9b991b5 100644
--- a/include/sound/version.h
+++ b/include/sound/version.h
@@ -1,3 +1,3 @@
1/* include/version.h. Generated by alsa/ksync script. */ 1/* include/version.h. Generated by alsa/ksync script. */
2#define CONFIG_SND_VERSION "1.0.13" 2#define CONFIG_SND_VERSION "1.0.14rc1"
3#define CONFIG_SND_DATE " (Tue Nov 28 14:07:24 2006 UTC)" 3#define CONFIG_SND_DATE " (Wed Dec 20 08:11:48 2006 UTC)"
diff --git a/include/sound/ymfpci.h b/include/sound/ymfpci.h
index d41cda97e952..f3514ee96bd9 100644
--- a/include/sound/ymfpci.h
+++ b/include/sound/ymfpci.h
@@ -286,7 +286,7 @@ struct snd_ymfpci {
286 int irq; 286 int irq;
287 287
288 unsigned int device_id; /* PCI device ID */ 288 unsigned int device_id; /* PCI device ID */
289 unsigned int rev; /* PCI revision */ 289 unsigned char rev; /* PCI revision */
290 unsigned long reg_area_phys; 290 unsigned long reg_area_phys;
291 void __iomem *reg_area_virt; 291 void __iomem *reg_area_virt;
292 struct resource *res_reg_area; 292 struct resource *res_reg_area;
@@ -345,7 +345,6 @@ struct snd_ymfpci {
345 struct snd_kcontrol *spdif_pcm_ctl; 345 struct snd_kcontrol *spdif_pcm_ctl;
346 int mode_dup4ch; 346 int mode_dup4ch;
347 int rear_opened; 347 int rear_opened;
348 int rear_swap;
349 int spdif_opened; 348 int spdif_opened;
350 struct { 349 struct {
351 u16 left; 350 u16 left;
@@ -378,7 +377,7 @@ int snd_ymfpci_pcm(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm);
378int snd_ymfpci_pcm2(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); 377int snd_ymfpci_pcm2(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm);
379int snd_ymfpci_pcm_spdif(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); 378int snd_ymfpci_pcm_spdif(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm);
380int snd_ymfpci_pcm_4ch(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); 379int snd_ymfpci_pcm_4ch(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm);
381int snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch, int rear_swap); 380int snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch);
382int snd_ymfpci_timer(struct snd_ymfpci *chip, int device); 381int snd_ymfpci_timer(struct snd_ymfpci *chip, int device);
383 382
384#endif /* __SOUND_YMFPCI_H */ 383#endif /* __SOUND_YMFPCI_H */
diff --git a/sound/aoa/codecs/snd-aoa-codec-onyx.h b/sound/aoa/codecs/snd-aoa-codec-onyx.h
index aeedda773699..ffd20254ff76 100644
--- a/sound/aoa/codecs/snd-aoa-codec-onyx.h
+++ b/sound/aoa/codecs/snd-aoa-codec-onyx.h
@@ -9,7 +9,6 @@
9#define __SND_AOA_CODEC_ONYX_H 9#define __SND_AOA_CODEC_ONYX_H
10#include <stddef.h> 10#include <stddef.h>
11#include <linux/i2c.h> 11#include <linux/i2c.h>
12#include <linux/i2c-dev.h>
13#include <asm/pmac_low_i2c.h> 12#include <asm/pmac_low_i2c.h>
14#include <asm/prom.h> 13#include <asm/prom.h>
15 14
diff --git a/sound/aoa/codecs/snd-aoa-codec-tas.c b/sound/aoa/codecs/snd-aoa-codec-tas.c
index 9de8485ba3f5..2cd81fa07ce1 100644
--- a/sound/aoa/codecs/snd-aoa-codec-tas.c
+++ b/sound/aoa/codecs/snd-aoa-codec-tas.c
@@ -61,7 +61,6 @@
61 */ 61 */
62#include <stddef.h> 62#include <stddef.h>
63#include <linux/i2c.h> 63#include <linux/i2c.h>
64#include <linux/i2c-dev.h>
65#include <asm/pmac_low_i2c.h> 64#include <asm/pmac_low_i2c.h>
66#include <asm/prom.h> 65#include <asm/prom.h>
67#include <linux/delay.h> 66#include <linux/delay.h>
diff --git a/sound/core/control.c b/sound/core/control.c
index 48ef0a09a7a7..0c7bcd62e5b2 100644
--- a/sound/core/control.c
+++ b/sound/core/control.c
@@ -1275,7 +1275,7 @@ static ssize_t snd_ctl_read(struct file *file, char __user *buffer,
1275 schedule(); 1275 schedule();
1276 remove_wait_queue(&ctl->change_sleep, &wait); 1276 remove_wait_queue(&ctl->change_sleep, &wait);
1277 if (signal_pending(current)) 1277 if (signal_pending(current))
1278 return result > 0 ? result : -ERESTARTSYS; 1278 return -ERESTARTSYS;
1279 spin_lock_irq(&ctl->read_lock); 1279 spin_lock_irq(&ctl->read_lock);
1280 } 1280 }
1281 kev = snd_kctl_event(ctl->events.next); 1281 kev = snd_kctl_event(ctl->events.next);
diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c
index e0821eb3d851..786a82e68890 100644
--- a/sound/core/oss/pcm_oss.c
+++ b/sound/core/oss/pcm_oss.c
@@ -810,6 +810,8 @@ static int snd_pcm_oss_change_params(struct snd_pcm_substream *substream)
810 struct snd_mask sformat_mask; 810 struct snd_mask sformat_mask;
811 struct snd_mask mask; 811 struct snd_mask mask;
812 812
813 if (mutex_lock_interruptible(&runtime->oss.params_lock))
814 return -EINTR;
813 sw_params = kmalloc(sizeof(*sw_params), GFP_KERNEL); 815 sw_params = kmalloc(sizeof(*sw_params), GFP_KERNEL);
814 params = kmalloc(sizeof(*params), GFP_KERNEL); 816 params = kmalloc(sizeof(*params), GFP_KERNEL);
815 sparams = kmalloc(sizeof(*sparams), GFP_KERNEL); 817 sparams = kmalloc(sizeof(*sparams), GFP_KERNEL);
@@ -1020,6 +1022,7 @@ failure:
1020 kfree(sw_params); 1022 kfree(sw_params);
1021 kfree(params); 1023 kfree(params);
1022 kfree(sparams); 1024 kfree(sparams);
1025 mutex_unlock(&runtime->oss.params_lock);
1023 return err; 1026 return err;
1024} 1027}
1025 1028
@@ -1307,14 +1310,17 @@ static ssize_t snd_pcm_oss_write1(struct snd_pcm_substream *substream, const cha
1307 1310
1308 if ((tmp = snd_pcm_oss_make_ready(substream)) < 0) 1311 if ((tmp = snd_pcm_oss_make_ready(substream)) < 0)
1309 return tmp; 1312 return tmp;
1313 mutex_lock(&runtime->oss.params_lock);
1310 while (bytes > 0) { 1314 while (bytes > 0) {
1311 if (bytes < runtime->oss.period_bytes || runtime->oss.buffer_used > 0) { 1315 if (bytes < runtime->oss.period_bytes || runtime->oss.buffer_used > 0) {
1312 tmp = bytes; 1316 tmp = bytes;
1313 if (tmp + runtime->oss.buffer_used > runtime->oss.period_bytes) 1317 if (tmp + runtime->oss.buffer_used > runtime->oss.period_bytes)
1314 tmp = runtime->oss.period_bytes - runtime->oss.buffer_used; 1318 tmp = runtime->oss.period_bytes - runtime->oss.buffer_used;
1315 if (tmp > 0) { 1319 if (tmp > 0) {
1316 if (copy_from_user(runtime->oss.buffer + runtime->oss.buffer_used, buf, tmp)) 1320 if (copy_from_user(runtime->oss.buffer + runtime->oss.buffer_used, buf, tmp)) {
1317 return xfer > 0 ? (snd_pcm_sframes_t)xfer : -EFAULT; 1321 tmp = -EFAULT;
1322 goto err;
1323 }
1318 } 1324 }
1319 runtime->oss.buffer_used += tmp; 1325 runtime->oss.buffer_used += tmp;
1320 buf += tmp; 1326 buf += tmp;
@@ -1325,22 +1331,24 @@ static ssize_t snd_pcm_oss_write1(struct snd_pcm_substream *substream, const cha
1325 tmp = snd_pcm_oss_write2(substream, runtime->oss.buffer + runtime->oss.period_ptr, 1331 tmp = snd_pcm_oss_write2(substream, runtime->oss.buffer + runtime->oss.period_ptr,
1326 runtime->oss.buffer_used - runtime->oss.period_ptr, 1); 1332 runtime->oss.buffer_used - runtime->oss.period_ptr, 1);
1327 if (tmp <= 0) 1333 if (tmp <= 0)
1328 return xfer > 0 ? (snd_pcm_sframes_t)xfer : tmp; 1334 goto err;
1329 runtime->oss.bytes += tmp; 1335 runtime->oss.bytes += tmp;
1330 runtime->oss.period_ptr += tmp; 1336 runtime->oss.period_ptr += tmp;
1331 runtime->oss.period_ptr %= runtime->oss.period_bytes; 1337 runtime->oss.period_ptr %= runtime->oss.period_bytes;
1332 if (runtime->oss.period_ptr == 0 || 1338 if (runtime->oss.period_ptr == 0 ||
1333 runtime->oss.period_ptr == runtime->oss.buffer_used) 1339 runtime->oss.period_ptr == runtime->oss.buffer_used)
1334 runtime->oss.buffer_used = 0; 1340 runtime->oss.buffer_used = 0;
1335 else if ((substream->f_flags & O_NONBLOCK) != 0) 1341 else if ((substream->f_flags & O_NONBLOCK) != 0) {
1336 return xfer > 0 ? xfer : -EAGAIN; 1342 tmp = -EAGAIN;
1343 goto err;
1344 }
1337 } 1345 }
1338 } else { 1346 } else {
1339 tmp = snd_pcm_oss_write2(substream, 1347 tmp = snd_pcm_oss_write2(substream,
1340 (const char __force *)buf, 1348 (const char __force *)buf,
1341 runtime->oss.period_bytes, 0); 1349 runtime->oss.period_bytes, 0);
1342 if (tmp <= 0) 1350 if (tmp <= 0)
1343 return xfer > 0 ? (snd_pcm_sframes_t)xfer : tmp; 1351 goto err;
1344 runtime->oss.bytes += tmp; 1352 runtime->oss.bytes += tmp;
1345 buf += tmp; 1353 buf += tmp;
1346 bytes -= tmp; 1354 bytes -= tmp;
@@ -1350,7 +1358,12 @@ static ssize_t snd_pcm_oss_write1(struct snd_pcm_substream *substream, const cha
1350 break; 1358 break;
1351 } 1359 }
1352 } 1360 }
1361 mutex_unlock(&runtime->oss.params_lock);
1353 return xfer; 1362 return xfer;
1363
1364 err:
1365 mutex_unlock(&runtime->oss.params_lock);
1366 return xfer > 0 ? (snd_pcm_sframes_t)xfer : tmp;
1354} 1367}
1355 1368
1356static ssize_t snd_pcm_oss_read2(struct snd_pcm_substream *substream, char *buf, size_t bytes, int in_kernel) 1369static ssize_t snd_pcm_oss_read2(struct snd_pcm_substream *substream, char *buf, size_t bytes, int in_kernel)
@@ -1397,12 +1410,13 @@ static ssize_t snd_pcm_oss_read1(struct snd_pcm_substream *substream, char __use
1397 1410
1398 if ((tmp = snd_pcm_oss_make_ready(substream)) < 0) 1411 if ((tmp = snd_pcm_oss_make_ready(substream)) < 0)
1399 return tmp; 1412 return tmp;
1413 mutex_lock(&runtime->oss.params_lock);
1400 while (bytes > 0) { 1414 while (bytes > 0) {
1401 if (bytes < runtime->oss.period_bytes || runtime->oss.buffer_used > 0) { 1415 if (bytes < runtime->oss.period_bytes || runtime->oss.buffer_used > 0) {
1402 if (runtime->oss.buffer_used == 0) { 1416 if (runtime->oss.buffer_used == 0) {
1403 tmp = snd_pcm_oss_read2(substream, runtime->oss.buffer, runtime->oss.period_bytes, 1); 1417 tmp = snd_pcm_oss_read2(substream, runtime->oss.buffer, runtime->oss.period_bytes, 1);
1404 if (tmp <= 0) 1418 if (tmp <= 0)
1405 return xfer > 0 ? (snd_pcm_sframes_t)xfer : tmp; 1419 goto err;
1406 runtime->oss.bytes += tmp; 1420 runtime->oss.bytes += tmp;
1407 runtime->oss.period_ptr = tmp; 1421 runtime->oss.period_ptr = tmp;
1408 runtime->oss.buffer_used = tmp; 1422 runtime->oss.buffer_used = tmp;
@@ -1410,8 +1424,10 @@ static ssize_t snd_pcm_oss_read1(struct snd_pcm_substream *substream, char __use
1410 tmp = bytes; 1424 tmp = bytes;
1411 if ((size_t) tmp > runtime->oss.buffer_used) 1425 if ((size_t) tmp > runtime->oss.buffer_used)
1412 tmp = runtime->oss.buffer_used; 1426 tmp = runtime->oss.buffer_used;
1413 if (copy_to_user(buf, runtime->oss.buffer + (runtime->oss.period_ptr - runtime->oss.buffer_used), tmp)) 1427 if (copy_to_user(buf, runtime->oss.buffer + (runtime->oss.period_ptr - runtime->oss.buffer_used), tmp)) {
1414 return xfer > 0 ? (snd_pcm_sframes_t)xfer : -EFAULT; 1428 tmp = -EFAULT;
1429 goto err;
1430 }
1415 buf += tmp; 1431 buf += tmp;
1416 bytes -= tmp; 1432 bytes -= tmp;
1417 xfer += tmp; 1433 xfer += tmp;
@@ -1420,14 +1436,19 @@ static ssize_t snd_pcm_oss_read1(struct snd_pcm_substream *substream, char __use
1420 tmp = snd_pcm_oss_read2(substream, (char __force *)buf, 1436 tmp = snd_pcm_oss_read2(substream, (char __force *)buf,
1421 runtime->oss.period_bytes, 0); 1437 runtime->oss.period_bytes, 0);
1422 if (tmp <= 0) 1438 if (tmp <= 0)
1423 return xfer > 0 ? (snd_pcm_sframes_t)xfer : tmp; 1439 goto err;
1424 runtime->oss.bytes += tmp; 1440 runtime->oss.bytes += tmp;
1425 buf += tmp; 1441 buf += tmp;
1426 bytes -= tmp; 1442 bytes -= tmp;
1427 xfer += tmp; 1443 xfer += tmp;
1428 } 1444 }
1429 } 1445 }
1446 mutex_unlock(&runtime->oss.params_lock);
1430 return xfer; 1447 return xfer;
1448
1449 err:
1450 mutex_unlock(&runtime->oss.params_lock);
1451 return xfer > 0 ? (snd_pcm_sframes_t)xfer : tmp;
1431} 1452}
1432 1453
1433static int snd_pcm_oss_reset(struct snd_pcm_oss_file *pcm_oss_file) 1454static int snd_pcm_oss_reset(struct snd_pcm_oss_file *pcm_oss_file)
@@ -1528,6 +1549,7 @@ static int snd_pcm_oss_sync(struct snd_pcm_oss_file *pcm_oss_file)
1528 return err; 1549 return err;
1529 format = snd_pcm_oss_format_from(runtime->oss.format); 1550 format = snd_pcm_oss_format_from(runtime->oss.format);
1530 width = snd_pcm_format_physical_width(format); 1551 width = snd_pcm_format_physical_width(format);
1552 mutex_lock(&runtime->oss.params_lock);
1531 if (runtime->oss.buffer_used > 0) { 1553 if (runtime->oss.buffer_used > 0) {
1532#ifdef OSS_DEBUG 1554#ifdef OSS_DEBUG
1533 printk("sync: buffer_used\n"); 1555 printk("sync: buffer_used\n");
@@ -1537,8 +1559,10 @@ static int snd_pcm_oss_sync(struct snd_pcm_oss_file *pcm_oss_file)
1537 runtime->oss.buffer + runtime->oss.buffer_used, 1559 runtime->oss.buffer + runtime->oss.buffer_used,
1538 size); 1560 size);
1539 err = snd_pcm_oss_sync1(substream, runtime->oss.period_bytes); 1561 err = snd_pcm_oss_sync1(substream, runtime->oss.period_bytes);
1540 if (err < 0) 1562 if (err < 0) {
1563 mutex_unlock(&runtime->oss.params_lock);
1541 return err; 1564 return err;
1565 }
1542 } else if (runtime->oss.period_ptr > 0) { 1566 } else if (runtime->oss.period_ptr > 0) {
1543#ifdef OSS_DEBUG 1567#ifdef OSS_DEBUG
1544 printk("sync: period_ptr\n"); 1568 printk("sync: period_ptr\n");
@@ -1548,8 +1572,10 @@ static int snd_pcm_oss_sync(struct snd_pcm_oss_file *pcm_oss_file)
1548 runtime->oss.buffer, 1572 runtime->oss.buffer,
1549 size * 8 / width); 1573 size * 8 / width);
1550 err = snd_pcm_oss_sync1(substream, size); 1574 err = snd_pcm_oss_sync1(substream, size);
1551 if (err < 0) 1575 if (err < 0) {
1576 mutex_unlock(&runtime->oss.params_lock);
1552 return err; 1577 return err;
1578 }
1553 } 1579 }
1554 /* 1580 /*
1555 * The ALSA's period might be a bit large than OSS one. 1581 * The ALSA's period might be a bit large than OSS one.
@@ -1579,6 +1605,7 @@ static int snd_pcm_oss_sync(struct snd_pcm_oss_file *pcm_oss_file)
1579 snd_pcm_lib_writev(substream, buffers, size); 1605 snd_pcm_lib_writev(substream, buffers, size);
1580 } 1606 }
1581 } 1607 }
1608 mutex_unlock(&runtime->oss.params_lock);
1582 /* 1609 /*
1583 * finish sync: drain the buffer 1610 * finish sync: drain the buffer
1584 */ 1611 */
@@ -2172,6 +2199,7 @@ static void snd_pcm_oss_init_substream(struct snd_pcm_substream *substream,
2172 runtime->oss.params = 1; 2199 runtime->oss.params = 1;
2173 runtime->oss.trigger = 1; 2200 runtime->oss.trigger = 1;
2174 runtime->oss.rate = 8000; 2201 runtime->oss.rate = 8000;
2202 mutex_init(&runtime->oss.params_lock);
2175 switch (SNDRV_MINOR_OSS_DEVICE(minor)) { 2203 switch (SNDRV_MINOR_OSS_DEVICE(minor)) {
2176 case SNDRV_MINOR_OSS_PCM_8: 2204 case SNDRV_MINOR_OSS_PCM_8:
2177 runtime->oss.format = AFMT_U8; 2205 runtime->oss.format = AFMT_U8;
diff --git a/sound/core/pcm.c b/sound/core/pcm.c
index 5ac6e19ccb41..8e0189885516 100644
--- a/sound/core/pcm.c
+++ b/sound/core/pcm.c
@@ -640,6 +640,10 @@ int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count)
640 err = snd_pcm_substream_proc_init(substream); 640 err = snd_pcm_substream_proc_init(substream);
641 if (err < 0) { 641 if (err < 0) {
642 snd_printk(KERN_ERR "Error in snd_pcm_stream_proc_init\n"); 642 snd_printk(KERN_ERR "Error in snd_pcm_stream_proc_init\n");
643 if (prev == NULL)
644 pstr->substream = NULL;
645 else
646 prev->next = NULL;
643 kfree(substream); 647 kfree(substream);
644 return err; 648 return err;
645 } 649 }
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
index 0bb142a28539..b336797be4fc 100644
--- a/sound/core/pcm_lib.c
+++ b/sound/core/pcm_lib.c
@@ -79,19 +79,17 @@ void snd_pcm_playback_silence(struct snd_pcm_substream *substream, snd_pcm_ufram
79 runtime->silence_filled -= frames; 79 runtime->silence_filled -= frames;
80 if ((snd_pcm_sframes_t)runtime->silence_filled < 0) { 80 if ((snd_pcm_sframes_t)runtime->silence_filled < 0) {
81 runtime->silence_filled = 0; 81 runtime->silence_filled = 0;
82 runtime->silence_start = (ofs + frames) - runtime->buffer_size; 82 runtime->silence_start = new_hw_ptr;
83 } else { 83 } else {
84 runtime->silence_start = ofs - runtime->silence_filled; 84 runtime->silence_start = ofs;
85 } 85 }
86 if ((snd_pcm_sframes_t)runtime->silence_start < 0)
87 runtime->silence_start += runtime->boundary;
88 } 86 }
89 frames = runtime->buffer_size - runtime->silence_filled; 87 frames = runtime->buffer_size - runtime->silence_filled;
90 } 88 }
91 snd_assert(frames <= runtime->buffer_size, return); 89 snd_assert(frames <= runtime->buffer_size, return);
92 if (frames == 0) 90 if (frames == 0)
93 return; 91 return;
94 ofs = (runtime->silence_start + runtime->silence_filled) % runtime->buffer_size; 92 ofs = runtime->silence_start % runtime->buffer_size;
95 while (frames > 0) { 93 while (frames > 0) {
96 transfer = ofs + frames > runtime->buffer_size ? runtime->buffer_size - ofs : frames; 94 transfer = ofs + frames > runtime->buffer_size ? runtime->buffer_size - ofs : frames;
97 if (runtime->access == SNDRV_PCM_ACCESS_RW_INTERLEAVED || 95 if (runtime->access == SNDRV_PCM_ACCESS_RW_INTERLEAVED ||
diff --git a/sound/core/rawmidi.c b/sound/core/rawmidi.c
index 269c467ca9bb..0f055bfcbdac 100644
--- a/sound/core/rawmidi.c
+++ b/sound/core/rawmidi.c
@@ -1385,7 +1385,6 @@ static int snd_rawmidi_alloc_substreams(struct snd_rawmidi *rmidi,
1385 struct snd_rawmidi_substream *substream; 1385 struct snd_rawmidi_substream *substream;
1386 int idx; 1386 int idx;
1387 1387
1388 INIT_LIST_HEAD(&stream->substreams);
1389 for (idx = 0; idx < count; idx++) { 1388 for (idx = 0; idx < count; idx++) {
1390 substream = kzalloc(sizeof(*substream), GFP_KERNEL); 1389 substream = kzalloc(sizeof(*substream), GFP_KERNEL);
1391 if (substream == NULL) { 1390 if (substream == NULL) {
@@ -1440,6 +1439,9 @@ int snd_rawmidi_new(struct snd_card *card, char *id, int device,
1440 rmidi->device = device; 1439 rmidi->device = device;
1441 mutex_init(&rmidi->open_mutex); 1440 mutex_init(&rmidi->open_mutex);
1442 init_waitqueue_head(&rmidi->open_wait); 1441 init_waitqueue_head(&rmidi->open_wait);
1442 INIT_LIST_HEAD(&rmidi->streams[SNDRV_RAWMIDI_STREAM_INPUT].substreams);
1443 INIT_LIST_HEAD(&rmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT].substreams);
1444
1443 if (id != NULL) 1445 if (id != NULL)
1444 strlcpy(rmidi->id, id, sizeof(rmidi->id)); 1446 strlcpy(rmidi->id, id, sizeof(rmidi->id));
1445 if ((err = snd_rawmidi_alloc_substreams(rmidi, 1447 if ((err = snd_rawmidi_alloc_substreams(rmidi,
diff --git a/sound/core/seq/seq_memory.c b/sound/core/seq/seq_memory.c
index 4bffe509f719..a3dc5e01e9f2 100644
--- a/sound/core/seq/seq_memory.c
+++ b/sound/core/seq/seq_memory.c
@@ -151,7 +151,7 @@ int snd_seq_expand_var_event(const struct snd_seq_event *event, int count, char
151 return len; 151 return len;
152 newlen = len; 152 newlen = len;
153 if (size_aligned > 0) 153 if (size_aligned > 0)
154 newlen = ((len + size_aligned - 1) / size_aligned) * size_aligned; 154 newlen = roundup(len, size_aligned);
155 if (count < newlen) 155 if (count < newlen)
156 return -EAGAIN; 156 return -EAGAIN;
157 157
diff --git a/sound/core/sgbuf.c b/sound/core/sgbuf.c
index c30669f14ac0..cefd228cd2aa 100644
--- a/sound/core/sgbuf.c
+++ b/sound/core/sgbuf.c
@@ -27,7 +27,7 @@
27 27
28/* table entries are align to 32 */ 28/* table entries are align to 32 */
29#define SGBUF_TBL_ALIGN 32 29#define SGBUF_TBL_ALIGN 32
30#define sgbuf_align_table(tbl) ((((tbl) + SGBUF_TBL_ALIGN - 1) / SGBUF_TBL_ALIGN) * SGBUF_TBL_ALIGN) 30#define sgbuf_align_table(tbl) ALIGN((tbl), SGBUF_TBL_ALIGN)
31 31
32int snd_free_sgbuf_pages(struct snd_dma_buffer *dmab) 32int snd_free_sgbuf_pages(struct snd_dma_buffer *dmab)
33{ 33{
diff --git a/sound/isa/gus/gus_mem.c b/sound/isa/gus/gus_mem.c
index f50c276caee8..7107753b85b5 100644
--- a/sound/isa/gus/gus_mem.c
+++ b/sound/isa/gus/gus_mem.c
@@ -143,9 +143,8 @@ static int snd_gf1_mem_find(struct snd_gf1_mem * alloc,
143 struct snd_gf1_mem_block *pblock; 143 struct snd_gf1_mem_block *pblock;
144 unsigned int ptr1, ptr2; 144 unsigned int ptr1, ptr2;
145 145
146 align--; 146 if (w_16 && align < 2)
147 if (w_16 && align < 1) 147 align = 2;
148 align = 1;
149 block->flags = w_16 ? SNDRV_GF1_MEM_BLOCK_16BIT : 0; 148 block->flags = w_16 ? SNDRV_GF1_MEM_BLOCK_16BIT : 0;
150 block->owner = SNDRV_GF1_MEM_OWNER_DRIVER; 149 block->owner = SNDRV_GF1_MEM_OWNER_DRIVER;
151 block->share = 0; 150 block->share = 0;
@@ -165,7 +164,7 @@ static int snd_gf1_mem_find(struct snd_gf1_mem * alloc,
165 if (pblock->next->ptr < boundary) 164 if (pblock->next->ptr < boundary)
166 ptr2 = pblock->next->ptr; 165 ptr2 = pblock->next->ptr;
167 } 166 }
168 ptr1 = (pblock->ptr + pblock->size + align) & ~align; 167 ptr1 = ALIGN(pblock->ptr + pblock->size, align);
169 if (ptr1 >= ptr2) 168 if (ptr1 >= ptr2)
170 continue; 169 continue;
171 size1 = ptr2 - ptr1; 170 size1 = ptr2 - ptr1;
diff --git a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c
index c62a9e3d2ae4..3094f3852167 100644
--- a/sound/isa/sb/sb_common.c
+++ b/sound/isa/sb/sb_common.c
@@ -232,7 +232,7 @@ int snd_sbdsp_create(struct snd_card *card,
232 chip->port = port; 232 chip->port = port;
233 233
234 if (request_irq(irq, irq_handler, hardware == SB_HW_ALS4000 ? 234 if (request_irq(irq, irq_handler, hardware == SB_HW_ALS4000 ?
235 IRQF_DISABLED | IRQF_SHARED : IRQF_DISABLED, 235 IRQF_SHARED : IRQF_DISABLED,
236 "SoundBlaster", (void *) chip)) { 236 "SoundBlaster", (void *) chip)) {
237 snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq); 237 snd_printk(KERN_ERR "sb: can't grab irq %d\n", irq);
238 snd_sbdsp_free(chip); 238 snd_sbdsp_free(chip);
diff --git a/sound/isa/wavefront/wavefront_synth.c b/sound/isa/wavefront/wavefront_synth.c
index bed329edbdd7..78020d832e04 100644
--- a/sound/isa/wavefront/wavefront_synth.c
+++ b/sound/isa/wavefront/wavefront_synth.c
@@ -1068,7 +1068,7 @@ wavefront_send_sample (snd_wavefront_t *dev,
1068 blocksize = max_blksize; 1068 blocksize = max_blksize;
1069 } else { 1069 } else {
1070 /* round to nearest 16-byte value */ 1070 /* round to nearest 16-byte value */
1071 blocksize = ((length-written+7)&~0x7); 1071 blocksize = ALIGN(length - written, 8);
1072 } 1072 }
1073 1073
1074 if (snd_wavefront_cmd (dev, WFC_DOWNLOAD_BLOCK, NULL, NULL)) { 1074 if (snd_wavefront_cmd (dev, WFC_DOWNLOAD_BLOCK, NULL, NULL)) {
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
index 7abcb10b2754..d2994cb4c8c9 100644
--- a/sound/pci/ac97/ac97_codec.c
+++ b/sound/pci/ac97/ac97_codec.c
@@ -129,9 +129,9 @@ static const struct ac97_codec_id snd_ac97_codec_ids[] = {
129{ 0x434d4941, 0xffffffff, "CMI9738", patch_cm9738, NULL }, 129{ 0x434d4941, 0xffffffff, "CMI9738", patch_cm9738, NULL },
130{ 0x434d4961, 0xffffffff, "CMI9739", patch_cm9739, NULL }, 130{ 0x434d4961, 0xffffffff, "CMI9739", patch_cm9739, NULL },
131{ 0x434d4969, 0xffffffff, "CMI9780", patch_cm9780, NULL }, 131{ 0x434d4969, 0xffffffff, "CMI9780", patch_cm9780, NULL },
132{ 0x434d4978, 0xffffffff, "CMI9761", patch_cm9761, NULL }, 132{ 0x434d4978, 0xffffffff, "CMI9761A", patch_cm9761, NULL },
133{ 0x434d4982, 0xffffffff, "CMI9761", patch_cm9761, NULL }, 133{ 0x434d4982, 0xffffffff, "CMI9761B", patch_cm9761, NULL },
134{ 0x434d4983, 0xffffffff, "CMI9761", patch_cm9761, NULL }, 134{ 0x434d4983, 0xffffffff, "CMI9761A+", patch_cm9761, NULL },
135{ 0x43525900, 0xfffffff8, "CS4297", NULL, NULL }, 135{ 0x43525900, 0xfffffff8, "CS4297", NULL, NULL },
136{ 0x43525910, 0xfffffff8, "CS4297A", patch_cirrus_spdif, NULL }, 136{ 0x43525910, 0xfffffff8, "CS4297A", patch_cirrus_spdif, NULL },
137{ 0x43525920, 0xfffffff8, "CS4298", patch_cirrus_spdif, NULL }, 137{ 0x43525920, 0xfffffff8, "CS4298", patch_cirrus_spdif, NULL },
@@ -382,7 +382,7 @@ int snd_ac97_update_bits_nolock(struct snd_ac97 *ac97, unsigned short reg,
382 unsigned short old, new; 382 unsigned short old, new;
383 383
384 old = snd_ac97_read_cache(ac97, reg); 384 old = snd_ac97_read_cache(ac97, reg);
385 new = (old & ~mask) | value; 385 new = (old & ~mask) | (value & mask);
386 change = old != new; 386 change = old != new;
387 if (change) { 387 if (change) {
388 ac97->regs[reg] = new; 388 ac97->regs[reg] = new;
@@ -399,7 +399,7 @@ static int snd_ac97_ad18xx_update_pcm_bits(struct snd_ac97 *ac97, int codec, uns
399 399
400 mutex_lock(&ac97->page_mutex); 400 mutex_lock(&ac97->page_mutex);
401 old = ac97->spec.ad18xx.pcmreg[codec]; 401 old = ac97->spec.ad18xx.pcmreg[codec];
402 new = (old & ~mask) | value; 402 new = (old & ~mask) | (value & mask);
403 change = old != new; 403 change = old != new;
404 if (change) { 404 if (change) {
405 mutex_lock(&ac97->reg_mutex); 405 mutex_lock(&ac97->reg_mutex);
diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c
index 15be6ba87c82..e813968e0cf8 100644
--- a/sound/pci/ac97/ac97_patch.c
+++ b/sound/pci/ac97/ac97_patch.c
@@ -1467,7 +1467,9 @@ static void patch_ad1881_chained(struct snd_ac97 * ac97, int unchained_idx, int
1467 snd_ac97_write_cache(ac97, AC97_AD_CODEC_CFG, 0x0002); // ID1C 1467 snd_ac97_write_cache(ac97, AC97_AD_CODEC_CFG, 0x0002); // ID1C
1468 ac97->spec.ad18xx.codec_cfg[unchained_idx] = 0x0002; 1468 ac97->spec.ad18xx.codec_cfg[unchained_idx] = 0x0002;
1469 if (cidx1 >= 0) { 1469 if (cidx1 >= 0) {
1470 if (patch_ad1881_chained1(ac97, cidx1, 0x0006)) // SDIE | ID1C 1470 if (cidx2 < 0)
1471 patch_ad1881_chained1(ac97, cidx1, 0);
1472 else if (patch_ad1881_chained1(ac97, cidx1, 0x0006)) // SDIE | ID1C
1471 patch_ad1881_chained1(ac97, cidx2, 0); 1473 patch_ad1881_chained1(ac97, cidx2, 0);
1472 else if (patch_ad1881_chained1(ac97, cidx2, 0x0006)) // SDIE | ID1C 1474 else if (patch_ad1881_chained1(ac97, cidx2, 0x0006)) // SDIE | ID1C
1473 patch_ad1881_chained1(ac97, cidx1, 0); 1475 patch_ad1881_chained1(ac97, cidx1, 0);
@@ -2261,7 +2263,8 @@ int patch_alc655(struct snd_ac97 * ac97)
2261 else { /* ALC655 */ 2263 else { /* ALC655 */
2262 if (ac97->subsystem_vendor == 0x1462 && 2264 if (ac97->subsystem_vendor == 0x1462 &&
2263 (ac97->subsystem_device == 0x0131 || /* MSI S270 laptop */ 2265 (ac97->subsystem_device == 0x0131 || /* MSI S270 laptop */
2264 ac97->subsystem_device == 0x0161)) /* LG K1 Express */ 2266 ac97->subsystem_device == 0x0161 || /* LG K1 Express */
2267 ac97->subsystem_device == 0x0351)) /* MSI L725 laptop */
2265 val &= ~(1 << 1); /* Pin 47 is EAPD (for internal speaker) */ 2268 val &= ~(1 << 1); /* Pin 47 is EAPD (for internal speaker) */
2266 else 2269 else
2267 val |= (1 << 1); /* Pin 47 is spdif input pin */ 2270 val |= (1 << 1); /* Pin 47 is spdif input pin */
diff --git a/sound/pci/ad1889.c b/sound/pci/ad1889.c
index cbf8331c3d33..98970d401be9 100644
--- a/sound/pci/ad1889.c
+++ b/sound/pci/ad1889.c
@@ -858,7 +858,7 @@ snd_ad1889_free(struct snd_ad1889 *chip)
858 synchronize_irq(chip->irq); 858 synchronize_irq(chip->irq);
859 859
860 if (chip->irq >= 0) 860 if (chip->irq >= 0)
861 free_irq(chip->irq, (void*)chip); 861 free_irq(chip->irq, chip);
862 862
863skip_hw: 863skip_hw:
864 if (chip->iobase) 864 if (chip->iobase)
@@ -945,7 +945,7 @@ snd_ad1889_create(struct snd_card *card,
945 spin_lock_init(&chip->lock); /* only now can we call ad1889_free */ 945 spin_lock_init(&chip->lock); /* only now can we call ad1889_free */
946 946
947 if (request_irq(pci->irq, snd_ad1889_interrupt, 947 if (request_irq(pci->irq, snd_ad1889_interrupt,
948 IRQF_DISABLED|IRQF_SHARED, card->driver, (void*)chip)) { 948 IRQF_SHARED, card->driver, chip)) {
949 printk(KERN_ERR PFX "cannot obtain IRQ %d\n", pci->irq); 949 printk(KERN_ERR PFX "cannot obtain IRQ %d\n", pci->irq);
950 snd_ad1889_free(chip); 950 snd_ad1889_free(chip);
951 return -EBUSY; 951 return -EBUSY;
diff --git a/sound/pci/ali5451/ali5451.c b/sound/pci/ali5451/ali5451.c
index a7edd56542d4..9327ab2eccb0 100644
--- a/sound/pci/ali5451/ali5451.c
+++ b/sound/pci/ali5451/ali5451.c
@@ -2095,7 +2095,7 @@ static int snd_ali_free(struct snd_ali * codec)
2095 snd_ali_disable_address_interrupt(codec); 2095 snd_ali_disable_address_interrupt(codec);
2096 if (codec->irq >= 0) { 2096 if (codec->irq >= 0) {
2097 synchronize_irq(codec->irq); 2097 synchronize_irq(codec->irq);
2098 free_irq(codec->irq, (void *)codec); 2098 free_irq(codec->irq, codec);
2099 } 2099 }
2100 if (codec->port) 2100 if (codec->port)
2101 pci_release_regions(codec->pci); 2101 pci_release_regions(codec->pci);
@@ -2192,7 +2192,8 @@ static int __devinit snd_ali_resources(struct snd_ali *codec)
2192 return err; 2192 return err;
2193 codec->port = pci_resource_start(codec->pci, 0); 2193 codec->port = pci_resource_start(codec->pci, 0);
2194 2194
2195 if (request_irq(codec->pci->irq, snd_ali_card_interrupt, IRQF_DISABLED|IRQF_SHARED, "ALI 5451", (void *)codec)) { 2195 if (request_irq(codec->pci->irq, snd_ali_card_interrupt,
2196 IRQF_SHARED, "ALI 5451", codec)) {
2196 snd_printk(KERN_ERR "Unable to request irq.\n"); 2197 snd_printk(KERN_ERR "Unable to request irq.\n");
2197 return -EBUSY; 2198 return -EBUSY;
2198 } 2199 }
diff --git a/sound/pci/als300.c b/sound/pci/als300.c
index 95f70f3cc37e..9f406fbe0d95 100644
--- a/sound/pci/als300.c
+++ b/sound/pci/als300.c
@@ -190,7 +190,7 @@ static int snd_als300_free(struct snd_als300 *chip)
190 snd_als300_dbgcallenter(); 190 snd_als300_dbgcallenter();
191 snd_als300_set_irq_flag(chip, IRQ_DISABLE); 191 snd_als300_set_irq_flag(chip, IRQ_DISABLE);
192 if (chip->irq >= 0) 192 if (chip->irq >= 0)
193 free_irq(chip->irq, (void *)chip); 193 free_irq(chip->irq, chip);
194 pci_release_regions(chip->pci); 194 pci_release_regions(chip->pci);
195 pci_disable_device(chip->pci); 195 pci_disable_device(chip->pci);
196 kfree(chip); 196 kfree(chip);
@@ -722,8 +722,8 @@ static int __devinit snd_als300_create(snd_card_t *card,
722 else 722 else
723 irq_handler = snd_als300_interrupt; 723 irq_handler = snd_als300_interrupt;
724 724
725 if (request_irq(pci->irq, irq_handler, IRQF_DISABLED|IRQF_SHARED, 725 if (request_irq(pci->irq, irq_handler, IRQF_SHARED,
726 card->shortname, (void *)chip)) { 726 card->shortname, chip)) {
727 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 727 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
728 snd_als300_free(chip); 728 snd_als300_free(chip);
729 return -EBUSY; 729 return -EBUSY;
diff --git a/sound/pci/atiixp.c b/sound/pci/atiixp.c
index e3e99f396711..476c3433073e 100644
--- a/sound/pci/atiixp.c
+++ b/sound/pci/atiixp.c
@@ -1583,7 +1583,7 @@ static int __devinit snd_atiixp_create(struct snd_card *card,
1583 return -EIO; 1583 return -EIO;
1584 } 1584 }
1585 1585
1586 if (request_irq(pci->irq, snd_atiixp_interrupt, IRQF_DISABLED|IRQF_SHARED, 1586 if (request_irq(pci->irq, snd_atiixp_interrupt, IRQF_SHARED,
1587 card->shortname, chip)) { 1587 card->shortname, chip)) {
1588 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1588 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1589 snd_atiixp_free(chip); 1589 snd_atiixp_free(chip);
diff --git a/sound/pci/atiixp_modem.c b/sound/pci/atiixp_modem.c
index dc54f2c68ed7..cc2e6b9d407e 100644
--- a/sound/pci/atiixp_modem.c
+++ b/sound/pci/atiixp_modem.c
@@ -1256,7 +1256,7 @@ static int __devinit snd_atiixp_create(struct snd_card *card,
1256 return -EIO; 1256 return -EIO;
1257 } 1257 }
1258 1258
1259 if (request_irq(pci->irq, snd_atiixp_interrupt, IRQF_DISABLED|IRQF_SHARED, 1259 if (request_irq(pci->irq, snd_atiixp_interrupt, IRQF_SHARED,
1260 card->shortname, chip)) { 1260 card->shortname, chip)) {
1261 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1261 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1262 snd_atiixp_free(chip); 1262 snd_atiixp_free(chip);
diff --git a/sound/pci/au88x0/au88x0.c b/sound/pci/au88x0/au88x0.c
index 6ed5ad59f5b5..238154bb7a25 100644
--- a/sound/pci/au88x0/au88x0.c
+++ b/sound/pci/au88x0/au88x0.c
@@ -198,7 +198,7 @@ snd_vortex_create(struct snd_card *card, struct pci_dev *pci, vortex_t ** rchip)
198 } 198 }
199 199
200 if ((err = request_irq(pci->irq, vortex_interrupt, 200 if ((err = request_irq(pci->irq, vortex_interrupt,
201 IRQF_DISABLED | IRQF_SHARED, CARD_NAME_SHORT, 201 IRQF_SHARED, CARD_NAME_SHORT,
202 chip)) != 0) { 202 chip)) != 0) {
203 printk(KERN_ERR "cannot grab irq\n"); 203 printk(KERN_ERR "cannot grab irq\n");
204 goto irq_out; 204 goto irq_out;
diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c
index 2414ee630756..43edd2839b5a 100644
--- a/sound/pci/azt3328.c
+++ b/sound/pci/azt3328.c
@@ -1513,7 +1513,7 @@ snd_azf3328_free(struct snd_azf3328 *chip)
1513__end_hw: 1513__end_hw:
1514 snd_azf3328_free_joystick(chip); 1514 snd_azf3328_free_joystick(chip);
1515 if (chip->irq >= 0) 1515 if (chip->irq >= 0)
1516 free_irq(chip->irq, (void *)chip); 1516 free_irq(chip->irq, chip);
1517 pci_release_regions(chip->pci); 1517 pci_release_regions(chip->pci);
1518 pci_disable_device(chip->pci); 1518 pci_disable_device(chip->pci);
1519 1519
@@ -1724,7 +1724,8 @@ snd_azf3328_create(struct snd_card *card,
1724 chip->synth_port = pci_resource_start(pci, 3); 1724 chip->synth_port = pci_resource_start(pci, 3);
1725 chip->mixer_port = pci_resource_start(pci, 4); 1725 chip->mixer_port = pci_resource_start(pci, 4);
1726 1726
1727 if (request_irq(pci->irq, snd_azf3328_interrupt, IRQF_DISABLED|IRQF_SHARED, card->shortname, (void *)chip)) { 1727 if (request_irq(pci->irq, snd_azf3328_interrupt,
1728 IRQF_SHARED, card->shortname, chip)) {
1728 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1729 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1729 err = -EBUSY; 1730 err = -EBUSY;
1730 goto out_err; 1731 goto out_err;
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c
index d33a37086df9..c3f3da211234 100644
--- a/sound/pci/bt87x.c
+++ b/sound/pci/bt87x.c
@@ -699,7 +699,7 @@ static int __devinit snd_bt87x_pcm(struct snd_bt87x *chip, int device, char *nam
699 SNDRV_DMA_TYPE_DEV_SG, 699 SNDRV_DMA_TYPE_DEV_SG,
700 snd_dma_pci_data(chip->pci), 700 snd_dma_pci_data(chip->pci),
701 128 * 1024, 701 128 * 1024,
702 (255 * 4092 + 1023) & ~1023); 702 ALIGN(255 * 4092, 1024));
703} 703}
704 704
705static int __devinit snd_bt87x_create(struct snd_card *card, 705static int __devinit snd_bt87x_create(struct snd_card *card,
@@ -747,7 +747,7 @@ static int __devinit snd_bt87x_create(struct snd_card *card,
747 snd_bt87x_writel(chip, REG_INT_MASK, 0); 747 snd_bt87x_writel(chip, REG_INT_MASK, 0);
748 snd_bt87x_writel(chip, REG_INT_STAT, MY_INTERRUPTS); 748 snd_bt87x_writel(chip, REG_INT_STAT, MY_INTERRUPTS);
749 749
750 if (request_irq(pci->irq, snd_bt87x_interrupt, IRQF_DISABLED | IRQF_SHARED, 750 if (request_irq(pci->irq, snd_bt87x_interrupt, IRQF_SHARED,
751 "Bt87x audio", chip)) { 751 "Bt87x audio", chip)) {
752 snd_bt87x_free(chip); 752 snd_bt87x_free(chip);
753 snd_printk(KERN_ERR "cannot grab irq\n"); 753 snd_printk(KERN_ERR "cannot grab irq\n");
diff --git a/sound/pci/ca0106/ca0106.h b/sound/pci/ca0106/ca0106.h
index 9cb66c59f523..aaac6e5b4767 100644
--- a/sound/pci/ca0106/ca0106.h
+++ b/sound/pci/ca0106/ca0106.h
@@ -590,7 +590,7 @@ struct snd_ca0106 {
590 struct resource *res_port; 590 struct resource *res_port;
591 int irq; 591 int irq;
592 592
593 unsigned int revision; /* chip revision */ 593 unsigned char revision; /* chip revision */
594 unsigned int serial; /* serial number */ 594 unsigned int serial; /* serial number */
595 unsigned short model; /* subsystem id */ 595 unsigned short model; /* subsystem id */
596 596
diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c
index 6fa4a302f7de..f61f052f6d14 100644
--- a/sound/pci/ca0106/ca0106_main.c
+++ b/sound/pci/ca0106/ca0106_main.c
@@ -154,6 +154,7 @@ MODULE_SUPPORTED_DEVICE("{{Creative,SB CA0106 chip}}");
154static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; 154static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;
155static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; 155static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;
156static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; 156static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP;
157static uint subsystem[SNDRV_CARDS]; /* Force card subsystem model */
157 158
158module_param_array(index, int, NULL, 0444); 159module_param_array(index, int, NULL, 0444);
159MODULE_PARM_DESC(index, "Index value for the CA0106 soundcard."); 160MODULE_PARM_DESC(index, "Index value for the CA0106 soundcard.");
@@ -161,6 +162,8 @@ module_param_array(id, charp, NULL, 0444);
161MODULE_PARM_DESC(id, "ID string for the CA0106 soundcard."); 162MODULE_PARM_DESC(id, "ID string for the CA0106 soundcard.");
162module_param_array(enable, bool, NULL, 0444); 163module_param_array(enable, bool, NULL, 0444);
163MODULE_PARM_DESC(enable, "Enable the CA0106 soundcard."); 164MODULE_PARM_DESC(enable, "Enable the CA0106 soundcard.");
165module_param_array(subsystem, uint, NULL, 0444);
166MODULE_PARM_DESC(subsystem, "Force card subsystem model.");
164 167
165#include "ca0106.h" 168#include "ca0106.h"
166 169
@@ -194,6 +197,17 @@ static struct snd_ca0106_details ca0106_chip_details[] = {
194 .gpio_type = 1, 197 .gpio_type = 1,
195 .i2c_adc = 1, 198 .i2c_adc = 1,
196 .spi_dac = 1 } , 199 .spi_dac = 1 } ,
200 /* New Audigy LS. Has a different DAC. */
201 /* SB0570:
202 * CTRL:CA0106-DAT
203 * ADC: WM8775EDS
204 * DAC: WM8768GEDS
205 */
206 { .serial = 0x10111102,
207 .name = "Audigy SE OEM [SB0570a]",
208 .gpio_type = 1,
209 .i2c_adc = 1,
210 .spi_dac = 1 } ,
197 /* MSI K8N Diamond Motherboard with onboard SB Live 24bit without AC97 */ 211 /* MSI K8N Diamond Motherboard with onboard SB Live 24bit without AC97 */
198 /* SB0438 212 /* SB0438
199 * CTRL:CA0106-DAT 213 * CTRL:CA0106-DAT
@@ -1046,7 +1060,7 @@ static int snd_ca0106_free(struct snd_ca0106 *chip)
1046 1060
1047 // release the irq 1061 // release the irq
1048 if (chip->irq >= 0) 1062 if (chip->irq >= 0)
1049 free_irq(chip->irq, (void *)chip); 1063 free_irq(chip->irq, chip);
1050 pci_disable_device(chip->pci); 1064 pci_disable_device(chip->pci);
1051 kfree(chip); 1065 kfree(chip);
1052 return 0; 1066 return 0;
@@ -1223,7 +1237,7 @@ static unsigned int i2c_adc_init[][2] = {
1223 { 0x15, ADC_MUX_LINEIN }, /* ADC Mixer control */ 1237 { 0x15, ADC_MUX_LINEIN }, /* ADC Mixer control */
1224}; 1238};
1225 1239
1226static int __devinit snd_ca0106_create(struct snd_card *card, 1240static int __devinit snd_ca0106_create(int dev, struct snd_card *card,
1227 struct pci_dev *pci, 1241 struct pci_dev *pci,
1228 struct snd_ca0106 **rchip) 1242 struct snd_ca0106 **rchip)
1229{ 1243{
@@ -1267,8 +1281,7 @@ static int __devinit snd_ca0106_create(struct snd_card *card,
1267 } 1281 }
1268 1282
1269 if (request_irq(pci->irq, snd_ca0106_interrupt, 1283 if (request_irq(pci->irq, snd_ca0106_interrupt,
1270 IRQF_DISABLED|IRQF_SHARED, "snd_ca0106", 1284 IRQF_SHARED, "snd_ca0106", chip)) {
1271 (void *)chip)) {
1272 snd_ca0106_free(chip); 1285 snd_ca0106_free(chip);
1273 printk(KERN_ERR "cannot grab irq\n"); 1286 printk(KERN_ERR "cannot grab irq\n");
1274 return -EBUSY; 1287 return -EBUSY;
@@ -1283,21 +1296,29 @@ static int __devinit snd_ca0106_create(struct snd_card *card,
1283 1296
1284 pci_set_master(pci); 1297 pci_set_master(pci);
1285 /* read revision & serial */ 1298 /* read revision & serial */
1286 pci_read_config_byte(pci, PCI_REVISION_ID, (char *)&chip->revision); 1299 pci_read_config_byte(pci, PCI_REVISION_ID, &chip->revision);
1287 pci_read_config_dword(pci, PCI_SUBSYSTEM_VENDOR_ID, &chip->serial); 1300 pci_read_config_dword(pci, PCI_SUBSYSTEM_VENDOR_ID, &chip->serial);
1288 pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &chip->model); 1301 pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &chip->model);
1289#if 1 1302#if 1
1290 printk(KERN_INFO "Model %04x Rev %08x Serial %08x\n", chip->model, 1303 printk(KERN_INFO "snd-ca0106: Model %04x Rev %08x Serial %08x\n", chip->model,
1291 chip->revision, chip->serial); 1304 chip->revision, chip->serial);
1292#endif 1305#endif
1293 strcpy(card->driver, "CA0106"); 1306 strcpy(card->driver, "CA0106");
1294 strcpy(card->shortname, "CA0106"); 1307 strcpy(card->shortname, "CA0106");
1295 1308
1296 for (c = ca0106_chip_details; c->serial; c++) { 1309 for (c = ca0106_chip_details; c->serial; c++) {
1297 if (c->serial == chip->serial) 1310 if (subsystem[dev]) {
1311 if (c->serial == subsystem[dev])
1312 break;
1313 } else if (c->serial == chip->serial)
1298 break; 1314 break;
1299 } 1315 }
1300 chip->details = c; 1316 chip->details = c;
1317 if (subsystem[dev]) {
1318 printk(KERN_INFO "snd-ca0106: Sound card name=%s, subsystem=0x%x. Forced to subsystem=0x%x\n",
1319 c->name, chip->serial, subsystem[dev]);
1320 }
1321
1301 sprintf(card->longname, "%s at 0x%lx irq %i", 1322 sprintf(card->longname, "%s at 0x%lx irq %i",
1302 c->name, chip->port, chip->irq); 1323 c->name, chip->port, chip->irq);
1303 1324
@@ -1540,7 +1561,7 @@ static int __devinit snd_ca0106_probe(struct pci_dev *pci,
1540 if (card == NULL) 1561 if (card == NULL)
1541 return -ENOMEM; 1562 return -ENOMEM;
1542 1563
1543 if ((err = snd_ca0106_create(card, pci, &chip)) < 0) { 1564 if ((err = snd_ca0106_create(dev, card, pci, &chip)) < 0) {
1544 snd_card_free(card); 1565 snd_card_free(card);
1545 return err; 1566 return err;
1546 } 1567 }
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c
index 0093cd1f92db..71c58df4af28 100644
--- a/sound/pci/cmipci.c
+++ b/sound/pci/cmipci.c
@@ -2862,7 +2862,7 @@ static int __devinit snd_cmipci_create(struct snd_card *card, struct pci_dev *pc
2862 cm->iobase = pci_resource_start(pci, 0); 2862 cm->iobase = pci_resource_start(pci, 0);
2863 2863
2864 if (request_irq(pci->irq, snd_cmipci_interrupt, 2864 if (request_irq(pci->irq, snd_cmipci_interrupt,
2865 IRQF_DISABLED|IRQF_SHARED, card->driver, cm)) { 2865 IRQF_SHARED, card->driver, cm)) {
2866 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2866 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2867 snd_cmipci_free(cm); 2867 snd_cmipci_free(cm);
2868 return -EBUSY; 2868 return -EBUSY;
diff --git a/sound/pci/cs4281.c b/sound/pci/cs4281.c
index 0905fa88129d..8e5519de7115 100644
--- a/sound/pci/cs4281.c
+++ b/sound/pci/cs4281.c
@@ -1391,7 +1391,7 @@ static int __devinit snd_cs4281_create(struct snd_card *card,
1391 return -ENOMEM; 1391 return -ENOMEM;
1392 } 1392 }
1393 1393
1394 if (request_irq(pci->irq, snd_cs4281_interrupt, IRQF_DISABLED|IRQF_SHARED, 1394 if (request_irq(pci->irq, snd_cs4281_interrupt, IRQF_SHARED,
1395 "CS4281", chip)) { 1395 "CS4281", chip)) {
1396 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1396 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1397 snd_cs4281_free(chip); 1397 snd_cs4281_free(chip);
diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c
index 2807b9756ef0..2ae539b195fd 100644
--- a/sound/pci/cs46xx/cs46xx_lib.c
+++ b/sound/pci/cs46xx/cs46xx_lib.c
@@ -3867,7 +3867,7 @@ int __devinit snd_cs46xx_create(struct snd_card *card,
3867 } 3867 }
3868 } 3868 }
3869 3869
3870 if (request_irq(pci->irq, snd_cs46xx_interrupt, IRQF_DISABLED|IRQF_SHARED, 3870 if (request_irq(pci->irq, snd_cs46xx_interrupt, IRQF_SHARED,
3871 "CS46XX", chip)) { 3871 "CS46XX", chip)) {
3872 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 3872 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
3873 snd_cs46xx_free(chip); 3873 snd_cs46xx_free(chip);
diff --git a/sound/pci/cs5535audio/cs5535audio.c b/sound/pci/cs5535audio/cs5535audio.c
index 2441238f2004..b8e75ef9c1e6 100644
--- a/sound/pci/cs5535audio/cs5535audio.c
+++ b/sound/pci/cs5535audio/cs5535audio.c
@@ -320,7 +320,7 @@ static int __devinit snd_cs5535audio_create(struct snd_card *card,
320 cs5535au->port = pci_resource_start(pci, 0); 320 cs5535au->port = pci_resource_start(pci, 0);
321 321
322 if (request_irq(pci->irq, snd_cs5535audio_interrupt, 322 if (request_irq(pci->irq, snd_cs5535audio_interrupt,
323 IRQF_DISABLED|IRQF_SHARED, "CS5535 Audio", cs5535au)) { 323 IRQF_SHARED, "CS5535 Audio", cs5535au)) {
324 snd_printk("unable to grab IRQ %d\n", pci->irq); 324 snd_printk("unable to grab IRQ %d\n", pci->irq);
325 err = -EBUSY; 325 err = -EBUSY;
326 goto sndfail; 326 goto sndfail;
diff --git a/sound/pci/echoaudio/echoaudio.c b/sound/pci/echoaudio/echoaudio.c
index e5e88fe54de0..047e0b5bf15d 100644
--- a/sound/pci/echoaudio/echoaudio.c
+++ b/sound/pci/echoaudio/echoaudio.c
@@ -1872,7 +1872,7 @@ static int snd_echo_free(struct echoaudio *chip)
1872 DE_INIT(("Stopped.\n")); 1872 DE_INIT(("Stopped.\n"));
1873 1873
1874 if (chip->irq >= 0) 1874 if (chip->irq >= 0)
1875 free_irq(chip->irq, (void *)chip); 1875 free_irq(chip->irq, chip);
1876 1876
1877 if (chip->dsp_registers) 1877 if (chip->dsp_registers)
1878 iounmap(chip->dsp_registers); 1878 iounmap(chip->dsp_registers);
@@ -1950,8 +1950,8 @@ static __devinit int snd_echo_create(struct snd_card *card,
1950 chip->dsp_registers = (volatile u32 __iomem *) 1950 chip->dsp_registers = (volatile u32 __iomem *)
1951 ioremap_nocache(chip->dsp_registers_phys, sz); 1951 ioremap_nocache(chip->dsp_registers_phys, sz);
1952 1952
1953 if (request_irq(pci->irq, snd_echo_interrupt, IRQF_DISABLED | IRQF_SHARED, 1953 if (request_irq(pci->irq, snd_echo_interrupt, IRQF_SHARED,
1954 ECHOCARD_NAME, (void *)chip)) { 1954 ECHOCARD_NAME, chip)) {
1955 snd_echo_free(chip); 1955 snd_echo_free(chip);
1956 snd_printk(KERN_ERR "cannot grab irq\n"); 1956 snd_printk(KERN_ERR "cannot grab irq\n");
1957 return -EBUSY; 1957 return -EBUSY;
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c
index 8bc4ffa6220d..972ec40d8166 100644
--- a/sound/pci/emu10k1/emu10k1_main.c
+++ b/sound/pci/emu10k1/emu10k1_main.c
@@ -759,7 +759,7 @@ static int snd_emu10k1_free(struct snd_emu10k1 *emu)
759 free_pm_buffer(emu); 759 free_pm_buffer(emu);
760#endif 760#endif
761 if (emu->irq >= 0) 761 if (emu->irq >= 0)
762 free_irq(emu->irq, (void *)emu); 762 free_irq(emu->irq, emu);
763 if (emu->port) 763 if (emu->port)
764 pci_release_regions(emu->pci); 764 pci_release_regions(emu->pci);
765 if (emu->card_capabilities->ca0151_chip) /* P16V */ 765 if (emu->card_capabilities->ca0151_chip) /* P16V */
@@ -1246,7 +1246,8 @@ int __devinit snd_emu10k1_create(struct snd_card *card,
1246 } 1246 }
1247 emu->port = pci_resource_start(pci, 0); 1247 emu->port = pci_resource_start(pci, 0);
1248 1248
1249 if (request_irq(pci->irq, snd_emu10k1_interrupt, IRQF_DISABLED|IRQF_SHARED, "EMU10K1", (void *)emu)) { 1249 if (request_irq(pci->irq, snd_emu10k1_interrupt, IRQF_SHARED,
1250 "EMU10K1", emu)) {
1250 err = -EBUSY; 1251 err = -EBUSY;
1251 goto error; 1252 goto error;
1252 } 1253 }
diff --git a/sound/pci/emu10k1/emu10k1x.c b/sound/pci/emu10k1/emu10k1x.c
index c46905a11175..2199b42a6019 100644
--- a/sound/pci/emu10k1/emu10k1x.c
+++ b/sound/pci/emu10k1/emu10k1x.c
@@ -235,7 +235,7 @@ struct emu10k1x {
235 struct resource *res_port; 235 struct resource *res_port;
236 int irq; 236 int irq;
237 237
238 unsigned int revision; /* chip revision */ 238 unsigned char revision; /* chip revision */
239 unsigned int serial; /* serial number */ 239 unsigned int serial; /* serial number */
240 unsigned short model; /* subsystem id */ 240 unsigned short model; /* subsystem id */
241 241
@@ -760,7 +760,7 @@ static int snd_emu10k1x_free(struct emu10k1x *chip)
760 760
761 // release the irq 761 // release the irq
762 if (chip->irq >= 0) 762 if (chip->irq >= 0)
763 free_irq(chip->irq, (void *)chip); 763 free_irq(chip->irq, chip);
764 764
765 // release the DMA 765 // release the DMA
766 if (chip->dma_buffer.area) { 766 if (chip->dma_buffer.area) {
@@ -927,8 +927,7 @@ static int __devinit snd_emu10k1x_create(struct snd_card *card,
927 } 927 }
928 928
929 if (request_irq(pci->irq, snd_emu10k1x_interrupt, 929 if (request_irq(pci->irq, snd_emu10k1x_interrupt,
930 IRQF_DISABLED|IRQF_SHARED, "EMU10K1X", 930 IRQF_SHARED, "EMU10K1X", chip)) {
931 (void *)chip)) {
932 snd_printk(KERN_ERR "emu10k1x: cannot grab irq %d\n", pci->irq); 931 snd_printk(KERN_ERR "emu10k1x: cannot grab irq %d\n", pci->irq);
933 snd_emu10k1x_free(chip); 932 snd_emu10k1x_free(chip);
934 return -EBUSY; 933 return -EBUSY;
@@ -943,7 +942,7 @@ static int __devinit snd_emu10k1x_create(struct snd_card *card,
943 942
944 pci_set_master(pci); 943 pci_set_master(pci);
945 /* read revision & serial */ 944 /* read revision & serial */
946 pci_read_config_byte(pci, PCI_REVISION_ID, (char *)&chip->revision); 945 pci_read_config_byte(pci, PCI_REVISION_ID, &chip->revision);
947 pci_read_config_dword(pci, PCI_SUBSYSTEM_VENDOR_ID, &chip->serial); 946 pci_read_config_dword(pci, PCI_SUBSYSTEM_VENDOR_ID, &chip->serial);
948 pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &chip->model); 947 pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &chip->model);
949 snd_printk(KERN_INFO "Model %04x Rev %08x Serial %08x\n", chip->model, 948 snd_printk(KERN_INFO "Model %04x Rev %08x Serial %08x\n", chip->model,
diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c
index d2a811f222c9..a84f6b21024f 100644
--- a/sound/pci/ens1370.c
+++ b/sound/pci/ens1370.c
@@ -2141,7 +2141,7 @@ static int __devinit snd_ensoniq_create(struct snd_card *card,
2141 return err; 2141 return err;
2142 } 2142 }
2143 ensoniq->port = pci_resource_start(pci, 0); 2143 ensoniq->port = pci_resource_start(pci, 0);
2144 if (request_irq(pci->irq, snd_audiopci_interrupt, IRQF_DISABLED|IRQF_SHARED, 2144 if (request_irq(pci->irq, snd_audiopci_interrupt, IRQF_SHARED,
2145 "Ensoniq AudioPCI", ensoniq)) { 2145 "Ensoniq AudioPCI", ensoniq)) {
2146 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2146 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2147 snd_ensoniq_free(ensoniq); 2147 snd_ensoniq_free(ensoniq);
diff --git a/sound/pci/es1938.c b/sound/pci/es1938.c
index 1a8d36df4b5d..66ac26c5a240 100644
--- a/sound/pci/es1938.c
+++ b/sound/pci/es1938.c
@@ -1508,7 +1508,7 @@ static int es1938_resume(struct pci_dev *pci)
1508 } 1508 }
1509 1509
1510 if (request_irq(pci->irq, snd_es1938_interrupt, 1510 if (request_irq(pci->irq, snd_es1938_interrupt,
1511 IRQF_DISABLED|IRQF_SHARED, "ES1938", chip)) { 1511 IRQF_SHARED, "ES1938", chip)) {
1512 printk(KERN_ERR "es1938: unable to grab IRQ %d, " 1512 printk(KERN_ERR "es1938: unable to grab IRQ %d, "
1513 "disabling device\n", pci->irq); 1513 "disabling device\n", pci->irq);
1514 snd_card_disconnect(card); 1514 snd_card_disconnect(card);
@@ -1631,7 +1631,7 @@ static int __devinit snd_es1938_create(struct snd_card *card,
1631 chip->vc_port = pci_resource_start(pci, 2); 1631 chip->vc_port = pci_resource_start(pci, 2);
1632 chip->mpu_port = pci_resource_start(pci, 3); 1632 chip->mpu_port = pci_resource_start(pci, 3);
1633 chip->game_port = pci_resource_start(pci, 4); 1633 chip->game_port = pci_resource_start(pci, 4);
1634 if (request_irq(pci->irq, snd_es1938_interrupt, IRQF_DISABLED|IRQF_SHARED, 1634 if (request_irq(pci->irq, snd_es1938_interrupt, IRQF_SHARED,
1635 "ES1938", chip)) { 1635 "ES1938", chip)) {
1636 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1636 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1637 snd_es1938_free(chip); 1637 snd_es1938_free(chip);
diff --git a/sound/pci/es1968.c b/sound/pci/es1968.c
index 092da53e1464..dc84c189b05f 100644
--- a/sound/pci/es1968.c
+++ b/sound/pci/es1968.c
@@ -1337,7 +1337,7 @@ static struct esm_memory *snd_es1968_new_memory(struct es1968 *chip, int size)
1337 struct esm_memory *buf; 1337 struct esm_memory *buf;
1338 struct list_head *p; 1338 struct list_head *p;
1339 1339
1340 size = ((size + ESM_MEM_ALIGN - 1) / ESM_MEM_ALIGN) * ESM_MEM_ALIGN; 1340 size = ALIGN(size, ESM_MEM_ALIGN);
1341 mutex_lock(&chip->memory_mutex); 1341 mutex_lock(&chip->memory_mutex);
1342 list_for_each(p, &chip->buf_list) { 1342 list_for_each(p, &chip->buf_list) {
1343 buf = list_entry(p, struct esm_memory, list); 1343 buf = list_entry(p, struct esm_memory, list);
@@ -2462,7 +2462,7 @@ static int snd_es1968_free(struct es1968 *chip)
2462 } 2462 }
2463 2463
2464 if (chip->irq >= 0) 2464 if (chip->irq >= 0)
2465 free_irq(chip->irq, (void *)chip); 2465 free_irq(chip->irq, chip);
2466 snd_es1968_free_gameport(chip); 2466 snd_es1968_free_gameport(chip);
2467 chip->master_switch = NULL; 2467 chip->master_switch = NULL;
2468 chip->master_volume = NULL; 2468 chip->master_volume = NULL;
@@ -2552,8 +2552,8 @@ static int __devinit snd_es1968_create(struct snd_card *card,
2552 return err; 2552 return err;
2553 } 2553 }
2554 chip->io_port = pci_resource_start(pci, 0); 2554 chip->io_port = pci_resource_start(pci, 0);
2555 if (request_irq(pci->irq, snd_es1968_interrupt, IRQF_DISABLED|IRQF_SHARED, 2555 if (request_irq(pci->irq, snd_es1968_interrupt, IRQF_SHARED,
2556 "ESS Maestro", (void*)chip)) { 2556 "ESS Maestro", chip)) {
2557 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2557 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2558 snd_es1968_free(chip); 2558 snd_es1968_free(chip);
2559 return -EBUSY; 2559 return -EBUSY;
diff --git a/sound/pci/fm801.c b/sound/pci/fm801.c
index 77e3d5c18302..b7b361ce3a93 100644
--- a/sound/pci/fm801.c
+++ b/sound/pci/fm801.c
@@ -1395,7 +1395,7 @@ static int __devinit snd_fm801_create(struct snd_card *card,
1395 } 1395 }
1396 chip->port = pci_resource_start(pci, 0); 1396 chip->port = pci_resource_start(pci, 0);
1397 if ((tea575x_tuner & 0x0010) == 0) { 1397 if ((tea575x_tuner & 0x0010) == 0) {
1398 if (request_irq(pci->irq, snd_fm801_interrupt, IRQF_DISABLED|IRQF_SHARED, 1398 if (request_irq(pci->irq, snd_fm801_interrupt, IRQF_SHARED,
1399 "FM801", chip)) { 1399 "FM801", chip)) {
1400 snd_printk(KERN_ERR "unable to grab IRQ %d\n", chip->irq); 1400 snd_printk(KERN_ERR "unable to grab IRQ %d\n", chip->irq);
1401 snd_fm801_free(chip); 1401 snd_fm801_free(chip);
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 71482c15a852..18bbc87e376f 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -1367,9 +1367,6 @@ static struct hda_rate_tbl rate_bits[] = {
1367 { 176400, SNDRV_PCM_RATE_176400, 0x5800 },/* 4 x 44 */ 1367 { 176400, SNDRV_PCM_RATE_176400, 0x5800 },/* 4 x 44 */
1368 { 192000, SNDRV_PCM_RATE_192000, 0x1800 }, /* 4 x 48 */ 1368 { 192000, SNDRV_PCM_RATE_192000, 0x1800 }, /* 4 x 48 */
1369 1369
1370 /* not autodetected value */
1371 { 9600, SNDRV_PCM_RATE_KNOT, 0x0400 }, /* 1/5 x 48 */
1372
1373 { 0 } /* terminator */ 1370 { 0 } /* terminator */
1374}; 1371};
1375 1372
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index e35cfd326df2..9fd34f85cad5 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -1380,7 +1380,8 @@ static int __devinit azx_init_stream(struct azx *chip)
1380 1380
1381static int azx_acquire_irq(struct azx *chip, int do_disconnect) 1381static int azx_acquire_irq(struct azx *chip, int do_disconnect)
1382{ 1382{
1383 if (request_irq(chip->pci->irq, azx_interrupt, IRQF_DISABLED|IRQF_SHARED, 1383 if (request_irq(chip->pci->irq, azx_interrupt,
1384 chip->msi ? 0 : IRQF_SHARED,
1384 "HDA Intel", chip)) { 1385 "HDA Intel", chip)) {
1385 printk(KERN_ERR "hda-intel: unable to grab IRQ %d, " 1386 printk(KERN_ERR "hda-intel: unable to grab IRQ %d, "
1386 "disabling device\n", chip->pci->irq); 1387 "disabling device\n", chip->pci->irq);
diff --git a/sound/pci/hda/hda_proc.c b/sound/pci/hda/hda_proc.c
index d737f17695a3..17df4d0fe135 100644
--- a/sound/pci/hda/hda_proc.c
+++ b/sound/pci/hda/hda_proc.c
@@ -45,7 +45,7 @@ static const char *get_wid_type_name(unsigned int wid_value)
45 if (names[wid_value]) 45 if (names[wid_value])
46 return names[wid_value]; 46 return names[wid_value];
47 else 47 else
48 return "UNKOWN Widget"; 48 return "UNKNOWN Widget";
49} 49}
50 50
51static void print_amp_caps(struct snd_info_buffer *buffer, 51static void print_amp_caps(struct snd_info_buffer *buffer,
@@ -88,6 +88,48 @@ static void print_amp_vals(struct snd_info_buffer *buffer,
88 snd_iprintf(buffer, "\n"); 88 snd_iprintf(buffer, "\n");
89} 89}
90 90
91static void print_pcm_rates(struct snd_info_buffer *buffer, unsigned int pcm)
92{
93 static unsigned int rates[] = {
94 8000, 11025, 16000, 22050, 32000, 44100, 48000, 88200,
95 96000, 176400, 192000, 384000
96 };
97 int i;
98
99 pcm &= AC_SUPPCM_RATES;
100 snd_iprintf(buffer, " rates [0x%x]:", pcm);
101 for (i = 0; i < ARRAY_SIZE(rates); i++)
102 if (pcm & (1 << i))
103 snd_iprintf(buffer, " %d", rates[i]);
104 snd_iprintf(buffer, "\n");
105}
106
107static void print_pcm_bits(struct snd_info_buffer *buffer, unsigned int pcm)
108{
109 static unsigned int bits[] = { 8, 16, 20, 24, 32 };
110 int i;
111
112 pcm = (pcm >> 16) & 0xff;
113 snd_iprintf(buffer, " bits [0x%x]:", pcm);
114 for (i = 0; i < ARRAY_SIZE(bits); i++)
115 if (pcm & (1 << i))
116 snd_iprintf(buffer, " %d", bits[i]);
117 snd_iprintf(buffer, "\n");
118}
119
120static void print_pcm_formats(struct snd_info_buffer *buffer,
121 unsigned int streams)
122{
123 snd_iprintf(buffer, " formats [0x%x]:", streams & 0xf);
124 if (streams & AC_SUPFMT_PCM)
125 snd_iprintf(buffer, " PCM");
126 if (streams & AC_SUPFMT_FLOAT32)
127 snd_iprintf(buffer, " FLOAT");
128 if (streams & AC_SUPFMT_AC3)
129 snd_iprintf(buffer, " AC3");
130 snd_iprintf(buffer, "\n");
131}
132
91static void print_pcm_caps(struct snd_info_buffer *buffer, 133static void print_pcm_caps(struct snd_info_buffer *buffer,
92 struct hda_codec *codec, hda_nid_t nid) 134 struct hda_codec *codec, hda_nid_t nid)
93{ 135{
@@ -97,8 +139,9 @@ static void print_pcm_caps(struct snd_info_buffer *buffer,
97 snd_iprintf(buffer, "N/A\n"); 139 snd_iprintf(buffer, "N/A\n");
98 return; 140 return;
99 } 141 }
100 snd_iprintf(buffer, "rates 0x%03x, bits 0x%02x, types 0x%x\n", 142 print_pcm_rates(buffer, pcm);
101 pcm & AC_SUPPCM_RATES, (pcm >> 16) & 0xff, stream & 0xf); 143 print_pcm_bits(buffer, pcm);
144 print_pcm_formats(buffer, stream);
102} 145}
103 146
104static const char *get_jack_location(u32 cfg) 147static const char *get_jack_location(u32 cfg)
@@ -210,7 +253,7 @@ static void print_codec_info(struct snd_info_entry *entry, struct snd_info_buffe
210 snd_iprintf(buffer, "Revision Id: 0x%x\n", codec->revision_id); 253 snd_iprintf(buffer, "Revision Id: 0x%x\n", codec->revision_id);
211 if (! codec->afg) 254 if (! codec->afg)
212 return; 255 return;
213 snd_iprintf(buffer, "Default PCM: "); 256 snd_iprintf(buffer, "Default PCM:\n");
214 print_pcm_caps(buffer, codec, codec->afg); 257 print_pcm_caps(buffer, codec, codec->afg);
215 snd_iprintf(buffer, "Default Amp-In caps: "); 258 snd_iprintf(buffer, "Default Amp-In caps: ");
216 print_amp_caps(buffer, codec, codec->afg, HDA_INPUT); 259 print_amp_caps(buffer, codec, codec->afg, HDA_INPUT);
@@ -278,7 +321,7 @@ static void print_codec_info(struct snd_info_entry *entry, struct snd_info_buffe
278 321
279 if ((wid_type == AC_WID_AUD_OUT || wid_type == AC_WID_AUD_IN) && 322 if ((wid_type == AC_WID_AUD_OUT || wid_type == AC_WID_AUD_IN) &&
280 (wid_caps & AC_WCAP_FORMAT_OVRD)) { 323 (wid_caps & AC_WCAP_FORMAT_OVRD)) {
281 snd_iprintf(buffer, " PCM: "); 324 snd_iprintf(buffer, " PCM:\n");
282 print_pcm_caps(buffer, codec, nid); 325 print_pcm_caps(buffer, codec, nid);
283 } 326 }
284 327
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index edd22dec8286..076365bc10e9 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -794,6 +794,8 @@ static struct hda_board_config ad1986a_cfg_tbl[] = {
794 { .modelname = "3stack", .config = AD1986A_3STACK }, 794 { .modelname = "3stack", .config = AD1986A_3STACK },
795 { .pci_subvendor = 0x10de, .pci_subdevice = 0xcb84, 795 { .pci_subvendor = 0x10de, .pci_subdevice = 0xcb84,
796 .config = AD1986A_3STACK }, /* ASUS A8N-VM CSM */ 796 .config = AD1986A_3STACK }, /* ASUS A8N-VM CSM */
797 { .pci_subvendor = 0x1043, .pci_subdevice = 0x817f,
798 .config = AD1986A_3STACK }, /* ASUS P5P-L2 */
797 { .pci_subvendor = 0x1043, .pci_subdevice = 0x81b3, 799 { .pci_subvendor = 0x1043, .pci_subdevice = 0x81b3,
798 .config = AD1986A_3STACK }, /* ASUS P5RD2-VM / P5GPL-X SE */ 800 .config = AD1986A_3STACK }, /* ASUS P5RD2-VM / P5GPL-X SE */
799 { .pci_subvendor = 0x1043, .pci_subdevice = 0x81cb, 801 { .pci_subvendor = 0x1043, .pci_subdevice = 0x81cb,
@@ -811,7 +813,7 @@ static struct hda_board_config ad1986a_cfg_tbl[] = {
811 { .pci_subvendor = 0x144d, .pci_subdevice = 0xc024, 813 { .pci_subvendor = 0x144d, .pci_subdevice = 0xc024,
812 .config = AD1986A_LAPTOP_EAPD }, /* Samsung R65-T2300 Charis */ 814 .config = AD1986A_LAPTOP_EAPD }, /* Samsung R65-T2300 Charis */
813 { .pci_subvendor = 0x144d, .pci_subdevice = 0xc026, 815 { .pci_subvendor = 0x144d, .pci_subdevice = 0xc026,
814 .config = AD1986A_LAPTOP_EAPD }, /* Samsung X10-T2300 Culesa */ 816 .config = AD1986A_LAPTOP_EAPD }, /* Samsung X11-T2300 Culesa */
815 { .pci_subvendor = 0x1043, .pci_subdevice = 0x1153, 817 { .pci_subvendor = 0x1043, .pci_subdevice = 0x1153,
816 .config = AD1986A_LAPTOP_EAPD }, /* ASUS M9 */ 818 .config = AD1986A_LAPTOP_EAPD }, /* ASUS M9 */
817 { .pci_subvendor = 0x1043, .pci_subdevice = 0x1213, 819 { .pci_subvendor = 0x1043, .pci_subdevice = 0x1213,
@@ -822,6 +824,8 @@ static struct hda_board_config ad1986a_cfg_tbl[] = {
822 .config = AD1986A_LAPTOP_EAPD }, /* ASUS U5F */ 824 .config = AD1986A_LAPTOP_EAPD }, /* ASUS U5F */
823 { .pci_subvendor = 0x1043, .pci_subdevice = 0x1297, 825 { .pci_subvendor = 0x1043, .pci_subdevice = 0x1297,
824 .config = AD1986A_LAPTOP_EAPD }, /* ASUS Z62F */ 826 .config = AD1986A_LAPTOP_EAPD }, /* ASUS Z62F */
827 { .pci_subvendor = 0x1043, .pci_subdevice = 0x12b3,
828 .config = AD1986A_LAPTOP_EAPD }, /* ASUS V1j */
825 { .pci_subvendor = 0x103c, .pci_subdevice = 0x30af, 829 { .pci_subvendor = 0x103c, .pci_subdevice = 0x30af,
826 .config = AD1986A_LAPTOP_EAPD }, /* HP Compaq Presario B2800 */ 830 .config = AD1986A_LAPTOP_EAPD }, /* HP Compaq Presario B2800 */
827 { .pci_subvendor = 0x17aa, .pci_subdevice = 0x2066, 831 { .pci_subvendor = 0x17aa, .pci_subdevice = 0x2066,
@@ -1640,7 +1644,7 @@ static int ad198x_ch_mode_put(struct snd_kcontrol *kcontrol,
1640 int err = snd_hda_ch_mode_put(codec, ucontrol, spec->channel_mode, 1644 int err = snd_hda_ch_mode_put(codec, ucontrol, spec->channel_mode,
1641 spec->num_channel_mode, 1645 spec->num_channel_mode,
1642 &spec->multiout.max_channels); 1646 &spec->multiout.max_channels);
1643 if (! err && spec->need_dac_fix) 1647 if (err >= 0 && spec->need_dac_fix)
1644 spec->multiout.num_dacs = spec->multiout.max_channels / 2; 1648 spec->multiout.num_dacs = spec->multiout.max_channels / 2;
1645 return err; 1649 return err;
1646} 1650}
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index fb961448db19..29e4c48151bc 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -271,7 +271,7 @@ static int alc_ch_mode_put(struct snd_kcontrol *kcontrol,
271 int err = snd_hda_ch_mode_put(codec, ucontrol, spec->channel_mode, 271 int err = snd_hda_ch_mode_put(codec, ucontrol, spec->channel_mode,
272 spec->num_channel_mode, 272 spec->num_channel_mode,
273 &spec->multiout.max_channels); 273 &spec->multiout.max_channels);
274 if (! err && spec->need_dac_fix) 274 if (err >= 0 && spec->need_dac_fix)
275 spec->multiout.num_dacs = spec->multiout.max_channels / 2; 275 spec->multiout.num_dacs = spec->multiout.max_channels / 2;
276 return err; 276 return err;
277} 277}
@@ -5872,6 +5872,8 @@ static struct hda_board_config alc262_cfg_tbl[] = {
5872 { .modelname = "hp-bpc", .config = ALC262_HP_BPC }, 5872 { .modelname = "hp-bpc", .config = ALC262_HP_BPC },
5873 { .pci_subvendor = 0x103c, .pci_subdevice = 0x280c, 5873 { .pci_subvendor = 0x103c, .pci_subdevice = 0x280c,
5874 .config = ALC262_HP_BPC }, /* xw4400 */ 5874 .config = ALC262_HP_BPC }, /* xw4400 */
5875 { .pci_subvendor = 0x103c, .pci_subdevice = 0x2801,
5876 .config = ALC262_HP_BPC }, /* q965 */
5875 { .pci_subvendor = 0x103c, .pci_subdevice = 0x3014, 5877 { .pci_subvendor = 0x103c, .pci_subdevice = 0x3014,
5876 .config = ALC262_HP_BPC }, /* xw6400 */ 5878 .config = ALC262_HP_BPC }, /* xw6400 */
5877 { .pci_subvendor = 0x103c, .pci_subdevice = 0x3015, 5879 { .pci_subvendor = 0x103c, .pci_subdevice = 0x3015,
diff --git a/sound/pci/hda/patch_si3054.c b/sound/pci/hda/patch_si3054.c
index cc87dff1eb56..ed5e45e35963 100644
--- a/sound/pci/hda/patch_si3054.c
+++ b/sound/pci/hda/patch_si3054.c
@@ -243,7 +243,8 @@ static int si3054_init(struct hda_codec *codec)
243 243
244 if((val&SI3054_MEI_READY) != SI3054_MEI_READY) { 244 if((val&SI3054_MEI_READY) != SI3054_MEI_READY) {
245 snd_printk(KERN_ERR "si3054: cannot initialize. EXT MID = %04x\n", val); 245 snd_printk(KERN_ERR "si3054: cannot initialize. EXT MID = %04x\n", val);
246 return -EACCES; 246 /* let's pray that this is no fatal error */
247 /* return -EACCES; */
247 } 248 }
248 249
249 SET_REG(codec, SI3054_GPIO_POLARITY, 0xffff); 250 SET_REG(codec, SI3054_GPIO_POLARITY, 0xffff);
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c
index 8a576b78bee5..8ba31cfb9045 100644
--- a/sound/pci/ice1712/ice1712.c
+++ b/sound/pci/ice1712/ice1712.c
@@ -2614,7 +2614,7 @@ static int __devinit snd_ice1712_create(struct snd_card *card,
2614 ice->dmapath_port = pci_resource_start(pci, 2); 2614 ice->dmapath_port = pci_resource_start(pci, 2);
2615 ice->profi_port = pci_resource_start(pci, 3); 2615 ice->profi_port = pci_resource_start(pci, 3);
2616 2616
2617 if (request_irq(pci->irq, snd_ice1712_interrupt, IRQF_DISABLED|IRQF_SHARED, 2617 if (request_irq(pci->irq, snd_ice1712_interrupt, IRQF_SHARED,
2618 "ICE1712", ice)) { 2618 "ICE1712", ice)) {
2619 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2619 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2620 snd_ice1712_free(ice); 2620 snd_ice1712_free(ice);
diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c
index e9cbfdf37059..3e3a102e6c34 100644
--- a/sound/pci/ice1712/ice1724.c
+++ b/sound/pci/ice1712/ice1724.c
@@ -2253,7 +2253,7 @@ static int __devinit snd_vt1724_create(struct snd_card *card,
2253 ice->profi_port = pci_resource_start(pci, 1); 2253 ice->profi_port = pci_resource_start(pci, 1);
2254 2254
2255 if (request_irq(pci->irq, snd_vt1724_interrupt, 2255 if (request_irq(pci->irq, snd_vt1724_interrupt,
2256 IRQF_DISABLED|IRQF_SHARED, "ICE1724", ice)) { 2256 IRQF_SHARED, "ICE1724", ice)) {
2257 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2257 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2258 snd_vt1724_free(ice); 2258 snd_vt1724_free(ice);
2259 return -EIO; 2259 return -EIO;
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c
index 9c1bce7afa86..30aaa6092a84 100644
--- a/sound/pci/intel8x0.c
+++ b/sound/pci/intel8x0.c
@@ -2509,7 +2509,7 @@ static int intel8x0_resume(struct pci_dev *pci)
2509 } 2509 }
2510 pci_set_master(pci); 2510 pci_set_master(pci);
2511 if (request_irq(pci->irq, snd_intel8x0_interrupt, 2511 if (request_irq(pci->irq, snd_intel8x0_interrupt,
2512 IRQF_DISABLED|IRQF_SHARED, card->shortname, chip)) { 2512 IRQF_SHARED, card->shortname, chip)) {
2513 printk(KERN_ERR "intel8x0: unable to grab IRQ %d, " 2513 printk(KERN_ERR "intel8x0: unable to grab IRQ %d, "
2514 "disabling device\n", pci->irq); 2514 "disabling device\n", pci->irq);
2515 snd_card_disconnect(card); 2515 snd_card_disconnect(card);
@@ -2887,7 +2887,7 @@ static int __devinit snd_intel8x0_create(struct snd_card *card,
2887 2887
2888 /* request irq after initializaing int_sta_mask, etc */ 2888 /* request irq after initializaing int_sta_mask, etc */
2889 if (request_irq(pci->irq, snd_intel8x0_interrupt, 2889 if (request_irq(pci->irq, snd_intel8x0_interrupt,
2890 IRQF_DISABLED|IRQF_SHARED, card->shortname, chip)) { 2890 IRQF_SHARED, card->shortname, chip)) {
2891 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2891 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2892 snd_intel8x0_free(chip); 2892 snd_intel8x0_free(chip);
2893 return -EBUSY; 2893 return -EBUSY;
diff --git a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c
index bd467c501123..09dcf923b547 100644
--- a/sound/pci/intel8x0m.c
+++ b/sound/pci/intel8x0m.c
@@ -1071,7 +1071,7 @@ static int intel8x0m_resume(struct pci_dev *pci)
1071 } 1071 }
1072 pci_set_master(pci); 1072 pci_set_master(pci);
1073 if (request_irq(pci->irq, snd_intel8x0_interrupt, 1073 if (request_irq(pci->irq, snd_intel8x0_interrupt,
1074 IRQF_DISABLED|IRQF_SHARED, card->shortname, chip)) { 1074 IRQF_SHARED, card->shortname, chip)) {
1075 printk(KERN_ERR "intel8x0m: unable to grab IRQ %d, " 1075 printk(KERN_ERR "intel8x0m: unable to grab IRQ %d, "
1076 "disabling device\n", pci->irq); 1076 "disabling device\n", pci->irq);
1077 snd_card_disconnect(card); 1077 snd_card_disconnect(card);
@@ -1205,7 +1205,7 @@ static int __devinit snd_intel8x0m_create(struct snd_card *card,
1205 } 1205 }
1206 1206
1207 port_inited: 1207 port_inited:
1208 if (request_irq(pci->irq, snd_intel8x0_interrupt, IRQF_DISABLED|IRQF_SHARED, 1208 if (request_irq(pci->irq, snd_intel8x0_interrupt, IRQF_SHARED,
1209 card->shortname, chip)) { 1209 card->shortname, chip)) {
1210 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1210 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1211 snd_intel8x0_free(chip); 1211 snd_intel8x0_free(chip);
diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c
index fa8cd8cecc21..345eefeedb39 100644
--- a/sound/pci/korg1212/korg1212.c
+++ b/sound/pci/korg1212/korg1212.c
@@ -2233,7 +2233,7 @@ static int __devinit snd_korg1212_create(struct snd_card *card, struct pci_dev *
2233 } 2233 }
2234 2234
2235 err = request_irq(pci->irq, snd_korg1212_interrupt, 2235 err = request_irq(pci->irq, snd_korg1212_interrupt,
2236 IRQF_DISABLED|IRQF_SHARED, 2236 IRQF_SHARED,
2237 "korg1212", korg1212); 2237 "korg1212", korg1212);
2238 2238
2239 if (err) { 2239 if (err) {
diff --git a/sound/pci/maestro3.c b/sound/pci/maestro3.c
index 8cab342bbaaf..6efe6d5ade1e 100644
--- a/sound/pci/maestro3.c
+++ b/sound/pci/maestro3.c
@@ -2377,7 +2377,7 @@ static int __devinit snd_m3_assp_client_init(struct snd_m3 *chip, struct m3_dma
2377 * shifted list address is aligned. 2377 * shifted list address is aligned.
2378 * list address = (mem address >> 1) >> 7; 2378 * list address = (mem address >> 1) >> 7;
2379 */ 2379 */
2380 data_bytes = (data_bytes + 255) & ~255; 2380 data_bytes = ALIGN(data_bytes, 256);
2381 address = 0x1100 + ((data_bytes/2) * index); 2381 address = 0x1100 + ((data_bytes/2) * index);
2382 2382
2383 if ((address + (data_bytes/2)) >= 0x1c00) { 2383 if ((address + (data_bytes/2)) >= 0x1c00) {
@@ -2762,7 +2762,7 @@ snd_m3_create(struct snd_card *card, struct pci_dev *pci,
2762 2762
2763 tasklet_init(&chip->hwvol_tq, snd_m3_update_hw_volume, (unsigned long)chip); 2763 tasklet_init(&chip->hwvol_tq, snd_m3_update_hw_volume, (unsigned long)chip);
2764 2764
2765 if (request_irq(pci->irq, snd_m3_interrupt, IRQF_DISABLED|IRQF_SHARED, 2765 if (request_irq(pci->irq, snd_m3_interrupt, IRQF_SHARED,
2766 card->driver, chip)) { 2766 card->driver, chip)) {
2767 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2767 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2768 snd_m3_free(chip); 2768 snd_m3_free(chip);
diff --git a/sound/pci/mixart/mixart.c b/sound/pci/mixart/mixart.c
index 216aee5f93e7..21386da3bc86 100644
--- a/sound/pci/mixart/mixart.c
+++ b/sound/pci/mixart/mixart.c
@@ -1066,7 +1066,7 @@ static int snd_mixart_free(struct mixart_mgr *mgr)
1066 1066
1067 /* release irq */ 1067 /* release irq */
1068 if (mgr->irq >= 0) 1068 if (mgr->irq >= 0)
1069 free_irq(mgr->irq, (void *)mgr); 1069 free_irq(mgr->irq, mgr);
1070 1070
1071 /* reset board if some firmware was loaded */ 1071 /* reset board if some firmware was loaded */
1072 if(mgr->dsp_loaded) { 1072 if(mgr->dsp_loaded) {
@@ -1319,7 +1319,8 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci,
1319 pci_resource_len(pci, i)); 1319 pci_resource_len(pci, i));
1320 } 1320 }
1321 1321
1322 if (request_irq(pci->irq, snd_mixart_interrupt, IRQF_DISABLED|IRQF_SHARED, CARD_NAME, (void *)mgr)) { 1322 if (request_irq(pci->irq, snd_mixart_interrupt, IRQF_SHARED,
1323 CARD_NAME, mgr)) {
1323 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1324 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1324 snd_mixart_free(mgr); 1325 snd_mixart_free(mgr);
1325 return -EBUSY; 1326 return -EBUSY;
diff --git a/sound/pci/nm256/nm256.c b/sound/pci/nm256/nm256.c
index 945d21bf187e..879e31a9f9c6 100644
--- a/sound/pci/nm256/nm256.c
+++ b/sound/pci/nm256/nm256.c
@@ -465,7 +465,7 @@ static int snd_nm256_acquire_irq(struct nm256 *chip)
465{ 465{
466 mutex_lock(&chip->irq_mutex); 466 mutex_lock(&chip->irq_mutex);
467 if (chip->irq < 0) { 467 if (chip->irq < 0) {
468 if (request_irq(chip->pci->irq, chip->interrupt, IRQF_DISABLED|IRQF_SHARED, 468 if (request_irq(chip->pci->irq, chip->interrupt, IRQF_SHARED,
469 chip->card->driver, chip)) { 469 chip->card->driver, chip)) {
470 snd_printk(KERN_ERR "unable to grab IRQ %d\n", chip->pci->irq); 470 snd_printk(KERN_ERR "unable to grab IRQ %d\n", chip->pci->irq);
471 mutex_unlock(&chip->irq_mutex); 471 mutex_unlock(&chip->irq_mutex);
diff --git a/sound/pci/pcxhr/pcxhr.c b/sound/pci/pcxhr/pcxhr.c
index 533c672ae8f3..d97413484ae9 100644
--- a/sound/pci/pcxhr/pcxhr.c
+++ b/sound/pci/pcxhr/pcxhr.c
@@ -1250,7 +1250,7 @@ static int __devinit pcxhr_probe(struct pci_dev *pci, const struct pci_device_id
1250 mgr->pci = pci; 1250 mgr->pci = pci;
1251 mgr->irq = -1; 1251 mgr->irq = -1;
1252 1252
1253 if (request_irq(pci->irq, pcxhr_interrupt, IRQF_DISABLED|IRQF_SHARED, 1253 if (request_irq(pci->irq, pcxhr_interrupt, IRQF_SHARED,
1254 card_name, mgr)) { 1254 card_name, mgr)) {
1255 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1255 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1256 pcxhr_free(mgr); 1256 pcxhr_free(mgr);
diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c
index 56e0c01123e7..5e1d5d2b2850 100644
--- a/sound/pci/riptide/riptide.c
+++ b/sound/pci/riptide/riptide.c
@@ -1899,9 +1899,8 @@ snd_riptide_create(struct snd_card *card, struct pci_dev *pci,
1899 hwport = (struct riptideport *)chip->port; 1899 hwport = (struct riptideport *)chip->port;
1900 UNSET_AIE(hwport); 1900 UNSET_AIE(hwport);
1901 1901
1902 if (request_irq 1902 if (request_irq(pci->irq, snd_riptide_interrupt, IRQF_SHARED,
1903 (pci->irq, snd_riptide_interrupt, IRQF_DISABLED | IRQF_SHARED, 1903 "RIPTIDE", chip)) {
1904 "RIPTIDE", chip)) {
1905 snd_printk(KERN_ERR "Riptide: unable to grab IRQ %d\n", 1904 snd_printk(KERN_ERR "Riptide: unable to grab IRQ %d\n",
1906 pci->irq); 1905 pci->irq);
1907 snd_riptide_free(chip); 1906 snd_riptide_free(chip);
diff --git a/sound/pci/rme32.c b/sound/pci/rme32.c
index dc8d1302e22d..6bb7ac650ec4 100644
--- a/sound/pci/rme32.c
+++ b/sound/pci/rme32.c
@@ -1373,7 +1373,8 @@ static int __devinit snd_rme32_create(struct rme32 * rme32)
1373 return -ENOMEM; 1373 return -ENOMEM;
1374 } 1374 }
1375 1375
1376 if (request_irq(pci->irq, snd_rme32_interrupt, IRQF_DISABLED | IRQF_SHARED, "RME32", (void *) rme32)) { 1376 if (request_irq(pci->irq, snd_rme32_interrupt, IRQF_SHARED,
1377 "RME32", rme32)) {
1377 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1378 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1378 return -EBUSY; 1379 return -EBUSY;
1379 } 1380 }
diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c
index 106110a89a4c..e3304b7ccbcb 100644
--- a/sound/pci/rme96.c
+++ b/sound/pci/rme96.c
@@ -1587,7 +1587,8 @@ snd_rme96_create(struct rme96 *rme96)
1587 return -ENOMEM; 1587 return -ENOMEM;
1588 } 1588 }
1589 1589
1590 if (request_irq(pci->irq, snd_rme96_interrupt, IRQF_DISABLED|IRQF_SHARED, "RME96", (void *)rme96)) { 1590 if (request_irq(pci->irq, snd_rme96_interrupt, IRQF_SHARED,
1591 "RME96", rme96)) {
1591 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1592 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1592 return -EBUSY; 1593 return -EBUSY;
1593 } 1594 }
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c
index 694aa057ed49..6383987b460e 100644
--- a/sound/pci/rme9652/hdsp.c
+++ b/sound/pci/rme9652/hdsp.c
@@ -3516,8 +3516,8 @@ static int __devinit snd_hdsp_initialize_memory(struct hdsp *hdsp)
3516 3516
3517 /* Align to bus-space 64K boundary */ 3517 /* Align to bus-space 64K boundary */
3518 3518
3519 cb_bus = (hdsp->capture_dma_buf.addr + 0xFFFF) & ~0xFFFFl; 3519 cb_bus = ALIGN(hdsp->capture_dma_buf.addr, 0x10000ul);
3520 pb_bus = (hdsp->playback_dma_buf.addr + 0xFFFF) & ~0xFFFFl; 3520 pb_bus = ALIGN(hdsp->playback_dma_buf.addr, 0x10000ul);
3521 3521
3522 /* Tell the card where it is */ 3522 /* Tell the card where it is */
3523 3523
@@ -4934,13 +4934,14 @@ static int __devinit snd_hdsp_create(struct snd_card *card,
4934 return -EBUSY; 4934 return -EBUSY;
4935 } 4935 }
4936 4936
4937 if (request_irq(pci->irq, snd_hdsp_interrupt, IRQF_DISABLED|IRQF_SHARED, "hdsp", (void *)hdsp)) { 4937 if (request_irq(pci->irq, snd_hdsp_interrupt, IRQF_SHARED,
4938 "hdsp", hdsp)) {
4938 snd_printk(KERN_ERR "Hammerfall-DSP: unable to use IRQ %d\n", pci->irq); 4939 snd_printk(KERN_ERR "Hammerfall-DSP: unable to use IRQ %d\n", pci->irq);
4939 return -EBUSY; 4940 return -EBUSY;
4940 } 4941 }
4941 4942
4942 hdsp->irq = pci->irq; 4943 hdsp->irq = pci->irq;
4943 hdsp->precise_ptr = 1; 4944 hdsp->precise_ptr = 0;
4944 hdsp->use_midi_tasklet = 1; 4945 hdsp->use_midi_tasklet = 1;
4945 4946
4946 if ((err = snd_hdsp_initialize_memory(hdsp)) < 0) 4947 if ((err = snd_hdsp_initialize_memory(hdsp)) < 0)
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c
index 7055d893855d..0547f6f04bdc 100644
--- a/sound/pci/rme9652/hdspm.c
+++ b/sound/pci/rme9652/hdspm.c
@@ -3496,8 +3496,7 @@ static int __devinit snd_hdspm_create(struct snd_card *card, struct hdspm * hdsp
3496 hdspm->port + io_extent - 1); 3496 hdspm->port + io_extent - 1);
3497 3497
3498 if (request_irq(pci->irq, snd_hdspm_interrupt, 3498 if (request_irq(pci->irq, snd_hdspm_interrupt,
3499 IRQF_DISABLED | IRQF_SHARED, "hdspm", 3499 IRQF_SHARED, "hdspm", hdspm)) {
3500 (void *) hdspm)) {
3501 snd_printk(KERN_ERR "HDSPM: unable to use IRQ %d\n", pci->irq); 3500 snd_printk(KERN_ERR "HDSPM: unable to use IRQ %d\n", pci->irq);
3502 return -EBUSY; 3501 return -EBUSY;
3503 } 3502 }
diff --git a/sound/pci/rme9652/rme9652.c b/sound/pci/rme9652/rme9652.c
index cf0427b4bfde..cc3bdececce7 100644
--- a/sound/pci/rme9652/rme9652.c
+++ b/sound/pci/rme9652/rme9652.c
@@ -1827,8 +1827,8 @@ static int __devinit snd_rme9652_initialize_memory(struct snd_rme9652 *rme9652)
1827 1827
1828 /* Align to bus-space 64K boundary */ 1828 /* Align to bus-space 64K boundary */
1829 1829
1830 cb_bus = (rme9652->capture_dma_buf.addr + 0xFFFF) & ~0xFFFFl; 1830 cb_bus = ALIGN(rme9652->capture_dma_buf.addr, 0x10000ul);
1831 pb_bus = (rme9652->playback_dma_buf.addr + 0xFFFF) & ~0xFFFFl; 1831 pb_bus = ALIGN(rme9652->playback_dma_buf.addr, 0x10000ul);
1832 1832
1833 /* Tell the card where it is */ 1833 /* Tell the card where it is */
1834 1834
@@ -2500,7 +2500,8 @@ static int __devinit snd_rme9652_create(struct snd_card *card,
2500 return -EBUSY; 2500 return -EBUSY;
2501 } 2501 }
2502 2502
2503 if (request_irq(pci->irq, snd_rme9652_interrupt, IRQF_DISABLED|IRQF_SHARED, "rme9652", (void *)rme9652)) { 2503 if (request_irq(pci->irq, snd_rme9652_interrupt, IRQF_SHARED,
2504 "rme9652", rme9652)) {
2504 snd_printk(KERN_ERR "unable to request IRQ %d\n", pci->irq); 2505 snd_printk(KERN_ERR "unable to request IRQ %d\n", pci->irq);
2505 return -EBUSY; 2506 return -EBUSY;
2506 } 2507 }
diff --git a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c
index f9b8afabda9c..9f25d93cbec2 100644
--- a/sound/pci/sonicvibes.c
+++ b/sound/pci/sonicvibes.c
@@ -1195,7 +1195,7 @@ static int snd_sonicvibes_free(struct sonicvibes *sonic)
1195 pci_write_config_dword(sonic->pci, 0x40, sonic->dmaa_port); 1195 pci_write_config_dword(sonic->pci, 0x40, sonic->dmaa_port);
1196 pci_write_config_dword(sonic->pci, 0x48, sonic->dmac_port); 1196 pci_write_config_dword(sonic->pci, 0x48, sonic->dmac_port);
1197 if (sonic->irq >= 0) 1197 if (sonic->irq >= 0)
1198 free_irq(sonic->irq, (void *)sonic); 1198 free_irq(sonic->irq, sonic);
1199 release_and_free_resource(sonic->res_dmaa); 1199 release_and_free_resource(sonic->res_dmaa);
1200 release_and_free_resource(sonic->res_dmac); 1200 release_and_free_resource(sonic->res_dmac);
1201 pci_release_regions(sonic->pci); 1201 pci_release_regions(sonic->pci);
@@ -1257,7 +1257,8 @@ static int __devinit snd_sonicvibes_create(struct snd_card *card,
1257 sonic->midi_port = pci_resource_start(pci, 3); 1257 sonic->midi_port = pci_resource_start(pci, 3);
1258 sonic->game_port = pci_resource_start(pci, 4); 1258 sonic->game_port = pci_resource_start(pci, 4);
1259 1259
1260 if (request_irq(pci->irq, snd_sonicvibes_interrupt, IRQF_DISABLED|IRQF_SHARED, "S3 SonicVibes", (void *)sonic)) { 1260 if (request_irq(pci->irq, snd_sonicvibes_interrupt, IRQF_SHARED,
1261 "S3 SonicVibes", sonic)) {
1261 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1262 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1262 snd_sonicvibes_free(sonic); 1263 snd_sonicvibes_free(sonic);
1263 return -EBUSY; 1264 return -EBUSY;
diff --git a/sound/pci/trident/trident_main.c b/sound/pci/trident/trident_main.c
index 1fbc4321122f..474f2d451ae8 100644
--- a/sound/pci/trident/trident_main.c
+++ b/sound/pci/trident/trident_main.c
@@ -3380,8 +3380,8 @@ static int __devinit snd_trident_tlb_alloc(struct snd_trident *trident)
3380 snd_printk(KERN_ERR "trident: unable to allocate TLB buffer\n"); 3380 snd_printk(KERN_ERR "trident: unable to allocate TLB buffer\n");
3381 return -ENOMEM; 3381 return -ENOMEM;
3382 } 3382 }
3383 trident->tlb.entries = (unsigned int*)(((unsigned long)trident->tlb.buffer.area + SNDRV_TRIDENT_MAX_PAGES * 4 - 1) & ~(SNDRV_TRIDENT_MAX_PAGES * 4 - 1)); 3383 trident->tlb.entries = (unsigned int*)ALIGN((unsigned long)trident->tlb.buffer.area, SNDRV_TRIDENT_MAX_PAGES * 4);
3384 trident->tlb.entries_dmaaddr = (trident->tlb.buffer.addr + SNDRV_TRIDENT_MAX_PAGES * 4 - 1) & ~(SNDRV_TRIDENT_MAX_PAGES * 4 - 1); 3384 trident->tlb.entries_dmaaddr = ALIGN(trident->tlb.buffer.addr, SNDRV_TRIDENT_MAX_PAGES * 4);
3385 /* allocate shadow TLB page table (virtual addresses) */ 3385 /* allocate shadow TLB page table (virtual addresses) */
3386 trident->tlb.shadow_entries = vmalloc(SNDRV_TRIDENT_MAX_PAGES*sizeof(unsigned long)); 3386 trident->tlb.shadow_entries = vmalloc(SNDRV_TRIDENT_MAX_PAGES*sizeof(unsigned long));
3387 if (trident->tlb.shadow_entries == NULL) { 3387 if (trident->tlb.shadow_entries == NULL) {
@@ -3608,7 +3608,7 @@ int __devinit snd_trident_create(struct snd_card *card,
3608 } 3608 }
3609 trident->port = pci_resource_start(pci, 0); 3609 trident->port = pci_resource_start(pci, 0);
3610 3610
3611 if (request_irq(pci->irq, snd_trident_interrupt, IRQF_DISABLED|IRQF_SHARED, 3611 if (request_irq(pci->irq, snd_trident_interrupt, IRQF_SHARED,
3612 "Trident Audio", trident)) { 3612 "Trident Audio", trident)) {
3613 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 3613 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
3614 snd_trident_free(trident); 3614 snd_trident_free(trident);
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c
index 92b0736c0fdb..a572b018807f 100644
--- a/sound/pci/via82xx.c
+++ b/sound/pci/via82xx.c
@@ -2307,7 +2307,7 @@ static int __devinit snd_via82xx_create(struct snd_card *card,
2307 if (request_irq(pci->irq, 2307 if (request_irq(pci->irq,
2308 chip_type == TYPE_VIA8233 ? 2308 chip_type == TYPE_VIA8233 ?
2309 snd_via8233_interrupt : snd_via686_interrupt, 2309 snd_via8233_interrupt : snd_via686_interrupt,
2310 IRQF_DISABLED|IRQF_SHARED, 2310 IRQF_SHARED,
2311 card->driver, chip)) { 2311 card->driver, chip)) {
2312 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2312 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2313 snd_via82xx_free(chip); 2313 snd_via82xx_free(chip);
@@ -2366,7 +2366,7 @@ struct dxs_whitelist {
2366 2366
2367static int __devinit check_dxs_list(struct pci_dev *pci, int revision) 2367static int __devinit check_dxs_list(struct pci_dev *pci, int revision)
2368{ 2368{
2369 static struct dxs_whitelist whitelist[] = { 2369 static struct dxs_whitelist whitelist[] __devinitdata = {
2370 { .subvendor = 0x1005, .subdevice = 0x4710, .action = VIA_DXS_ENABLE }, /* Avance Logic Mobo */ 2370 { .subvendor = 0x1005, .subdevice = 0x4710, .action = VIA_DXS_ENABLE }, /* Avance Logic Mobo */
2371 { .subvendor = 0x1019, .subdevice = 0x0996, .action = VIA_DXS_48K }, 2371 { .subvendor = 0x1019, .subdevice = 0x0996, .action = VIA_DXS_48K },
2372 { .subvendor = 0x1019, .subdevice = 0x0a81, .action = VIA_DXS_NO_VRA }, /* ECS K7VTA3 v8.0 */ 2372 { .subvendor = 0x1019, .subdevice = 0x0a81, .action = VIA_DXS_NO_VRA }, /* ECS K7VTA3 v8.0 */
@@ -2427,7 +2427,7 @@ static int __devinit check_dxs_list(struct pci_dev *pci, int revision)
2427 { .subvendor = 0x4005, .subdevice = 0x4710, .action = VIA_DXS_SRC }, /* MSI K7T266 Pro2 (MS-6380 V2.0) BIOS 3.7 */ 2427 { .subvendor = 0x4005, .subdevice = 0x4710, .action = VIA_DXS_SRC }, /* MSI K7T266 Pro2 (MS-6380 V2.0) BIOS 3.7 */
2428 { } /* terminator */ 2428 { } /* terminator */
2429 }; 2429 };
2430 struct dxs_whitelist *w; 2430 const struct dxs_whitelist *w;
2431 unsigned short subsystem_vendor; 2431 unsigned short subsystem_vendor;
2432 unsigned short subsystem_device; 2432 unsigned short subsystem_device;
2433 2433
diff --git a/sound/pci/via82xx_modem.c b/sound/pci/via82xx_modem.c
index feb27c966256..17d6b847585f 100644
--- a/sound/pci/via82xx_modem.c
+++ b/sound/pci/via82xx_modem.c
@@ -1124,7 +1124,7 @@ static int __devinit snd_via82xx_create(struct snd_card *card,
1124 return err; 1124 return err;
1125 } 1125 }
1126 chip->port = pci_resource_start(pci, 0); 1126 chip->port = pci_resource_start(pci, 0);
1127 if (request_irq(pci->irq, snd_via82xx_interrupt, IRQF_DISABLED|IRQF_SHARED, 1127 if (request_irq(pci->irq, snd_via82xx_interrupt, IRQF_SHARED,
1128 card->driver, chip)) { 1128 card->driver, chip)) {
1129 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 1129 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
1130 snd_via82xx_free(chip); 1130 snd_via82xx_free(chip);
diff --git a/sound/pci/vx222/vx222.c b/sound/pci/vx222/vx222.c
index af49e8aabf55..89f58ea180b3 100644
--- a/sound/pci/vx222/vx222.c
+++ b/sound/pci/vx222/vx222.c
@@ -169,8 +169,8 @@ static int __devinit snd_vx222_create(struct snd_card *card, struct pci_dev *pci
169 for (i = 0; i < 2; i++) 169 for (i = 0; i < 2; i++)
170 vx->port[i] = pci_resource_start(pci, i + 1); 170 vx->port[i] = pci_resource_start(pci, i + 1);
171 171
172 if (request_irq(pci->irq, snd_vx_irq_handler, IRQF_DISABLED|IRQF_SHARED, 172 if (request_irq(pci->irq, snd_vx_irq_handler, IRQF_SHARED,
173 CARD_NAME, (void *) chip)) { 173 CARD_NAME, chip)) {
174 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 174 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
175 snd_vx222_free(chip); 175 snd_vx222_free(chip);
176 return -EBUSY; 176 return -EBUSY;
diff --git a/sound/pci/ymfpci/ymfpci.c b/sound/pci/ymfpci/ymfpci.c
index 186453f7abe7..fd9b7b83a884 100644
--- a/sound/pci/ymfpci/ymfpci.c
+++ b/sound/pci/ymfpci/ymfpci.c
@@ -49,7 +49,6 @@ static long mpu_port[SNDRV_CARDS];
49static long joystick_port[SNDRV_CARDS]; 49static long joystick_port[SNDRV_CARDS];
50#endif 50#endif
51static int rear_switch[SNDRV_CARDS]; 51static int rear_switch[SNDRV_CARDS];
52static int rear_swap[SNDRV_CARDS] = { [0 ... (SNDRV_CARDS-1)] = 1 };
53 52
54module_param_array(index, int, NULL, 0444); 53module_param_array(index, int, NULL, 0444);
55MODULE_PARM_DESC(index, "Index value for the Yamaha DS-1 PCI soundcard."); 54MODULE_PARM_DESC(index, "Index value for the Yamaha DS-1 PCI soundcard.");
@@ -67,8 +66,6 @@ MODULE_PARM_DESC(joystick_port, "Joystick port address");
67#endif 66#endif
68module_param_array(rear_switch, bool, NULL, 0444); 67module_param_array(rear_switch, bool, NULL, 0444);
69MODULE_PARM_DESC(rear_switch, "Enable shared rear/line-in switch"); 68MODULE_PARM_DESC(rear_switch, "Enable shared rear/line-in switch");
70module_param_array(rear_swap, bool, NULL, 0444);
71MODULE_PARM_DESC(rear_swap, "Swap rear channels (must be enabled for correct IEC958 (S/PDIF)) output");
72 69
73static struct pci_device_id snd_ymfpci_ids[] = { 70static struct pci_device_id snd_ymfpci_ids[] = {
74 { 0x1073, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724 */ 71 { 0x1073, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724 */
@@ -298,7 +295,7 @@ static int __devinit snd_card_ymfpci_probe(struct pci_dev *pci,
298 snd_card_free(card); 295 snd_card_free(card);
299 return err; 296 return err;
300 } 297 }
301 if ((err = snd_ymfpci_mixer(chip, rear_switch[dev], rear_swap[dev])) < 0) { 298 if ((err = snd_ymfpci_mixer(chip, rear_switch[dev])) < 0) {
302 snd_card_free(card); 299 snd_card_free(card);
303 return err; 300 return err;
304 } 301 }
diff --git a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c
index a40c1085fd20..7881944a1957 100644
--- a/sound/pci/ymfpci/ymfpci_main.c
+++ b/sound/pci/ymfpci/ymfpci_main.c
@@ -910,7 +910,7 @@ static int snd_ymfpci_playback_open(struct snd_pcm_substream *substream)
910 ypcm = runtime->private_data; 910 ypcm = runtime->private_data;
911 ypcm->output_front = 1; 911 ypcm->output_front = 1;
912 ypcm->output_rear = chip->mode_dup4ch ? 1 : 0; 912 ypcm->output_rear = chip->mode_dup4ch ? 1 : 0;
913 ypcm->swap_rear = chip->rear_swap; 913 ypcm->swap_rear = 0;
914 spin_lock_irq(&chip->reg_lock); 914 spin_lock_irq(&chip->reg_lock);
915 if (ypcm->output_rear) { 915 if (ypcm->output_rear) {
916 ymfpci_open_extension(chip); 916 ymfpci_open_extension(chip);
@@ -936,6 +936,7 @@ static int snd_ymfpci_playback_spdif_open(struct snd_pcm_substream *substream)
936 ypcm = runtime->private_data; 936 ypcm = runtime->private_data;
937 ypcm->output_front = 0; 937 ypcm->output_front = 0;
938 ypcm->output_rear = 1; 938 ypcm->output_rear = 1;
939 ypcm->swap_rear = 1;
939 spin_lock_irq(&chip->reg_lock); 940 spin_lock_irq(&chip->reg_lock);
940 snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTCTRL, 941 snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTCTRL,
941 snd_ymfpci_readw(chip, YDSXGR_SPDIFOUTCTRL) | 2); 942 snd_ymfpci_readw(chip, YDSXGR_SPDIFOUTCTRL) | 2);
@@ -963,6 +964,7 @@ static int snd_ymfpci_playback_4ch_open(struct snd_pcm_substream *substream)
963 ypcm = runtime->private_data; 964 ypcm = runtime->private_data;
964 ypcm->output_front = 0; 965 ypcm->output_front = 0;
965 ypcm->output_rear = 1; 966 ypcm->output_rear = 1;
967 ypcm->swap_rear = 0;
966 spin_lock_irq(&chip->reg_lock); 968 spin_lock_irq(&chip->reg_lock);
967 ymfpci_open_extension(chip); 969 ymfpci_open_extension(chip);
968 chip->rear_opened++; 970 chip->rear_opened++;
@@ -1755,7 +1757,7 @@ static void snd_ymfpci_mixer_free_ac97(struct snd_ac97 *ac97)
1755 chip->ac97 = NULL; 1757 chip->ac97 = NULL;
1756} 1758}
1757 1759
1758int __devinit snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch, int rear_swap) 1760int __devinit snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch)
1759{ 1761{
1760 struct snd_ac97_template ac97; 1762 struct snd_ac97_template ac97;
1761 struct snd_kcontrol *kctl; 1763 struct snd_kcontrol *kctl;
@@ -1767,7 +1769,6 @@ int __devinit snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch, int rea
1767 .read = snd_ymfpci_codec_read, 1769 .read = snd_ymfpci_codec_read,
1768 }; 1770 };
1769 1771
1770 chip->rear_swap = rear_swap;
1771 if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0) 1772 if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0)
1772 return err; 1773 return err;
1773 chip->ac97_bus->private_free = snd_ymfpci_mixer_free_ac97_bus; 1774 chip->ac97_bus->private_free = snd_ymfpci_mixer_free_ac97_bus;
@@ -2025,10 +2026,10 @@ static int __devinit snd_ymfpci_memalloc(struct snd_ymfpci *chip)
2025 chip->bank_size_effect = snd_ymfpci_readl(chip, YDSXGR_EFFCTRLSIZE) << 2; 2026 chip->bank_size_effect = snd_ymfpci_readl(chip, YDSXGR_EFFCTRLSIZE) << 2;
2026 chip->work_size = YDSXG_DEFAULT_WORK_SIZE; 2027 chip->work_size = YDSXG_DEFAULT_WORK_SIZE;
2027 2028
2028 size = ((playback_ctrl_size + 0x00ff) & ~0x00ff) + 2029 size = ALIGN(playback_ctrl_size, 0x100) +
2029 ((chip->bank_size_playback * 2 * YDSXG_PLAYBACK_VOICES + 0x00ff) & ~0x00ff) + 2030 ALIGN(chip->bank_size_playback * 2 * YDSXG_PLAYBACK_VOICES, 0x100) +
2030 ((chip->bank_size_capture * 2 * YDSXG_CAPTURE_VOICES + 0x00ff) & ~0x00ff) + 2031 ALIGN(chip->bank_size_capture * 2 * YDSXG_CAPTURE_VOICES, 0x100) +
2031 ((chip->bank_size_effect * 2 * YDSXG_EFFECT_VOICES + 0x00ff) & ~0x00ff) + 2032 ALIGN(chip->bank_size_effect * 2 * YDSXG_EFFECT_VOICES, 0x100) +
2032 chip->work_size; 2033 chip->work_size;
2033 /* work_ptr must be aligned to 256 bytes, but it's already 2034 /* work_ptr must be aligned to 256 bytes, but it's already
2034 covered with the kernel page allocation mechanism */ 2035 covered with the kernel page allocation mechanism */
@@ -2043,8 +2044,8 @@ static int __devinit snd_ymfpci_memalloc(struct snd_ymfpci *chip)
2043 chip->bank_base_playback_addr = ptr_addr; 2044 chip->bank_base_playback_addr = ptr_addr;
2044 chip->ctrl_playback = (u32 *)ptr; 2045 chip->ctrl_playback = (u32 *)ptr;
2045 chip->ctrl_playback[0] = cpu_to_le32(YDSXG_PLAYBACK_VOICES); 2046 chip->ctrl_playback[0] = cpu_to_le32(YDSXG_PLAYBACK_VOICES);
2046 ptr += (playback_ctrl_size + 0x00ff) & ~0x00ff; 2047 ptr += ALIGN(playback_ctrl_size, 0x100);
2047 ptr_addr += (playback_ctrl_size + 0x00ff) & ~0x00ff; 2048 ptr_addr += ALIGN(playback_ctrl_size, 0x100);
2048 for (voice = 0; voice < YDSXG_PLAYBACK_VOICES; voice++) { 2049 for (voice = 0; voice < YDSXG_PLAYBACK_VOICES; voice++) {
2049 chip->voices[voice].number = voice; 2050 chip->voices[voice].number = voice;
2050 chip->voices[voice].bank = (struct snd_ymfpci_playback_bank *)ptr; 2051 chip->voices[voice].bank = (struct snd_ymfpci_playback_bank *)ptr;
@@ -2055,8 +2056,8 @@ static int __devinit snd_ymfpci_memalloc(struct snd_ymfpci *chip)
2055 ptr_addr += chip->bank_size_playback; 2056 ptr_addr += chip->bank_size_playback;
2056 } 2057 }
2057 } 2058 }
2058 ptr = (char *)(((unsigned long)ptr + 0x00ff) & ~0x00ff); 2059 ptr = (char *)ALIGN((unsigned long)ptr, 0x100);
2059 ptr_addr = (ptr_addr + 0x00ff) & ~0x00ff; 2060 ptr_addr = ALIGN(ptr_addr, 0x100);
2060 chip->bank_base_capture = ptr; 2061 chip->bank_base_capture = ptr;
2061 chip->bank_base_capture_addr = ptr_addr; 2062 chip->bank_base_capture_addr = ptr_addr;
2062 for (voice = 0; voice < YDSXG_CAPTURE_VOICES; voice++) 2063 for (voice = 0; voice < YDSXG_CAPTURE_VOICES; voice++)
@@ -2065,8 +2066,8 @@ static int __devinit snd_ymfpci_memalloc(struct snd_ymfpci *chip)
2065 ptr += chip->bank_size_capture; 2066 ptr += chip->bank_size_capture;
2066 ptr_addr += chip->bank_size_capture; 2067 ptr_addr += chip->bank_size_capture;
2067 } 2068 }
2068 ptr = (char *)(((unsigned long)ptr + 0x00ff) & ~0x00ff); 2069 ptr = (char *)ALIGN((unsigned long)ptr, 0x100);
2069 ptr_addr = (ptr_addr + 0x00ff) & ~0x00ff; 2070 ptr_addr = ALIGN(ptr_addr, 0x100);
2070 chip->bank_base_effect = ptr; 2071 chip->bank_base_effect = ptr;
2071 chip->bank_base_effect_addr = ptr_addr; 2072 chip->bank_base_effect_addr = ptr_addr;
2072 for (voice = 0; voice < YDSXG_EFFECT_VOICES; voice++) 2073 for (voice = 0; voice < YDSXG_EFFECT_VOICES; voice++)
@@ -2075,8 +2076,8 @@ static int __devinit snd_ymfpci_memalloc(struct snd_ymfpci *chip)
2075 ptr += chip->bank_size_effect; 2076 ptr += chip->bank_size_effect;
2076 ptr_addr += chip->bank_size_effect; 2077 ptr_addr += chip->bank_size_effect;
2077 } 2078 }
2078 ptr = (char *)(((unsigned long)ptr + 0x00ff) & ~0x00ff); 2079 ptr = (char *)ALIGN((unsigned long)ptr, 0x100);
2079 ptr_addr = (ptr_addr + 0x00ff) & ~0x00ff; 2080 ptr_addr = ALIGN(ptr_addr, 0x100);
2080 chip->work_base = ptr; 2081 chip->work_base = ptr;
2081 chip->work_base_addr = ptr_addr; 2082 chip->work_base_addr = ptr_addr;
2082 2083
@@ -2153,7 +2154,7 @@ static int snd_ymfpci_free(struct snd_ymfpci *chip)
2153 snd_dma_free_pages(&chip->work_ptr); 2154 snd_dma_free_pages(&chip->work_ptr);
2154 2155
2155 if (chip->irq >= 0) 2156 if (chip->irq >= 0)
2156 free_irq(chip->irq, (void *)chip); 2157 free_irq(chip->irq, chip);
2157 release_and_free_resource(chip->res_reg_area); 2158 release_and_free_resource(chip->res_reg_area);
2158 2159
2159 pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl); 2160 pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl);
@@ -2290,7 +2291,7 @@ int __devinit snd_ymfpci_create(struct snd_card *card,
2290 chip->pci = pci; 2291 chip->pci = pci;
2291 chip->irq = -1; 2292 chip->irq = -1;
2292 chip->device_id = pci->device; 2293 chip->device_id = pci->device;
2293 pci_read_config_byte(pci, PCI_REVISION_ID, (u8 *)&chip->rev); 2294 pci_read_config_byte(pci, PCI_REVISION_ID, &chip->rev);
2294 chip->reg_area_phys = pci_resource_start(pci, 0); 2295 chip->reg_area_phys = pci_resource_start(pci, 0);
2295 chip->reg_area_virt = ioremap_nocache(chip->reg_area_phys, 0x8000); 2296 chip->reg_area_virt = ioremap_nocache(chip->reg_area_phys, 0x8000);
2296 pci_set_master(pci); 2297 pci_set_master(pci);
@@ -2300,7 +2301,8 @@ int __devinit snd_ymfpci_create(struct snd_card *card,
2300 snd_ymfpci_free(chip); 2301 snd_ymfpci_free(chip);
2301 return -EBUSY; 2302 return -EBUSY;
2302 } 2303 }
2303 if (request_irq(pci->irq, snd_ymfpci_interrupt, IRQF_DISABLED|IRQF_SHARED, "YMFPCI", (void *) chip)) { 2304 if (request_irq(pci->irq, snd_ymfpci_interrupt, IRQF_SHARED,
2305 "YMFPCI", chip)) {
2304 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 2306 snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
2305 snd_ymfpci_free(chip); 2307 snd_ymfpci_free(chip);
2306 return -EBUSY; 2308 return -EBUSY;
@@ -2322,7 +2324,6 @@ int __devinit snd_ymfpci_create(struct snd_card *card,
2322 return -EIO; 2324 return -EIO;
2323 } 2325 }
2324 2326
2325 chip->rear_swap = 1;
2326 if ((err = snd_ymfpci_ac3_init(chip)) < 0) { 2327 if ((err = snd_ymfpci_ac3_init(chip)) < 0) {
2327 snd_ymfpci_free(chip); 2328 snd_ymfpci_free(chip);
2328 return err; 2329 return err;
diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c
index 67202b9eeb77..3d7f36fb4cf0 100644
--- a/sound/usb/usbaudio.c
+++ b/sound/usb/usbaudio.c
@@ -3577,8 +3577,7 @@ static int __init snd_usb_audio_init(void)
3577 printk(KERN_WARNING "invalid nrpacks value.\n"); 3577 printk(KERN_WARNING "invalid nrpacks value.\n");
3578 return -EINVAL; 3578 return -EINVAL;
3579 } 3579 }
3580 usb_register(&usb_audio_driver); 3580 return usb_register(&usb_audio_driver);
3581 return 0;
3582} 3581}
3583 3582
3584 3583