瀏覽代碼

Merge branch 'master'

Jeff Garzik 19 年之前
父節點
當前提交
2b23582609
共有 100 個文件被更改,包括 601 次插入454 次删除
  1. 10 0
      Documentation/Changes
  2. 69 1
      Documentation/SubmittingPatches
  3. 55 19
      Documentation/keys.txt
  4. 28 5
      MAINTAINERS
  5. 1 1
      Makefile
  6. 1 0
      arch/alpha/kernel/entry.S
  7. 7 8
      arch/alpha/kernel/traps.c
  8. 2 2
      arch/arm/Makefile
  9. 2 0
      arch/arm/common/gic.c
  10. 0 1
      arch/arm/common/locomo.c
  11. 318 259
      arch/arm/configs/ixp4xx_defconfig
  12. 3 3
      arch/arm/kernel/io.c
  13. 2 0
      arch/arm/mach-clps711x/fortunet.c
  14. 0 1
      arch/arm/mach-imx/leds-mx1ads.c
  15. 0 1
      arch/arm/mach-iop3xx/common.c
  16. 0 1
      arch/arm/mach-iop3xx/iop321-time.c
  17. 0 1
      arch/arm/mach-iop3xx/iop331-time.c
  18. 0 1
      arch/arm/mach-iop3xx/iq31244-mm.c
  19. 0 1
      arch/arm/mach-iop3xx/iq80321-mm.c
  20. 0 1
      arch/arm/mach-iop3xx/iq80331-mm.c
  21. 0 1
      arch/arm/mach-iop3xx/iq80332-mm.c
  22. 1 2
      arch/arm/mach-ixp2000/core.c
  23. 0 1
      arch/arm/mach-ixp2000/pci.c
  24. 4 1
      arch/arm/mach-ixp4xx/common.c
  25. 1 1
      arch/arm/mach-ixp4xx/ixdp425-setup.c
  26. 0 1
      arch/arm/mach-l7200/core.c
  27. 0 1
      arch/arm/mach-pxa/corgi_lcd.c
  28. 1 0
      arch/arm/mach-pxa/generic.c
  29. 0 1
      arch/arm/mach-s3c2410/usb-simtec.c
  30. 22 22
      arch/arm/mach-versatile/core.c
  31. 0 1
      arch/arm/mach-versatile/pci.c
  32. 5 0
      arch/arm/mm/abort-ev6.S
  33. 8 1
      arch/arm/mm/cache-v6.S
  34. 18 18
      arch/arm/mm/flush.c
  35. 0 1
      arch/arm/plat-omap/common.c
  36. 0 1
      arch/arm/plat-omap/cpu-omap.c
  37. 0 1
      arch/arm/plat-omap/usb.c
  38. 1 2
      arch/i386/kernel/acpi/boot.c
  39. 0 1
      arch/i386/kernel/apic.c
  40. 16 0
      arch/i386/kernel/cpu/amd.c
  41. 0 1
      arch/i386/kernel/cpu/mcheck/k7.c
  42. 0 1
      arch/i386/kernel/cpu/mcheck/non-fatal.c
  43. 0 1
      arch/i386/kernel/cpu/mcheck/p4.c
  44. 0 1
      arch/i386/kernel/cpu/mcheck/p5.c
  45. 0 1
      arch/i386/kernel/cpu/mcheck/p6.c
  46. 0 1
      arch/i386/kernel/cpu/mcheck/winchip.c
  47. 0 2
      arch/i386/kernel/crash.c
  48. 0 3
      arch/i386/kernel/i8259.c
  49. 0 1
      arch/i386/kernel/io_apic.c
  50. 0 1
      arch/i386/kernel/mpparse.c
  51. 0 1
      arch/i386/kernel/nmi.c
  52. 0 2
      arch/i386/kernel/process.c
  53. 0 1
      arch/i386/kernel/smp.c
  54. 0 1
      arch/i386/kernel/smpboot.c
  55. 0 1
      arch/i386/kernel/timers/timer_pit.c
  56. 0 1
      arch/i386/kernel/traps.c
  57. 0 1
      arch/i386/mach-default/setup.c
  58. 0 1
      arch/i386/mach-visws/setup.c
  59. 0 1
      arch/i386/mach-visws/visws_apic.c
  60. 0 1
      arch/i386/mach-voyager/setup.c
  61. 0 1
      arch/i386/mach-voyager/voyager_basic.c
  62. 0 2
      arch/i386/mach-voyager/voyager_smp.c
  63. 0 2
      arch/i386/mach-voyager/voyager_thread.c
  64. 1 1
      arch/i386/oprofile/nmi_timer_int.c
  65. 0 1
      arch/i386/pci/acpi.c
  66. 1 2
      arch/i386/pci/irq.c
  67. 0 17
      arch/i386/power/cpu.c
  68. 1 1
      arch/m32r/Makefile
  69. 8 8
      arch/m32r/lib/usercopy.c
  70. 1 1
      arch/ppc/boot/ld.script
  71. 1 2
      arch/ppc/kernel/perfmon.c
  72. 0 1
      arch/ppc/platforms/4xx/bamboo.c
  73. 0 1
      arch/ppc/platforms/4xx/ebony.c
  74. 0 1
      arch/ppc/platforms/4xx/luan.c
  75. 0 1
      arch/ppc/platforms/4xx/ocotea.c
  76. 0 1
      arch/ppc/platforms/83xx/mpc834x_sys.c
  77. 0 1
      arch/ppc/platforms/85xx/mpc8540_ads.c
  78. 0 1
      arch/ppc/platforms/85xx/mpc8560_ads.c
  79. 0 1
      arch/ppc/platforms/85xx/mpc85xx_ads_common.c
  80. 0 1
      arch/ppc/platforms/85xx/mpc85xx_cds_common.c
  81. 0 1
      arch/ppc/platforms/85xx/sbc8560.c
  82. 0 1
      arch/ppc/platforms/85xx/sbc85xx.c
  83. 0 1
      arch/ppc/platforms/85xx/stx_gp3.c
  84. 0 1
      arch/ppc/platforms/chestnut.c
  85. 0 1
      arch/ppc/platforms/chrp_setup.c
  86. 0 1
      arch/ppc/platforms/gemini_setup.c
  87. 0 1
      arch/ppc/platforms/mvme5100.c
  88. 7 0
      arch/ppc/platforms/pmac_cpufreq.c
  89. 4 0
      arch/ppc/platforms/pmac_feature.c
  90. 0 1
      arch/ppc/platforms/pmac_setup.c
  91. 0 1
      arch/ppc/platforms/powerpmc250.c
  92. 0 1
      arch/ppc/platforms/pplus.c
  93. 0 1
      arch/ppc/platforms/prpmc750.c
  94. 0 1
      arch/ppc/platforms/prpmc800.c
  95. 0 2
      arch/ppc/platforms/radstone_ppc7d.c
  96. 0 1
      arch/ppc/platforms/sandpoint.c
  97. 2 2
      arch/ppc/syslib/mv64x60.c
  98. 0 1
      arch/ppc/syslib/open_pic.c
  99. 0 1
      arch/ppc/syslib/open_pic2.c
  100. 0 1
      arch/ppc/syslib/ppc4xx_setup.c

+ 10 - 0
Documentation/Changes

@@ -237,6 +237,12 @@ udev
 udev is a userspace application for populating /dev dynamically with
 udev is a userspace application for populating /dev dynamically with
 only entries for devices actually present. udev replaces devfs.
 only entries for devices actually present. udev replaces devfs.
 
 
+FUSE
+----
+
+Needs libfuse 2.4.0 or later.  Absolute minimum is 2.3.0 but mount
+options 'direct_io' and 'kernel_cache' won't work.
+
 Networking
 Networking
 ==========
 ==========
 
 
@@ -390,6 +396,10 @@ udev
 ----
 ----
 o <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>
 o <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>
 
 
+FUSE
+----
+o <http://sourceforge.net/projects/fuse>
+
 Networking
 Networking
 **********
 **********
 
 

+ 69 - 1
Documentation/SubmittingPatches

@@ -301,8 +301,68 @@ now, but you can do this to mark internal company procedures or just
 point out some special detail about the sign-off. 
 point out some special detail about the sign-off. 
 
 
 
 
+12) The canonical patch format
 
 
-12) More references for submitting patches
+The canonical patch subject line is:
+
+    Subject: [PATCH 001/123] [<area>:] <explanation>
+
+The canonical patch message body contains the following:
+
+  - A "from" line specifying the patch author.
+
+  - An empty line.
+
+  - The body of the explanation, which will be copied to the
+    permanent changelog to describe this patch.
+
+  - The "Signed-off-by:" lines, described above, which will
+    also go in the changelog.
+
+  - A marker line containing simply "---".
+
+  - Any additional comments not suitable for the changelog.
+
+  - The actual patch (diff output).
+
+The Subject line format makes it very easy to sort the emails
+alphabetically by subject line - pretty much any email reader will
+support that - since because the sequence number is zero-padded,
+the numerical and alphabetic sort is the same.
+
+See further details on how to phrase the "<explanation>" in the
+"Subject:" line in Andrew Morton's "The perfect patch", referenced
+below.
+
+The "from" line must be the very first line in the message body,
+and has the form:
+
+        From: Original Author <author@example.com>
+
+The "from" line specifies who will be credited as the author of the
+patch in the permanent changelog.  If the "from" line is missing,
+then the "From:" line from the email header will be used to determine
+the patch author in the changelog.
+
+The explanation body will be committed to the permanent source
+changelog, so should make sense to a competent reader who has long
+since forgotten the immediate details of the discussion that might
+have led to this patch.
+
+The "---" marker line serves the essential purpose of marking for patch
+handling tools where the changelog message ends.
+
+One good use for the additional comments after the "---" marker is for
+a diffstat, to show what files have changed, and the number of inserted
+and deleted lines per file.  A diffstat is especially useful on bigger
+patches.  Other comments relevant only to the moment or the maintainer,
+not suitable for the permanent changelog, should also go here.
+
+See more details on the proper patch format in the following
+references.
+
+
+13) More references for submitting patches
 
 
 Andrew Morton, "The perfect patch" (tpp).
 Andrew Morton, "The perfect patch" (tpp).
   <http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt>
   <http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt>
@@ -310,6 +370,14 @@ Andrew Morton, "The perfect patch" (tpp).
 Jeff Garzik, "Linux kernel patch submission format."
 Jeff Garzik, "Linux kernel patch submission format."
   <http://linux.yyz.us/patch-format.html>
   <http://linux.yyz.us/patch-format.html>
 
 
+Greg KH, "How to piss off a kernel subsystem maintainer"
+  <http://www.kroah.com/log/2005/03/31/>
+
+Kernel Documentation/CodingStyle
+  <http://sosdg.org/~coywolf/lxr/source/Documentation/CodingStyle>
+
+Linus Torvald's mail on the canonical patch format:
+  <http://lkml.org/lkml/2005/4/7/183>
 
 
 
 
 -----------------------------------
 -----------------------------------

+ 55 - 19
Documentation/keys.txt

@@ -195,8 +195,8 @@ KEY ACCESS PERMISSIONS
 ======================
 ======================
 
 
 Keys have an owner user ID, a group access ID, and a permissions mask. The mask
 Keys have an owner user ID, a group access ID, and a permissions mask. The mask
-has up to eight bits each for user, group and other access. Only five of each
-set of eight bits are defined. These permissions granted are:
+has up to eight bits each for possessor, user, group and other access. Only
+five of each set of eight bits are defined. These permissions granted are:
 
 
  (*) View
  (*) View
 
 
@@ -241,16 +241,16 @@ about the status of the key service:
      type, description and permissions. The payload of the key is not available
      type, description and permissions. The payload of the key is not available
      this way:
      this way:
 
 
-	SERIAL   FLAGS  USAGE EXPY PERM   UID   GID   TYPE      DESCRIPTION: SUMMARY
-	00000001 I-----    39 perm 1f0000     0     0 keyring   _uid_ses.0: 1/4
-	00000002 I-----     2 perm 1f0000     0     0 keyring   _uid.0: empty
-	00000007 I-----     1 perm 1f0000     0     0 keyring   _pid.1: empty
-	0000018d I-----     1 perm 1f0000     0     0 keyring   _pid.412: empty
-	000004d2 I--Q--     1 perm 1f0000    32    -1 keyring   _uid.32: 1/4
-	000004d3 I--Q--     3 perm 1f0000    32    -1 keyring   _uid_ses.32: empty
-	00000892 I--QU-     1 perm 1f0000     0     0 user      metal:copper: 0
-	00000893 I--Q-N     1  35s 1f0000     0     0 user      metal:silver: 0
-	00000894 I--Q--     1  10h 1f0000     0     0 user      metal:gold: 0
+	SERIAL   FLAGS  USAGE EXPY PERM     UID   GID   TYPE      DESCRIPTION: SUMMARY
+	00000001 I-----    39 perm 1f1f0000     0     0 keyring   _uid_ses.0: 1/4
+	00000002 I-----     2 perm 1f1f0000     0     0 keyring   _uid.0: empty
+	00000007 I-----     1 perm 1f1f0000     0     0 keyring   _pid.1: empty
+	0000018d I-----     1 perm 1f1f0000     0     0 keyring   _pid.412: empty
+	000004d2 I--Q--     1 perm 1f1f0000    32    -1 keyring   _uid.32: 1/4
+	000004d3 I--Q--     3 perm 1f1f0000    32    -1 keyring   _uid_ses.32: empty
+	00000892 I--QU-     1 perm 1f000000     0     0 user      metal:copper: 0
+	00000893 I--Q-N     1  35s 1f1f0000     0     0 user      metal:silver: 0
+	00000894 I--Q--     1  10h 001f0000     0     0 user      metal:gold: 0
 
 
      The flags are:
      The flags are:
 
 
@@ -637,6 +637,34 @@ call, and the key released upon close. How to deal with conflicting keys due to
 two different users opening the same file is left to the filesystem author to
 two different users opening the same file is left to the filesystem author to
 solve.
 solve.
 
 
+Note that there are two different types of pointers to keys that may be
+encountered:
+
+ (*) struct key *
+
+     This simply points to the key structure itself. Key structures will be at
+     least four-byte aligned.
+
+ (*) key_ref_t
+
+     This is equivalent to a struct key *, but the least significant bit is set
+     if the caller "possesses" the key. By "possession" it is meant that the
+     calling processes has a searchable link to the key from one of its
+     keyrings. There are three functions for dealing with these:
+
+	key_ref_t make_key_ref(const struct key *key,
+			       unsigned long possession);
+
+	struct key *key_ref_to_ptr(const key_ref_t key_ref);
+
+	unsigned long is_key_possessed(const key_ref_t key_ref);
+
+     The first function constructs a key reference from a key pointer and
+     possession information (which must be 0 or 1 and not any other value).
+
+     The second function retrieves the key pointer from a reference and the
+     third retrieves the possession flag.
+
 When accessing a key's payload contents, certain precautions must be taken to
 When accessing a key's payload contents, certain precautions must be taken to
 prevent access vs modification races. See the section "Notes on accessing
 prevent access vs modification races. See the section "Notes on accessing
 payload contents" for more information.
 payload contents" for more information.
@@ -665,7 +693,11 @@ payload contents" for more information.
 
 
 	void key_put(struct key *key);
 	void key_put(struct key *key);
 
 
-    This can be called from interrupt context. If CONFIG_KEYS is not set then
+    Or:
+
+	void key_ref_put(key_ref_t key_ref);
+
+    These can be called from interrupt context. If CONFIG_KEYS is not set then
     the argument will not be parsed.
     the argument will not be parsed.
 
 
 
 
@@ -689,13 +721,17 @@ payload contents" for more information.
 
 
 (*) If a keyring was found in the search, this can be further searched by:
 (*) If a keyring was found in the search, this can be further searched by:
 
 
-	struct key *keyring_search(struct key *keyring,
-				   const struct key_type *type,
-				   const char *description)
+	key_ref_t keyring_search(key_ref_t keyring_ref,
+				 const struct key_type *type,
+				 const char *description)
 
 
     This searches the keyring tree specified for a matching key. Error ENOKEY
     This searches the keyring tree specified for a matching key. Error ENOKEY
-    is returned upon failure. If successful, the returned key will need to be
-    released.
+    is returned upon failure (use IS_ERR/PTR_ERR to determine). If successful,
+    the returned key will need to be released.
+
+    The possession attribute from the keyring reference is used to control
+    access through the permissions mask and is propagated to the returned key
+    reference pointer if successful.
 
 
 
 
 (*) To check the validity of a key, this function can be called:
 (*) To check the validity of a key, this function can be called:
@@ -732,7 +768,7 @@ More complex payload contents must be allocated and a pointer to them set in
 key->payload.data. One of the following ways must be selected to access the
 key->payload.data. One of the following ways must be selected to access the
 data:
 data:
 
 
- (1) Unmodifyable key type.
+ (1) Unmodifiable key type.
 
 
      If the key type does not have a modify method, then the key's payload can
      If the key type does not have a modify method, then the key's payload can
      be accessed without any form of locking, provided that it's known to be
      be accessed without any form of locking, provided that it's known to be

+ 28 - 5
MAINTAINERS

@@ -604,6 +604,15 @@ P:	H. Peter Anvin
 M:	hpa@zytor.com
 M:	hpa@zytor.com
 S:	Maintained
 S:	Maintained
 
 
+CPUSETS
+P:	Paul Jackson
+P:	Simon Derr
+M:	pj@sgi.com
+M:	simon.derr@bull.net
+L:	linux-kernel@vger.kernel.org
+W:	http://www.bullopensource.org/cpuset/
+S:	Supported
+
 CRAMFS FILESYSTEM
 CRAMFS FILESYSTEM
 W:     http://sourceforge.net/projects/cramfs/
 W:     http://sourceforge.net/projects/cramfs/
 S:     Orphan
 S:     Orphan
@@ -1159,11 +1168,6 @@ L:	linux1394-devel@lists.sourceforge.net
 W:	http://www.linux1394.org/
 W:	http://www.linux1394.org/
 S:	Orphan
 S:	Orphan
 
 
-IEEE 1394 SBP2
-L:	linux1394-devel@lists.sourceforge.net
-W:	http://www.linux1394.org/
-S:	Orphan
-
 IEEE 1394 SUBSYSTEM
 IEEE 1394 SUBSYSTEM
 P:	Ben Collins
 P:	Ben Collins
 M:	bcollins@debian.org
 M:	bcollins@debian.org
@@ -1198,6 +1202,15 @@ L:	linux1394-devel@lists.sourceforge.net
 W:	http://www.linux1394.org/
 W:	http://www.linux1394.org/
 S:	Maintained
 S:	Maintained
 
 
+IEEE 1394 SBP2
+P:	Ben Collins
+M:	bcollins@debian.org
+P:	Stefan Richter
+M:	stefanr@s5r6.in-berlin.de
+L:	linux1394-devel@lists.sourceforge.net
+W:	http://www.linux1394.org/
+S:	Maintained
+
 IMS TWINTURBO FRAMEBUFFER DRIVER
 IMS TWINTURBO FRAMEBUFFER DRIVER
 P:	Paul Mundt
 P:	Paul Mundt
 M:	lethal@chaoticdreams.org
 M:	lethal@chaoticdreams.org
@@ -1734,8 +1747,11 @@ S:	Maintained
 IPVS
 IPVS
 P:	Wensong Zhang
 P:	Wensong Zhang
 M:	wensong@linux-vs.org
 M:	wensong@linux-vs.org
+P:	Simon Horman
+M:	horms@verge.net.au
 P:	Julian Anastasov
 P:	Julian Anastasov
 M:	ja@ssi.bg
 M:	ja@ssi.bg
+L:	netdev@vger.kernel.org
 S:	Maintained
 S:	Maintained
 
 
 NFS CLIENT
 NFS CLIENT
@@ -1906,6 +1922,13 @@ M:	joern@wh.fh-wedel.de
 L:	linux-mtd@lists.infradead.org
 L:	linux-mtd@lists.infradead.org
 S:	Maintained
 S:	Maintained
 
 
+PKTCDVD DRIVER
+P:	Peter Osterlund
+M:	petero2@telia.com
+L:	linux-kernel@vger.kernel.org
+L:	packet-writing@suse.com
+S:	Maintained
+
 POSIX CLOCKS and TIMERS
 POSIX CLOCKS and TIMERS
 P:	George Anzinger
 P:	George Anzinger
 M:	george@mvista.com
 M:	george@mvista.com

+ 1 - 1
Makefile

@@ -1,7 +1,7 @@
 VERSION = 2
 VERSION = 2
 PATCHLEVEL = 6
 PATCHLEVEL = 6
 SUBLEVEL = 14
 SUBLEVEL = 14
-EXTRAVERSION =-rc2
+EXTRAVERSION =-rc3
 NAME=Affluent Albatross
 NAME=Affluent Albatross
 
 
 # *DOCUMENTATION*
 # *DOCUMENTATION*

+ 1 - 0
arch/alpha/kernel/entry.S

@@ -196,6 +196,7 @@ entUna:
 	stq	$26, 208($sp)
 	stq	$26, 208($sp)
 	stq	$27, 216($sp)
 	stq	$27, 216($sp)
 	stq	$28, 224($sp)
 	stq	$28, 224($sp)
+	mov	$sp, $19
 	stq	$gp, 232($sp)
 	stq	$gp, 232($sp)
 	lda	$8, 0x3fff
 	lda	$8, 0x3fff
 	stq	$31, 248($sp)
 	stq	$31, 248($sp)

+ 7 - 8
arch/alpha/kernel/traps.c

@@ -446,16 +446,15 @@ struct unaligned_stat {
 
 
 
 
 /* Macro for exception fixup code to access integer registers.  */
 /* Macro for exception fixup code to access integer registers.  */
-#define una_reg(r)  (regs.regs[(r) >= 16 && (r) <= 18 ? (r)+19 : (r)])
+#define una_reg(r)  (regs->regs[(r) >= 16 && (r) <= 18 ? (r)+19 : (r)])
 
 
 
 
 asmlinkage void
 asmlinkage void
 do_entUna(void * va, unsigned long opcode, unsigned long reg,
 do_entUna(void * va, unsigned long opcode, unsigned long reg,
-	  unsigned long a3, unsigned long a4, unsigned long a5,
-	  struct allregs regs)
+	  struct allregs *regs)
 {
 {
 	long error, tmp1, tmp2, tmp3, tmp4;
 	long error, tmp1, tmp2, tmp3, tmp4;
-	unsigned long pc = regs.pc - 4;
+	unsigned long pc = regs->pc - 4;
 	const struct exception_table_entry *fixup;
 	const struct exception_table_entry *fixup;
 
 
 	unaligned[0].count++;
 	unaligned[0].count++;
@@ -636,7 +635,7 @@ got_exception:
 		printk("Forwarding unaligned exception at %lx (%lx)\n",
 		printk("Forwarding unaligned exception at %lx (%lx)\n",
 		       pc, newpc);
 		       pc, newpc);
 
 
-		(&regs)->pc = newpc;
+		regs->pc = newpc;
 		return;
 		return;
 	}
 	}
 
 
@@ -650,7 +649,7 @@ got_exception:
 	       current->comm, current->pid);
 	       current->comm, current->pid);
 
 
 	printk("pc = [<%016lx>]  ra = [<%016lx>]  ps = %04lx\n",
 	printk("pc = [<%016lx>]  ra = [<%016lx>]  ps = %04lx\n",
-	       pc, una_reg(26), regs.ps);
+	       pc, una_reg(26), regs->ps);
 	printk("r0 = %016lx  r1 = %016lx  r2 = %016lx\n",
 	printk("r0 = %016lx  r1 = %016lx  r2 = %016lx\n",
 	       una_reg(0), una_reg(1), una_reg(2));
 	       una_reg(0), una_reg(1), una_reg(2));
 	printk("r3 = %016lx  r4 = %016lx  r5 = %016lx\n",
 	printk("r3 = %016lx  r4 = %016lx  r5 = %016lx\n",
@@ -670,10 +669,10 @@ got_exception:
 	       una_reg(22), una_reg(23), una_reg(24));
 	       una_reg(22), una_reg(23), una_reg(24));
 	printk("r25= %016lx  r27= %016lx  r28= %016lx\n",
 	printk("r25= %016lx  r27= %016lx  r28= %016lx\n",
 	       una_reg(25), una_reg(27), una_reg(28));
 	       una_reg(25), una_reg(27), una_reg(28));
-	printk("gp = %016lx  sp = %p\n", regs.gp, &regs+1);
+	printk("gp = %016lx  sp = %p\n", regs->gp, regs+1);
 
 
 	dik_show_code((unsigned int *)pc);
 	dik_show_code((unsigned int *)pc);
-	dik_show_trace((unsigned long *)(&regs+1));
+	dik_show_trace((unsigned long *)(regs+1));
 
 
 	if (test_and_set_thread_flag (TIF_DIE_IF_KERNEL)) {
 	if (test_and_set_thread_flag (TIF_DIE_IF_KERNEL)) {
 		printk("die_if_kernel recursion detected.\n");
 		printk("die_if_kernel recursion detected.\n");

+ 2 - 2
arch/arm/Makefile

@@ -175,10 +175,10 @@ else
 endif
 endif
 	@touch $@
 	@touch $@
 
 
-archprepare: maketools include/asm-arm/.arch
+archprepare: maketools
 
 
 .PHONY: maketools FORCE
 .PHONY: maketools FORCE
-maketools: include/linux/version.h FORCE
+maketools: include/linux/version.h include/asm-arm/.arch FORCE
 	$(Q)$(MAKE) $(build)=arch/arm/tools include/asm-arm/mach-types.h
 	$(Q)$(MAKE) $(build)=arch/arm/tools include/asm-arm/mach-types.h
 
 
 # Convert bzImage to zImage
 # Convert bzImage to zImage

+ 2 - 0
arch/arm/common/gic.c

@@ -68,6 +68,7 @@ static void gic_unmask_irq(unsigned int irq)
 	writel(mask, gic_dist_base + GIC_DIST_ENABLE_SET + (irq / 32) * 4);
 	writel(mask, gic_dist_base + GIC_DIST_ENABLE_SET + (irq / 32) * 4);
 }
 }
 
 
+#ifdef CONFIG_SMP
 static void gic_set_cpu(struct irqdesc *desc, unsigned int irq, unsigned int cpu)
 static void gic_set_cpu(struct irqdesc *desc, unsigned int irq, unsigned int cpu)
 {
 {
 	void __iomem *reg = gic_dist_base + GIC_DIST_TARGET + (irq & ~3);
 	void __iomem *reg = gic_dist_base + GIC_DIST_TARGET + (irq & ~3);
@@ -78,6 +79,7 @@ static void gic_set_cpu(struct irqdesc *desc, unsigned int irq, unsigned int cpu
 	val |= 1 << (cpu + shift);
 	val |= 1 << (cpu + shift);
 	writel(val, reg);
 	writel(val, reg);
 }
 }
+#endif
 
 
 static struct irqchip gic_chip = {
 static struct irqchip gic_chip = {
 	.ack		= gic_ack_irq,
 	.ack		= gic_ack_irq,

+ 0 - 1
arch/arm/common/locomo.c

@@ -27,7 +27,6 @@
 #include <linux/spinlock.h>
 #include <linux/spinlock.h>
 
 
 #include <asm/hardware.h>
 #include <asm/hardware.h>
-#include <asm/mach-types.h>
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/irq.h>
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>

+ 318 - 259
arch/arm/configs/ixp4xx_defconfig

@@ -1,14 +1,13 @@
 #
 #
 # Automatically generated make config: don't edit
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.12-rc1-bk2
-# Sun Mar 27 22:53:40 2005
+# Linux kernel version: 2.6.14-rc1-git5
+# Tue Sep 20 17:26:28 2005
 #
 #
 CONFIG_ARM=y
 CONFIG_ARM=y
 CONFIG_MMU=y
 CONFIG_MMU=y
 CONFIG_UID16=y
 CONFIG_UID16=y
 CONFIG_RWSEM_GENERIC_SPINLOCK=y
 CONFIG_RWSEM_GENERIC_SPINLOCK=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_IOMAP=y
 
 
 #
 #
 # Code maturity level options
 # Code maturity level options
@@ -16,11 +15,13 @@ CONFIG_GENERIC_IOMAP=y
 CONFIG_EXPERIMENTAL=y
 CONFIG_EXPERIMENTAL=y
 CONFIG_CLEAN_COMPILE=y
 CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
 
 
 #
 #
 # General setup
 # General setup
 #
 #
 CONFIG_LOCALVERSION=""
 CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
 CONFIG_SWAP=y
 CONFIG_SWAP=y
 CONFIG_SYSVIPC=y
 CONFIG_SYSVIPC=y
 # CONFIG_POSIX_MQUEUE is not set
 # CONFIG_POSIX_MQUEUE is not set
@@ -31,10 +32,13 @@ CONFIG_SYSCTL=y
 # CONFIG_HOTPLUG is not set
 # CONFIG_HOTPLUG is not set
 CONFIG_KOBJECT_UEVENT=y
 CONFIG_KOBJECT_UEVENT=y
 # CONFIG_IKCONFIG is not set
 # CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
 CONFIG_EMBEDDED=y
 CONFIG_EMBEDDED=y
 CONFIG_KALLSYMS=y
 CONFIG_KALLSYMS=y
 # CONFIG_KALLSYMS_ALL is not set
 # CONFIG_KALLSYMS_ALL is not set
 # CONFIG_KALLSYMS_EXTRA_PASS is not set
 # CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
 CONFIG_BASE_FULL=y
 CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_FUTEX=y
 CONFIG_EPOLL=y
 CONFIG_EPOLL=y
@@ -81,6 +85,7 @@ CONFIG_ARCH_IXP4XX=y
 # CONFIG_ARCH_VERSATILE is not set
 # CONFIG_ARCH_VERSATILE is not set
 # CONFIG_ARCH_IMX is not set
 # CONFIG_ARCH_IMX is not set
 # CONFIG_ARCH_H720X is not set
 # CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
 CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
 CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
 
 
 #
 #
@@ -90,15 +95,16 @@ CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
 #
 #
 # IXP4xx Platforms
 # IXP4xx Platforms
 #
 #
-# CONFIG_ARCH_AVILA is not set
+CONFIG_ARCH_AVILA=y
 CONFIG_ARCH_ADI_COYOTE=y
 CONFIG_ARCH_ADI_COYOTE=y
 CONFIG_ARCH_IXDP425=y
 CONFIG_ARCH_IXDP425=y
-# CONFIG_MACH_IXDPG425 is not set
-# CONFIG_MACH_IXDP465 is not set
+CONFIG_MACH_IXDPG425=y
+CONFIG_MACH_IXDP465=y
 CONFIG_ARCH_IXCDP1100=y
 CONFIG_ARCH_IXCDP1100=y
 CONFIG_ARCH_PRPMC1100=y
 CONFIG_ARCH_PRPMC1100=y
 CONFIG_ARCH_IXDP4XX=y
 CONFIG_ARCH_IXDP4XX=y
-# CONFIG_MACH_GTWX5715 is not set
+CONFIG_CPU_IXP46X=y
+CONFIG_MACH_GTWX5715=y
 
 
 #
 #
 # IXP4xx Options
 # IXP4xx Options
@@ -114,7 +120,6 @@ CONFIG_CPU_32v5=y
 CONFIG_CPU_ABRT_EV5T=y
 CONFIG_CPU_ABRT_EV5T=y
 CONFIG_CPU_CACHE_VIVT=y
 CONFIG_CPU_CACHE_VIVT=y
 CONFIG_CPU_TLB_V4WBI=y
 CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_MINICACHE=y
 
 
 #
 #
 # Processor Features
 # Processor Features
@@ -127,9 +132,10 @@ CONFIG_DMABOUNCE=y
 #
 #
 # Bus support
 # Bus support
 #
 #
+CONFIG_ISA_DMA_API=y
 CONFIG_PCI=y
 CONFIG_PCI=y
 CONFIG_PCI_LEGACY_PROC=y
 CONFIG_PCI_LEGACY_PROC=y
-CONFIG_PCI_NAMES=y
+# CONFIG_PCI_DEBUG is not set
 
 
 #
 #
 # PCCARD (PCMCIA/CardBus) support
 # PCCARD (PCMCIA/CardBus) support
@@ -140,6 +146,15 @@ CONFIG_PCI_NAMES=y
 # Kernel Features
 # Kernel Features
 #
 #
 # CONFIG_PREEMPT is not set
 # CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
 CONFIG_ALIGNMENT_TRAP=y
 CONFIG_ALIGNMENT_TRAP=y
 
 
 #
 #
@@ -174,6 +189,241 @@ CONFIG_BINFMT_ELF=y
 CONFIG_PM=y
 CONFIG_PM=y
 CONFIG_APM=y
 CONFIG_APM=y
 
 
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=m
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_FWMARK=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+CONFIG_IP_VS=m
+CONFIG_IP_VS_DEBUG=y
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+# CONFIG_IP_VS_PROTO_TCP is not set
+# CONFIG_IP_VS_PROTO_UDP is not set
+# CONFIG_IP_VS_PROTO_ESP is not set
+# CONFIG_IP_VS_PROTO_AH is not set
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+# CONFIG_IP_VS_SED is not set
+# CONFIG_IP_VS_NQ is not set
+
+#
+# IPVS application helper
+#
+# CONFIG_IPV6 is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
+# CONFIG_NETFILTER_NETLINK is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+# CONFIG_IP_NF_CT_PROTO_SCTP is not set
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+# CONFIG_IP_NF_TFTP is not set
+# CONFIG_IP_NF_AMANDA is not set
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_LIMIT=m
+# CONFIG_IP_NF_MATCH_IPRANGE is not set
+CONFIG_IP_NF_MATCH_MAC=m
+# CONFIG_IP_NF_MATCH_PKTTYPE is not set
+CONFIG_IP_NF_MATCH_MARK=m
+CONFIG_IP_NF_MATCH_MULTIPORT=m
+CONFIG_IP_NF_MATCH_TOS=m
+# CONFIG_IP_NF_MATCH_RECENT is not set
+# CONFIG_IP_NF_MATCH_ECN is not set
+# CONFIG_IP_NF_MATCH_DSCP is not set
+CONFIG_IP_NF_MATCH_AH_ESP=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_TCPMSS=m
+# CONFIG_IP_NF_MATCH_HELPER is not set
+CONFIG_IP_NF_MATCH_STATE=m
+# CONFIG_IP_NF_MATCH_CONNTRACK is not set
+CONFIG_IP_NF_MATCH_OWNER=m
+# CONFIG_IP_NF_MATCH_PHYSDEV is not set
+# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
+# CONFIG_IP_NF_MATCH_REALM is not set
+# CONFIG_IP_NF_MATCH_SCTP is not set
+# CONFIG_IP_NF_MATCH_DCCP is not set
+# CONFIG_IP_NF_MATCH_COMMENT is not set
+# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
+# CONFIG_IP_NF_MATCH_STRING is not set
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+# CONFIG_IP_NF_TARGET_NETMAP is not set
+# CONFIG_IP_NF_TARGET_SAME is not set
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+# CONFIG_IP_NF_TARGET_ECN is not set
+# CONFIG_IP_NF_TARGET_DSCP is not set
+CONFIG_IP_NF_TARGET_MARK=m
+# CONFIG_IP_NF_TARGET_CLASSIFY is not set
+# CONFIG_IP_NF_TARGET_TTL is not set
+# CONFIG_IP_NF_RAW is not set
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+# CONFIG_IP_NF_ARP_MANGLE is not set
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+CONFIG_ATM=y
+CONFIG_ATM_CLIP=y
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+CONFIG_X25=m
+CONFIG_LAPB=m
+# CONFIG_NET_DIVERT is not set
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+CONFIG_WAN_ROUTER=m
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CLK_JIFFIES=y
+# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
+# CONFIG_NET_SCH_CLK_CPU is not set
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+# CONFIG_NET_SCH_HFSC is not set
+# CONFIG_NET_SCH_ATM is not set
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+# CONFIG_NET_SCH_NETEM is not set
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_QOS=y
+CONFIG_NET_ESTIMATOR=y
+CONFIG_NET_CLS=y
+# CONFIG_NET_CLS_BASIC is not set
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+# CONFIG_NET_CLS_IND is not set
+# CONFIG_CLS_U32_MARK is not set
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+# CONFIG_NET_EMATCH is not set
+# CONFIG_NET_CLS_ACT is not set
+CONFIG_NET_CLS_POLICE=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_IEEE80211 is not set
+
 #
 #
 # Device Drivers
 # Device Drivers
 #
 #
@@ -244,6 +494,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y
 CONFIG_MTD_IXP4XX=y
 CONFIG_MTD_IXP4XX=y
 # CONFIG_MTD_EDB7312 is not set
 # CONFIG_MTD_EDB7312 is not set
 # CONFIG_MTD_PCI is not set
 # CONFIG_MTD_PCI is not set
+# CONFIG_MTD_PLATRAM is not set
 
 
 #
 #
 # Self-contained MTD device drivers
 # Self-contained MTD device drivers
@@ -283,7 +534,6 @@ CONFIG_MTD_NAND_IDS=m
 #
 #
 # Block devices
 # Block devices
 #
 #
-# CONFIG_BLK_DEV_FD is not set
 # CONFIG_BLK_CPQ_DA is not set
 # CONFIG_BLK_CPQ_DA is not set
 # CONFIG_BLK_CPQ_CISS_DA is not set
 # CONFIG_BLK_CPQ_CISS_DA is not set
 # CONFIG_BLK_DEV_DAC960 is not set
 # CONFIG_BLK_DEV_DAC960 is not set
@@ -297,7 +547,6 @@ CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_COUNT=16
 CONFIG_BLK_DEV_RAM_COUNT=16
 CONFIG_BLK_DEV_RAM_SIZE=8192
 CONFIG_BLK_DEV_RAM_SIZE=8192
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
 # CONFIG_CDROM_PKTCDVD is not set
 # CONFIG_CDROM_PKTCDVD is not set
 
 
 #
 #
@@ -351,6 +600,7 @@ CONFIG_BLK_DEV_CMD64X=y
 CONFIG_BLK_DEV_HPT366=y
 CONFIG_BLK_DEV_HPT366=y
 # CONFIG_BLK_DEV_SC1200 is not set
 # CONFIG_BLK_DEV_SC1200 is not set
 # CONFIG_BLK_DEV_PIIX is not set
 # CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_IT821X is not set
 # CONFIG_BLK_DEV_NS87415 is not set
 # CONFIG_BLK_DEV_NS87415 is not set
 # CONFIG_BLK_DEV_PDC202XX_OLD is not set
 # CONFIG_BLK_DEV_PDC202XX_OLD is not set
 CONFIG_BLK_DEV_PDC202XX_NEW=y
 CONFIG_BLK_DEV_PDC202XX_NEW=y
@@ -369,6 +619,7 @@ CONFIG_BLK_DEV_IDEDMA=y
 #
 #
 # SCSI device support
 # SCSI device support
 #
 #
+# CONFIG_RAID_ATTRS is not set
 # CONFIG_SCSI is not set
 # CONFIG_SCSI is not set
 
 
 #
 #
@@ -379,6 +630,7 @@ CONFIG_BLK_DEV_IDEDMA=y
 #
 #
 # Fusion MPT device support
 # Fusion MPT device support
 #
 #
+# CONFIG_FUSION is not set
 
 
 #
 #
 # IEEE 1394 (FireWire) support
 # IEEE 1394 (FireWire) support
@@ -391,241 +643,24 @@ CONFIG_BLK_DEV_IDEDMA=y
 # CONFIG_I2O is not set
 # CONFIG_I2O is not set
 
 
 #
 #
-# Networking support
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=m
-CONFIG_PACKET_MMAP=y
-CONFIG_NETLINK_DEV=m
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_FWMARK=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-# CONFIG_IP_PNP_RARP is not set
-# CONFIG_NET_IPIP is not set
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-CONFIG_INET_TUNNEL=m
-# CONFIG_IP_TCPDIAG is not set
-# CONFIG_IP_TCPDIAG_IPV6 is not set
-
-#
-# IP: Virtual Server Configuration
-#
-CONFIG_IP_VS=m
-CONFIG_IP_VS_DEBUG=y
-CONFIG_IP_VS_TAB_BITS=12
-
-#
-# IPVS transport protocol load balancing support
-#
-# CONFIG_IP_VS_PROTO_TCP is not set
-# CONFIG_IP_VS_PROTO_UDP is not set
-# CONFIG_IP_VS_PROTO_ESP is not set
-# CONFIG_IP_VS_PROTO_AH is not set
-
-#
-# IPVS scheduler
-#
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-# CONFIG_IP_VS_SED is not set
-# CONFIG_IP_VS_NQ is not set
-
-#
-# IPVS application helper
-#
-# CONFIG_IPV6 is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# IP: Netfilter Configuration
+# Network device support
 #
 #
-CONFIG_IP_NF_CONNTRACK=m
-# CONFIG_IP_NF_CT_ACCT is not set
-# CONFIG_IP_NF_CONNTRACK_MARK is not set
-# CONFIG_IP_NF_CT_PROTO_SCTP is not set
-CONFIG_IP_NF_FTP=m
-CONFIG_IP_NF_IRC=m
-# CONFIG_IP_NF_TFTP is not set
-# CONFIG_IP_NF_AMANDA is not set
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_LIMIT=m
-# CONFIG_IP_NF_MATCH_IPRANGE is not set
-CONFIG_IP_NF_MATCH_MAC=m
-# CONFIG_IP_NF_MATCH_PKTTYPE is not set
-CONFIG_IP_NF_MATCH_MARK=m
-CONFIG_IP_NF_MATCH_MULTIPORT=m
-CONFIG_IP_NF_MATCH_TOS=m
-# CONFIG_IP_NF_MATCH_RECENT is not set
-# CONFIG_IP_NF_MATCH_ECN is not set
-# CONFIG_IP_NF_MATCH_DSCP is not set
-CONFIG_IP_NF_MATCH_AH_ESP=m
-CONFIG_IP_NF_MATCH_LENGTH=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_TCPMSS=m
-# CONFIG_IP_NF_MATCH_HELPER is not set
-CONFIG_IP_NF_MATCH_STATE=m
-# CONFIG_IP_NF_MATCH_CONNTRACK is not set
-CONFIG_IP_NF_MATCH_OWNER=m
-# CONFIG_IP_NF_MATCH_PHYSDEV is not set
-# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
-# CONFIG_IP_NF_MATCH_REALM is not set
-# CONFIG_IP_NF_MATCH_SCTP is not set
-# CONFIG_IP_NF_MATCH_COMMENT is not set
-# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_IP_NF_TARGET_TCPMSS=m
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-# CONFIG_IP_NF_TARGET_NETMAP is not set
-# CONFIG_IP_NF_TARGET_SAME is not set
-CONFIG_IP_NF_NAT_SNMP_BASIC=m
-CONFIG_IP_NF_NAT_IRC=m
-CONFIG_IP_NF_NAT_FTP=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_TOS=m
-# CONFIG_IP_NF_TARGET_ECN is not set
-# CONFIG_IP_NF_TARGET_DSCP is not set
-CONFIG_IP_NF_TARGET_MARK=m
-# CONFIG_IP_NF_TARGET_CLASSIFY is not set
-# CONFIG_IP_NF_RAW is not set
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-# CONFIG_IP_NF_ARP_MANGLE is not set
-
-#
-# Bridge: Netfilter Configuration
-#
-# CONFIG_BRIDGE_NF_EBTABLES is not set
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-CONFIG_ATM=y
-CONFIG_ATM_CLIP=y
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM_MPOA=m
-CONFIG_ATM_BR2684=m
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_BRIDGE=m
-CONFIG_VLAN_8021Q=m
-# CONFIG_DECNET is not set
-CONFIG_LLC=m
-# CONFIG_LLC2 is not set
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=y
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-CONFIG_X25=m
-CONFIG_LAPB=m
-# CONFIG_NET_DIVERT is not set
-CONFIG_ECONET=m
-CONFIG_ECONET_AUNUDP=y
-CONFIG_ECONET_NATIVE=y
-CONFIG_WAN_ROUTER=m
-
-#
-# QoS and/or fair queueing
-#
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CLK_JIFFIES=y
-# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
-# CONFIG_NET_SCH_CLK_CPU is not set
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-# CONFIG_NET_SCH_HFSC is not set
-# CONFIG_NET_SCH_ATM is not set
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-# CONFIG_NET_SCH_NETEM is not set
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_QOS=y
-CONFIG_NET_ESTIMATOR=y
-CONFIG_NET_CLS=y
-# CONFIG_NET_CLS_BASIC is not set
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_ROUTE=y
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-# CONFIG_CLS_U32_PERF is not set
-# CONFIG_NET_CLS_IND is not set
-# CONFIG_CLS_U32_MARK is not set
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-# CONFIG_NET_EMATCH is not set
-# CONFIG_NET_CLS_ACT is not set
-CONFIG_NET_CLS_POLICE=y
-
-#
-# Network testing
-#
-CONFIG_NET_PKTGEN=m
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
 CONFIG_NETDEVICES=y
 CONFIG_NETDEVICES=y
 CONFIG_DUMMY=y
 CONFIG_DUMMY=y
 # CONFIG_BONDING is not set
 # CONFIG_BONDING is not set
 # CONFIG_EQUALIZER is not set
 # CONFIG_EQUALIZER is not set
 # CONFIG_TUN is not set
 # CONFIG_TUN is not set
-# CONFIG_ETHERTAP is not set
 
 
 #
 #
 # ARCnet devices
 # ARCnet devices
 #
 #
 # CONFIG_ARCNET is not set
 # CONFIG_ARCNET is not set
 
 
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
 #
 #
 # Ethernet (10 or 100Mbit)
 # Ethernet (10 or 100Mbit)
 #
 #
@@ -635,6 +670,7 @@ CONFIG_MII=y
 # CONFIG_SUNGEM is not set
 # CONFIG_SUNGEM is not set
 # CONFIG_NET_VENDOR_3COM is not set
 # CONFIG_NET_VENDOR_3COM is not set
 # CONFIG_SMC91X is not set
 # CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
 
 
 #
 #
 # Tulip family network device support
 # Tulip family network device support
@@ -671,13 +707,17 @@ CONFIG_EEPRO100=y
 # CONFIG_HAMACHI is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
 # CONFIG_YELLOWFIN is not set
 # CONFIG_R8169 is not set
 # CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
 # CONFIG_SK98LIN is not set
 # CONFIG_SK98LIN is not set
 # CONFIG_VIA_VELOCITY is not set
 # CONFIG_VIA_VELOCITY is not set
 # CONFIG_TIGON3 is not set
 # CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
 
 
 #
 #
 # Ethernet (10000 Mbit)
 # Ethernet (10000 Mbit)
 #
 #
+# CONFIG_CHELSIO_T1 is not set
 # CONFIG_IXGB is not set
 # CONFIG_IXGB is not set
 # CONFIG_S2IO is not set
 # CONFIG_S2IO is not set
 
 
@@ -702,6 +742,7 @@ CONFIG_NET_RADIO=y
 CONFIG_HERMES=y
 CONFIG_HERMES=y
 # CONFIG_PLX_HERMES is not set
 # CONFIG_PLX_HERMES is not set
 # CONFIG_TMD_HERMES is not set
 # CONFIG_TMD_HERMES is not set
+# CONFIG_NORTEL_HERMES is not set
 CONFIG_PCI_HERMES=y
 CONFIG_PCI_HERMES=y
 # CONFIG_ATMEL is not set
 # CONFIG_ATMEL is not set
 
 
@@ -709,6 +750,7 @@ CONFIG_PCI_HERMES=y
 # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
 # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
 #
 #
 # CONFIG_PRISM54 is not set
 # CONFIG_PRISM54 is not set
+# CONFIG_HOSTAP is not set
 CONFIG_NET_WIRELESS=y
 CONFIG_NET_WIRELESS=y
 
 
 #
 #
@@ -758,6 +800,8 @@ CONFIG_ATM_TCP=m
 # CONFIG_SLIP is not set
 # CONFIG_SLIP is not set
 # CONFIG_SHAPER is not set
 # CONFIG_SHAPER is not set
 # CONFIG_NETCONSOLE is not set
 # CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
 
 
 #
 #
 # ISDN subsystem
 # ISDN subsystem
@@ -795,7 +839,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
 #
 #
 # CONFIG_SERIO is not set
 # CONFIG_SERIO is not set
 # CONFIG_GAMEPORT is not set
 # CONFIG_GAMEPORT is not set
-CONFIG_SOUND_GAMEPORT=y
 
 
 #
 #
 # Character devices
 # Character devices
@@ -816,6 +859,7 @@ CONFIG_SERIAL_8250_NR_UARTS=2
 #
 #
 CONFIG_SERIAL_CORE=y
 CONFIG_SERIAL_CORE=y
 CONFIG_SERIAL_CORE_CONSOLE=y
 CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
 CONFIG_UNIX98_PTYS=y
 CONFIG_UNIX98_PTYS=y
 CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTY_COUNT=256
 CONFIG_LEGACY_PTY_COUNT=256
@@ -882,12 +926,11 @@ CONFIG_I2C_ALGOBIT=y
 # CONFIG_I2C_AMD8111 is not set
 # CONFIG_I2C_AMD8111 is not set
 # CONFIG_I2C_I801 is not set
 # CONFIG_I2C_I801 is not set
 # CONFIG_I2C_I810 is not set
 # CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
 # CONFIG_I2C_IOP3XX is not set
 # CONFIG_I2C_IOP3XX is not set
-# CONFIG_I2C_ISA is not set
 CONFIG_I2C_IXP4XX=y
 CONFIG_I2C_IXP4XX=y
 # CONFIG_I2C_NFORCE2 is not set
 # CONFIG_I2C_NFORCE2 is not set
 # CONFIG_I2C_PARPORT_LIGHT is not set
 # CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_PIIX4 is not set
 # CONFIG_I2C_PROSAVAGE is not set
 # CONFIG_I2C_PROSAVAGE is not set
 # CONFIG_I2C_SAVAGE4 is not set
 # CONFIG_I2C_SAVAGE4 is not set
 # CONFIG_SCx200_ACB is not set
 # CONFIG_SCx200_ACB is not set
@@ -901,14 +944,33 @@ CONFIG_I2C_IXP4XX=y
 # CONFIG_I2C_PCA_ISA is not set
 # CONFIG_I2C_PCA_ISA is not set
 
 
 #
 #
-# Hardware Sensors Chip support
+# Miscellaneous I2C Chip support
 #
 #
-CONFIG_I2C_SENSOR=y
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+CONFIG_SENSORS_EEPROM=y
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
 # CONFIG_SENSORS_ADM1021 is not set
 # CONFIG_SENSORS_ADM1021 is not set
 # CONFIG_SENSORS_ADM1025 is not set
 # CONFIG_SENSORS_ADM1025 is not set
 # CONFIG_SENSORS_ADM1026 is not set
 # CONFIG_SENSORS_ADM1026 is not set
 # CONFIG_SENSORS_ADM1031 is not set
 # CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
 # CONFIG_SENSORS_ASB100 is not set
 # CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
 # CONFIG_SENSORS_DS1621 is not set
 # CONFIG_SENSORS_DS1621 is not set
 # CONFIG_SENSORS_FSCHER is not set
 # CONFIG_SENSORS_FSCHER is not set
 # CONFIG_SENSORS_FSCPOS is not set
 # CONFIG_SENSORS_FSCPOS is not set
@@ -924,30 +986,26 @@ CONFIG_I2C_SENSOR=y
 # CONFIG_SENSORS_LM85 is not set
 # CONFIG_SENSORS_LM85 is not set
 # CONFIG_SENSORS_LM87 is not set
 # CONFIG_SENSORS_LM87 is not set
 # CONFIG_SENSORS_LM90 is not set
 # CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
 # CONFIG_SENSORS_MAX1619 is not set
 # CONFIG_SENSORS_MAX1619 is not set
 # CONFIG_SENSORS_PC87360 is not set
 # CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
 # CONFIG_SENSORS_SIS5595 is not set
 # CONFIG_SENSORS_SIS5595 is not set
 # CONFIG_SENSORS_SMSC47M1 is not set
 # CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
 # CONFIG_SENSORS_VIA686A is not set
 # CONFIG_SENSORS_VIA686A is not set
 # CONFIG_SENSORS_W83781D is not set
 # CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83792D is not set
 # CONFIG_SENSORS_W83L785TS is not set
 # CONFIG_SENSORS_W83L785TS is not set
 # CONFIG_SENSORS_W83627HF is not set
 # CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
 
 
 #
 #
-# Other I2C Chip support
+# Misc devices
 #
 #
-CONFIG_SENSORS_EEPROM=y
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_SENSORS_RTC8564 is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
 
 
 #
 #
-# Misc devices
+# Multimedia Capabilities Port drivers
 #
 #
 
 
 #
 #
@@ -994,6 +1052,7 @@ CONFIG_EXT2_FS=y
 CONFIG_EXT2_FS_XATTR=y
 CONFIG_EXT2_FS_XATTR=y
 CONFIG_EXT2_FS_POSIX_ACL=y
 CONFIG_EXT2_FS_POSIX_ACL=y
 # CONFIG_EXT2_FS_SECURITY is not set
 # CONFIG_EXT2_FS_SECURITY is not set
+# CONFIG_EXT2_FS_XIP is not set
 CONFIG_EXT3_FS=y
 CONFIG_EXT3_FS=y
 CONFIG_EXT3_FS_XATTR=y
 CONFIG_EXT3_FS_XATTR=y
 CONFIG_EXT3_FS_POSIX_ACL=y
 CONFIG_EXT3_FS_POSIX_ACL=y
@@ -1004,17 +1063,15 @@ CONFIG_FS_MBCACHE=y
 # CONFIG_REISERFS_FS is not set
 # CONFIG_REISERFS_FS is not set
 # CONFIG_JFS_FS is not set
 # CONFIG_JFS_FS is not set
 CONFIG_FS_POSIX_ACL=y
 CONFIG_FS_POSIX_ACL=y
-
-#
-# XFS support
-#
 # CONFIG_XFS_FS is not set
 # CONFIG_XFS_FS is not set
 # CONFIG_MINIX_FS is not set
 # CONFIG_MINIX_FS is not set
 # CONFIG_ROMFS_FS is not set
 # CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
 # CONFIG_QUOTA is not set
 # CONFIG_QUOTA is not set
 CONFIG_DNOTIFY=y
 CONFIG_DNOTIFY=y
 # CONFIG_AUTOFS_FS is not set
 # CONFIG_AUTOFS_FS is not set
 # CONFIG_AUTOFS4_FS is not set
 # CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
 
 
 #
 #
 # CD-ROM/DVD Filesystems
 # CD-ROM/DVD Filesystems
@@ -1034,12 +1091,10 @@ CONFIG_DNOTIFY=y
 #
 #
 CONFIG_PROC_FS=y
 CONFIG_PROC_FS=y
 CONFIG_SYSFS=y
 CONFIG_SYSFS=y
-# CONFIG_DEVFS_FS is not set
-# CONFIG_DEVPTS_FS_XATTR is not set
 CONFIG_TMPFS=y
 CONFIG_TMPFS=y
-# CONFIG_TMPFS_XATTR is not set
 # CONFIG_HUGETLB_PAGE is not set
 # CONFIG_HUGETLB_PAGE is not set
 CONFIG_RAMFS=y
 CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
 
 
 #
 #
 # Miscellaneous filesystems
 # Miscellaneous filesystems
@@ -1054,8 +1109,7 @@ CONFIG_RAMFS=y
 # CONFIG_JFFS_FS is not set
 # CONFIG_JFFS_FS is not set
 CONFIG_JFFS2_FS=y
 CONFIG_JFFS2_FS=y
 CONFIG_JFFS2_FS_DEBUG=0
 CONFIG_JFFS2_FS_DEBUG=0
-# CONFIG_JFFS2_FS_NAND is not set
-# CONFIG_JFFS2_FS_NOR_ECC is not set
+CONFIG_JFFS2_FS_WRITEBUFFER=y
 # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
 # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
 CONFIG_JFFS2_ZLIB=y
 CONFIG_JFFS2_ZLIB=y
 CONFIG_JFFS2_RTIME=y
 CONFIG_JFFS2_RTIME=y
@@ -1072,12 +1126,14 @@ CONFIG_JFFS2_RTIME=y
 #
 #
 CONFIG_NFS_FS=y
 CONFIG_NFS_FS=y
 CONFIG_NFS_V3=y
 CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
 # CONFIG_NFS_V4 is not set
 # CONFIG_NFS_V4 is not set
 # CONFIG_NFS_DIRECTIO is not set
 # CONFIG_NFS_DIRECTIO is not set
 # CONFIG_NFSD is not set
 # CONFIG_NFSD is not set
 CONFIG_ROOT_NFS=y
 CONFIG_ROOT_NFS=y
 CONFIG_LOCKD=y
 CONFIG_LOCKD=y
 CONFIG_LOCKD_V4=y
 CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
 CONFIG_SUNRPC=y
 CONFIG_SUNRPC=y
 # CONFIG_RPCSEC_GSS_KRB5 is not set
 # CONFIG_RPCSEC_GSS_KRB5 is not set
 # CONFIG_RPCSEC_GSS_SPKM3 is not set
 # CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -1086,6 +1142,7 @@ CONFIG_SUNRPC=y
 # CONFIG_NCP_FS is not set
 # CONFIG_NCP_FS is not set
 # CONFIG_CODA_FS is not set
 # CONFIG_CODA_FS is not set
 # CONFIG_AFS_FS is not set
 # CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
 
 
 #
 #
 # Partition Types
 # Partition Types
@@ -1124,6 +1181,7 @@ CONFIG_MSDOS_PARTITION=y
 CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_KERNEL=y
 CONFIG_MAGIC_SYSRQ=y
 CONFIG_MAGIC_SYSRQ=y
 CONFIG_LOG_BUF_SHIFT=14
 CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
 # CONFIG_SCHEDSTATS is not set
 # CONFIG_SCHEDSTATS is not set
 # CONFIG_DEBUG_SLAB is not set
 # CONFIG_DEBUG_SLAB is not set
 # CONFIG_DEBUG_SPINLOCK is not set
 # CONFIG_DEBUG_SPINLOCK is not set
@@ -1158,6 +1216,7 @@ CONFIG_DEBUG_LL=y
 # Library routines
 # Library routines
 #
 #
 # CONFIG_CRC_CCITT is not set
 # CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
 CONFIG_CRC32=y
 CONFIG_CRC32=y
 # CONFIG_LIBCRC32C is not set
 # CONFIG_LIBCRC32C is not set
 CONFIG_ZLIB_INFLATE=y
 CONFIG_ZLIB_INFLATE=y

+ 3 - 3
arch/arm/kernel/io.c

@@ -7,7 +7,7 @@
  * Copy data from IO memory space to "real" memory space.
  * Copy data from IO memory space to "real" memory space.
  * This needs to be optimized.
  * This needs to be optimized.
  */
  */
-void _memcpy_fromio(void *to, void __iomem *from, size_t count)
+void _memcpy_fromio(void *to, const volatile void __iomem *from, size_t count)
 {
 {
 	unsigned char *t = to;
 	unsigned char *t = to;
 	while (count) {
 	while (count) {
@@ -22,7 +22,7 @@ void _memcpy_fromio(void *to, void __iomem *from, size_t count)
  * Copy data from "real" memory space to IO memory space.
  * Copy data from "real" memory space to IO memory space.
  * This needs to be optimized.
  * This needs to be optimized.
  */
  */
-void _memcpy_toio(void __iomem *to, const void *from, size_t count)
+void _memcpy_toio(volatile void __iomem *to, const void *from, size_t count)
 {
 {
 	const unsigned char *f = from;
 	const unsigned char *f = from;
 	while (count) {
 	while (count) {
@@ -37,7 +37,7 @@ void _memcpy_toio(void __iomem *to, const void *from, size_t count)
  * "memset" on IO memory space.
  * "memset" on IO memory space.
  * This needs to be optimized.
  * This needs to be optimized.
  */
  */
-void _memset_io(void __iomem *dst, int c, size_t count)
+void _memset_io(volatile void __iomem *dst, int c, size_t count)
 {
 {
 	while (count) {
 	while (count) {
 		count--;
 		count--;

+ 2 - 0
arch/arm/mach-clps711x/fortunet.c

@@ -31,6 +31,8 @@
 
 
 #include <asm/mach/arch.h>
 #include <asm/mach/arch.h>
 
 
+#include <asm/memory.h>
+
 #include "common.h"
 #include "common.h"
 
 
 struct meminfo memmap = {
 struct meminfo memmap = {

+ 0 - 1
arch/arm/mach-imx/leds-mx1ads.c

@@ -17,7 +17,6 @@
 #include <asm/system.h>
 #include <asm/system.h>
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/leds.h>
 #include <asm/leds.h>
-#include <asm/mach-types.h>
 #include "leds.h"
 #include "leds.h"
 
 
 /*
 /*

+ 0 - 1
arch/arm/mach-iop3xx/common.c

@@ -27,7 +27,6 @@ unsigned long iop3xx_pcibios_min_mem = 0;
 /*
 /*
  * Default power-off for EP80219
  * Default power-off for EP80219
  */
  */
-#include <asm/mach-types.h>
 
 
 static inline void ep80219_send_to_pic(__u8 c) {
 static inline void ep80219_send_to_pic(__u8 c) {
 }
 }

+ 0 - 1
arch/arm/mach-iop3xx/iop321-time.c

@@ -23,7 +23,6 @@
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/irq.h>
 #include <asm/uaccess.h>
 #include <asm/uaccess.h>
-#include <asm/mach-types.h>
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 #include <asm/mach/time.h>
 #include <asm/mach/time.h>
 
 

+ 0 - 1
arch/arm/mach-iop3xx/iop331-time.c

@@ -23,7 +23,6 @@
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/irq.h>
 #include <asm/uaccess.h>
 #include <asm/uaccess.h>
-#include <asm/mach-types.h>
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>
 #include <asm/mach/time.h>
 #include <asm/mach/time.h>
 
 

+ 0 - 1
arch/arm/mach-iop3xx/iq31244-mm.c

@@ -21,7 +21,6 @@
 #include <asm/page.h>
 #include <asm/page.h>
 
 
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
-#include <asm/mach-types.h>
 
 
 
 
 /*
 /*

+ 0 - 1
arch/arm/mach-iop3xx/iq80321-mm.c

@@ -21,7 +21,6 @@
 #include <asm/page.h>
 #include <asm/page.h>
 
 
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
-#include <asm/mach-types.h>
 
 
 
 
 /*
 /*

+ 0 - 1
arch/arm/mach-iop3xx/iq80331-mm.c

@@ -21,7 +21,6 @@
 #include <asm/page.h>
 #include <asm/page.h>
 
 
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
-#include <asm/mach-types.h>
 
 
 
 
 /*
 /*

+ 0 - 1
arch/arm/mach-iop3xx/iq80332-mm.c

@@ -21,7 +21,6 @@
 #include <asm/page.h>
 #include <asm/page.h>
 
 
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
-#include <asm/mach-types.h>
 
 
 
 
 /*
 /*

+ 1 - 2
arch/arm/mach-ixp2000/core.c

@@ -30,7 +30,6 @@
 #include <asm/setup.h>
 #include <asm/setup.h>
 #include <asm/memory.h>
 #include <asm/memory.h>
 #include <asm/hardware.h>
 #include <asm/hardware.h>
-#include <asm/mach-types.h>
 #include <asm/irq.h>
 #include <asm/irq.h>
 #include <asm/system.h>
 #include <asm/system.h>
 #include <asm/tlbflush.h>
 #include <asm/tlbflush.h>
@@ -168,7 +167,7 @@ static struct plat_serial8250_port ixp2000_serial_port[] = {
 
 
 static struct resource ixp2000_uart_resource = {
 static struct resource ixp2000_uart_resource = {
 	.start		= IXP2000_UART_PHYS_BASE,
 	.start		= IXP2000_UART_PHYS_BASE,
-	.end		= IXP2000_UART_PHYS_BASE + 0xffff,
+	.end		= IXP2000_UART_PHYS_BASE + 0x1f,
 	.flags		= IORESOURCE_MEM,
 	.flags		= IORESOURCE_MEM,
 };
 };
 
 

+ 0 - 1
arch/arm/mach-ixp2000/pci.c

@@ -28,7 +28,6 @@
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/irq.h>
 #include <asm/system.h>
 #include <asm/system.h>
-#include <asm/mach-types.h>
 #include <asm/hardware.h>
 #include <asm/hardware.h>
 
 
 #include <asm/mach/pci.h>
 #include <asm/mach/pci.h>

+ 4 - 1
arch/arm/mach-ixp4xx/common.c

@@ -125,7 +125,8 @@ static int ixp4xx_set_irq_type(unsigned int irq, unsigned int type)
 	} else if (type & IRQT_LOW) {
 	} else if (type & IRQT_LOW) {
 		int_style = IXP4XX_GPIO_STYLE_ACTIVE_LOW;
 		int_style = IXP4XX_GPIO_STYLE_ACTIVE_LOW;
 		irq_type = IXP4XX_IRQ_LEVEL;
 		irq_type = IXP4XX_IRQ_LEVEL;
-	}
+	} else
+		return -EINVAL;
 
 
 	ixp4xx_config_irq(irq, irq_type);
 	ixp4xx_config_irq(irq, irq_type);
 
 
@@ -142,6 +143,8 @@ static int ixp4xx_set_irq_type(unsigned int irq, unsigned int type)
 
 
 	/* Set the new style */
 	/* Set the new style */
 	*int_reg |= (int_style << (line * IXP4XX_GPIO_STYLE_SIZE));
 	*int_reg |= (int_style << (line * IXP4XX_GPIO_STYLE_SIZE));
+
+	return 0;
 }
 }
 
 
 static void ixp4xx_irq_mask(unsigned int irq)
 static void ixp4xx_irq_mask(unsigned int irq)

+ 1 - 1
arch/arm/mach-ixp4xx/ixdp425-setup.c

@@ -123,7 +123,7 @@ static void __init ixdp425_init(void)
 	platform_add_devices(ixdp425_devices, ARRAY_SIZE(ixdp425_devices));
 	platform_add_devices(ixdp425_devices, ARRAY_SIZE(ixdp425_devices));
 }
 }
 
 
-#ifdef CONFIG_ARCH_IXDP465
+#ifdef CONFIG_ARCH_IXDP425
 MACHINE_START(IXDP425, "Intel IXDP425 Development Platform")
 MACHINE_START(IXDP425, "Intel IXDP425 Development Platform")
 	/* Maintainer: MontaVista Software, Inc. */
 	/* Maintainer: MontaVista Software, Inc. */
 	.phys_ram	= PHYS_OFFSET,
 	.phys_ram	= PHYS_OFFSET,

+ 0 - 1
arch/arm/mach-l7200/core.c

@@ -12,7 +12,6 @@
 #include <asm/page.h>
 #include <asm/page.h>
 
 
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
-#include <asm/arch/hardware.h>
 
 
 /*
 /*
  * IRQ base register
  * IRQ base register

+ 0 - 1
arch/arm/mach-pxa/corgi_lcd.c

@@ -19,7 +19,6 @@
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/device.h>
 #include <linux/device.h>
 #include <linux/module.h>
 #include <linux/module.h>
-#include <asm/mach-types.h>
 #include <asm/arch/akita.h>
 #include <asm/arch/akita.h>
 #include <asm/arch/corgi.h>
 #include <asm/arch/corgi.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/hardware.h>

+ 1 - 0
arch/arm/mach-pxa/generic.c

@@ -34,6 +34,7 @@
 #include <asm/arch/udc.h>
 #include <asm/arch/udc.h>
 #include <asm/arch/pxafb.h>
 #include <asm/arch/pxafb.h>
 #include <asm/arch/mmc.h>
 #include <asm/arch/mmc.h>
+#include <asm/arch/i2c.h>
 
 
 #include "generic.h"
 #include "generic.h"
 
 

+ 0 - 1
arch/arm/mach-s3c2410/usb-simtec.c

@@ -40,7 +40,6 @@
 #include <asm/hardware.h>
 #include <asm/hardware.h>
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/irq.h>
-#include <asm/mach-types.h>
 
 
 #include "devs.h"
 #include "devs.h"
 #include "usb-simtec.h"
 #include "usb-simtec.h"

+ 22 - 22
arch/arm/mach-versatile/core.c

@@ -30,7 +30,6 @@
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/irq.h>
 #include <asm/leds.h>
 #include <asm/leds.h>
-#include <asm/mach-types.h>
 #include <asm/hardware/amba.h>
 #include <asm/hardware/amba.h>
 #include <asm/hardware/amba_clcd.h>
 #include <asm/hardware/amba_clcd.h>
 #include <asm/hardware/arm_timer.h>
 #include <asm/hardware/arm_timer.h>
@@ -52,8 +51,9 @@
  *
  *
  * Setup a VA for the Versatile Vectored Interrupt Controller.
  * Setup a VA for the Versatile Vectored Interrupt Controller.
  */
  */
-#define VA_VIC_BASE		 IO_ADDRESS(VERSATILE_VIC_BASE)
-#define VA_SIC_BASE		 IO_ADDRESS(VERSATILE_SIC_BASE)
+#define __io_address(n)		__io(IO_ADDRESS(n))
+#define VA_VIC_BASE		__io_address(VERSATILE_VIC_BASE)
+#define VA_SIC_BASE		__io_address(VERSATILE_SIC_BASE)
 
 
 static void vic_mask_irq(unsigned int irq)
 static void vic_mask_irq(unsigned int irq)
 {
 {
@@ -214,7 +214,7 @@ void __init versatile_map_io(void)
 	iotable_init(versatile_io_desc, ARRAY_SIZE(versatile_io_desc));
 	iotable_init(versatile_io_desc, ARRAY_SIZE(versatile_io_desc));
 }
 }
 
 
-#define VERSATILE_REFCOUNTER	(IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_24MHz_OFFSET)
+#define VERSATILE_REFCOUNTER	(__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_24MHz_OFFSET)
 
 
 /*
 /*
  * This is the Versatile sched_clock implementation.  This has
  * This is the Versatile sched_clock implementation.  This has
@@ -231,7 +231,7 @@ unsigned long long sched_clock(void)
 }
 }
 
 
 
 
-#define VERSATILE_FLASHCTRL    (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET)
+#define VERSATILE_FLASHCTRL    (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET)
 
 
 static int versatile_flash_init(void)
 static int versatile_flash_init(void)
 {
 {
@@ -309,7 +309,7 @@ static struct platform_device smc91x_device = {
 	.resource	= smc91x_resources,
 	.resource	= smc91x_resources,
 };
 };
 
 
-#define VERSATILE_SYSMCI	(IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET)
+#define VERSATILE_SYSMCI	(__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET)
 
 
 unsigned int mmc_status(struct device *dev)
 unsigned int mmc_status(struct device *dev)
 {
 {
@@ -343,11 +343,11 @@ static const struct icst307_params versatile_oscvco_params = {
 
 
 static void versatile_oscvco_set(struct clk *clk, struct icst307_vco vco)
 static void versatile_oscvco_set(struct clk *clk, struct icst307_vco vco)
 {
 {
-	unsigned long sys_lock = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET;
+	void __iomem *sys_lock = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET;
 #if defined(CONFIG_ARCH_VERSATILE_PB)
 #if defined(CONFIG_ARCH_VERSATILE_PB)
-	unsigned long sys_osc = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC4_OFFSET;
+	void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC4_OFFSET;
 #elif defined(CONFIG_MACH_VERSATILE_AB)
 #elif defined(CONFIG_MACH_VERSATILE_AB)
-	unsigned long sys_osc = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC1_OFFSET;
+	void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC1_OFFSET;
 #endif
 #endif
 	u32 val;
 	u32 val;
 
 
@@ -483,7 +483,7 @@ static struct clcd_panel epson_2_2_in = {
  */
  */
 static struct clcd_panel *versatile_clcd_panel(void)
 static struct clcd_panel *versatile_clcd_panel(void)
 {
 {
-	unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
+	void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
 	struct clcd_panel *panel = &vga;
 	struct clcd_panel *panel = &vga;
 	u32 val;
 	u32 val;
 
 
@@ -510,7 +510,7 @@ static struct clcd_panel *versatile_clcd_panel(void)
  */
  */
 static void versatile_clcd_disable(struct clcd_fb *fb)
 static void versatile_clcd_disable(struct clcd_fb *fb)
 {
 {
-	unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
+	void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
 	u32 val;
 	u32 val;
 
 
 	val = readl(sys_clcd);
 	val = readl(sys_clcd);
@@ -522,7 +522,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb)
 	 * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light off
 	 * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light off
 	 */
 	 */
 	if (fb->panel == &sanyo_2_5_in) {
 	if (fb->panel == &sanyo_2_5_in) {
-		unsigned long versatile_ib2_ctrl = IO_ADDRESS(VERSATILE_IB2_CTRL);
+		void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL);
 		unsigned long ctrl;
 		unsigned long ctrl;
 
 
 		ctrl = readl(versatile_ib2_ctrl);
 		ctrl = readl(versatile_ib2_ctrl);
@@ -537,7 +537,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb)
  */
  */
 static void versatile_clcd_enable(struct clcd_fb *fb)
 static void versatile_clcd_enable(struct clcd_fb *fb)
 {
 {
-	unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
+	void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
 	u32 val;
 	u32 val;
 
 
 	val = readl(sys_clcd);
 	val = readl(sys_clcd);
@@ -571,7 +571,7 @@ static void versatile_clcd_enable(struct clcd_fb *fb)
 	 * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light on
 	 * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light on
 	 */
 	 */
 	if (fb->panel == &sanyo_2_5_in) {
 	if (fb->panel == &sanyo_2_5_in) {
-		unsigned long versatile_ib2_ctrl = IO_ADDRESS(VERSATILE_IB2_CTRL);
+		void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL);
 		unsigned long ctrl;
 		unsigned long ctrl;
 
 
 		ctrl = readl(versatile_ib2_ctrl);
 		ctrl = readl(versatile_ib2_ctrl);
@@ -720,7 +720,7 @@ static struct amba_device *amba_devs[] __initdata = {
 };
 };
 
 
 #ifdef CONFIG_LEDS
 #ifdef CONFIG_LEDS
-#define VA_LEDS_BASE (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_LED_OFFSET)
+#define VA_LEDS_BASE (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LED_OFFSET)
 
 
 static void versatile_leds_event(led_event_t ledevt)
 static void versatile_leds_event(led_event_t ledevt)
 {
 {
@@ -778,11 +778,11 @@ void __init versatile_init(void)
 /*
 /*
  * Where is the timer (VA)?
  * Where is the timer (VA)?
  */
  */
-#define TIMER0_VA_BASE		 IO_ADDRESS(VERSATILE_TIMER0_1_BASE)
-#define TIMER1_VA_BASE		(IO_ADDRESS(VERSATILE_TIMER0_1_BASE) + 0x20)
-#define TIMER2_VA_BASE		 IO_ADDRESS(VERSATILE_TIMER2_3_BASE)
-#define TIMER3_VA_BASE		(IO_ADDRESS(VERSATILE_TIMER2_3_BASE) + 0x20)
-#define VA_IC_BASE		 IO_ADDRESS(VERSATILE_VIC_BASE) 
+#define TIMER0_VA_BASE		 __io_address(VERSATILE_TIMER0_1_BASE)
+#define TIMER1_VA_BASE		(__io_address(VERSATILE_TIMER0_1_BASE) + 0x20)
+#define TIMER2_VA_BASE		 __io_address(VERSATILE_TIMER2_3_BASE)
+#define TIMER3_VA_BASE		(__io_address(VERSATILE_TIMER2_3_BASE) + 0x20)
+#define VA_IC_BASE		 __io_address(VERSATILE_VIC_BASE) 
 
 
 /*
 /*
  * How long is the timer interval?
  * How long is the timer interval?
@@ -877,12 +877,12 @@ static void __init versatile_timer_init(void)
 	 *	VERSATILE_REFCLK is 32KHz
 	 *	VERSATILE_REFCLK is 32KHz
 	 *	VERSATILE_TIMCLK is 1MHz
 	 *	VERSATILE_TIMCLK is 1MHz
 	 */
 	 */
-	val = readl(IO_ADDRESS(VERSATILE_SCTL_BASE));
+	val = readl(__io_address(VERSATILE_SCTL_BASE));
 	writel((VERSATILE_TIMCLK << VERSATILE_TIMER1_EnSel) |
 	writel((VERSATILE_TIMCLK << VERSATILE_TIMER1_EnSel) |
 	       (VERSATILE_TIMCLK << VERSATILE_TIMER2_EnSel) | 
 	       (VERSATILE_TIMCLK << VERSATILE_TIMER2_EnSel) | 
 	       (VERSATILE_TIMCLK << VERSATILE_TIMER3_EnSel) |
 	       (VERSATILE_TIMCLK << VERSATILE_TIMER3_EnSel) |
 	       (VERSATILE_TIMCLK << VERSATILE_TIMER4_EnSel) | val,
 	       (VERSATILE_TIMCLK << VERSATILE_TIMER4_EnSel) | val,
-	       IO_ADDRESS(VERSATILE_SCTL_BASE));
+	       __io_address(VERSATILE_SCTL_BASE));
 
 
 	/*
 	/*
 	 * Initialise to a known state (all timers off)
 	 * Initialise to a known state (all timers off)

+ 0 - 1
arch/arm/mach-versatile/pci.c

@@ -29,7 +29,6 @@
 #include <asm/irq.h>
 #include <asm/irq.h>
 #include <asm/system.h>
 #include <asm/system.h>
 #include <asm/mach/pci.h>
 #include <asm/mach/pci.h>
-#include <asm/mach-types.h>
 
 
 /*
 /*
  * these spaces are mapped using the following base registers:
  * these spaces are mapped using the following base registers:

+ 5 - 0
arch/arm/mm/abort-ev6.S

@@ -20,6 +20,11 @@
  */
  */
 	.align	5
 	.align	5
 ENTRY(v6_early_abort)
 ENTRY(v6_early_abort)
+#ifdef CONFIG_CPU_MPCORE
+	clrex
+#else
+	strex	r0, r1, [sp]			@ Clear the exclusive monitor
+#endif
 	mrc	p15, 0, r1, c5, c0, 0		@ get FSR
 	mrc	p15, 0, r1, c5, c0, 0		@ get FSR
 	mrc	p15, 0, r0, c6, c0, 0		@ get FAR
 	mrc	p15, 0, r0, c6, c0, 0		@ get FAR
 /*
 /*

+ 8 - 1
arch/arm/mm/cache-v6.S

@@ -18,6 +18,7 @@
 #define HARVARD_CACHE
 #define HARVARD_CACHE
 #define CACHE_LINE_SIZE		32
 #define CACHE_LINE_SIZE		32
 #define D_CACHE_LINE_SIZE	32
 #define D_CACHE_LINE_SIZE	32
+#define BTB_FLUSH_SIZE		8
 
 
 /*
 /*
  *	v6_flush_cache_all()
  *	v6_flush_cache_all()
@@ -98,7 +99,13 @@ ENTRY(v6_coherent_user_range)
 	mcr	p15, 0, r0, c7, c5, 1		@ invalidate I line
 	mcr	p15, 0, r0, c7, c5, 1		@ invalidate I line
 #endif
 #endif
 	mcr	p15, 0, r0, c7, c5, 7		@ invalidate BTB entry
 	mcr	p15, 0, r0, c7, c5, 7		@ invalidate BTB entry
-	add	r0, r0, #CACHE_LINE_SIZE
+	add	r0, r0, #BTB_FLUSH_SIZE
+	mcr	p15, 0, r0, c7, c5, 7		@ invalidate BTB entry
+	add	r0, r0, #BTB_FLUSH_SIZE
+	mcr	p15, 0, r0, c7, c5, 7		@ invalidate BTB entry
+	add	r0, r0, #BTB_FLUSH_SIZE
+	mcr	p15, 0, r0, c7, c5, 7		@ invalidate BTB entry
+	add	r0, r0, #BTB_FLUSH_SIZE
 	cmp	r0, r1
 	cmp	r0, r1
 	blo	1b
 	blo	1b
 #ifdef HARVARD_CACHE
 #ifdef HARVARD_CACHE

+ 18 - 18
arch/arm/mm/flush.c

@@ -17,6 +17,24 @@
 
 
 #ifdef CONFIG_CPU_CACHE_VIPT
 #ifdef CONFIG_CPU_CACHE_VIPT
 
 
+#define ALIAS_FLUSH_START	0xffff4000
+
+#define TOP_PTE(x)	pte_offset_kernel(top_pmd, x)
+
+static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
+{
+	unsigned long to = ALIAS_FLUSH_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT);
+
+	set_pte(TOP_PTE(to), pfn_pte(pfn, PAGE_KERNEL));
+	flush_tlb_kernel_page(to);
+
+	asm(	"mcrr	p15, 0, %1, %0, c14\n"
+	"	mcrr	p15, 0, %1, %0, c5\n"
+	    :
+	    : "r" (to), "r" (to + PAGE_SIZE - L1_CACHE_BYTES)
+	    : "cc");
+}
+
 void flush_cache_mm(struct mm_struct *mm)
 void flush_cache_mm(struct mm_struct *mm)
 {
 {
 	if (cache_is_vivt()) {
 	if (cache_is_vivt()) {
@@ -67,24 +85,6 @@ void flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr, unsig
 	if (cache_is_vipt_aliasing())
 	if (cache_is_vipt_aliasing())
 		flush_pfn_alias(pfn, user_addr);
 		flush_pfn_alias(pfn, user_addr);
 }
 }
-
-#define ALIAS_FLUSH_START	0xffff4000
-
-#define TOP_PTE(x)	pte_offset_kernel(top_pmd, x)
-
-static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
-{
-	unsigned long to = ALIAS_FLUSH_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT);
-
-	set_pte(TOP_PTE(to), pfn_pte(pfn, PAGE_KERNEL));
-	flush_tlb_kernel_page(to);
-
-	asm(	"mcrr	p15, 0, %1, %0, c14\n"
-	"	mcrr	p15, 0, %1, %0, c5\n"
-	    :
-	    : "r" (to), "r" (to + PAGE_SIZE - L1_CACHE_BYTES)
-	    : "cc");
-}
 #else
 #else
 #define flush_pfn_alias(pfn,vaddr)	do { } while (0)
 #define flush_pfn_alias(pfn,vaddr)	do { } while (0)
 #endif
 #endif

+ 0 - 1
arch/arm/plat-omap/common.c

@@ -25,7 +25,6 @@
 #include <asm/mach/map.h>
 #include <asm/mach/map.h>
 #include <asm/hardware/clock.h>
 #include <asm/hardware/clock.h>
 #include <asm/io.h>
 #include <asm/io.h>
-#include <asm/mach-types.h>
 #include <asm/setup.h>
 #include <asm/setup.h>
 
 
 #include <asm/arch/board.h>
 #include <asm/arch/board.h>

+ 0 - 1
arch/arm/plat-omap/cpu-omap.c

@@ -21,7 +21,6 @@
 #include <linux/err.h>
 #include <linux/err.h>
 
 
 #include <asm/hardware.h>
 #include <asm/hardware.h>
-#include <asm/mach-types.h>
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/system.h>
 #include <asm/system.h>
 
 

+ 0 - 1
arch/arm/plat-omap/usb.c

@@ -33,7 +33,6 @@
 #include <asm/irq.h>
 #include <asm/irq.h>
 #include <asm/system.h>
 #include <asm/system.h>
 #include <asm/hardware.h>
 #include <asm/hardware.h>
-#include <asm/mach-types.h>
 
 
 #include <asm/arch/mux.h>
 #include <asm/arch/mux.h>
 #include <asm/arch/usb.h>
 #include <asm/arch/usb.h>

+ 1 - 2
arch/i386/kernel/acpi/boot.c

@@ -27,15 +27,14 @@
 #include <linux/config.h>
 #include <linux/config.h>
 #include <linux/acpi.h>
 #include <linux/acpi.h>
 #include <linux/efi.h>
 #include <linux/efi.h>
-#include <linux/irq.h>
 #include <linux/module.h>
 #include <linux/module.h>
 #include <linux/dmi.h>
 #include <linux/dmi.h>
+#include <linux/irq.h>
 
 
 #include <asm/pgtable.h>
 #include <asm/pgtable.h>
 #include <asm/io_apic.h>
 #include <asm/io_apic.h>
 #include <asm/apic.h>
 #include <asm/apic.h>
 #include <asm/io.h>
 #include <asm/io.h>
-#include <asm/irq.h>
 #include <asm/mpspec.h>
 #include <asm/mpspec.h>
 
 
 #ifdef	CONFIG_X86_64
 #ifdef	CONFIG_X86_64

+ 0 - 1
arch/i386/kernel/apic.c

@@ -18,7 +18,6 @@
 #include <linux/init.h>
 #include <linux/init.h>
 
 
 #include <linux/mm.h>
 #include <linux/mm.h>
-#include <linux/irq.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
 #include <linux/bootmem.h>
 #include <linux/bootmem.h>
 #include <linux/smp_lock.h>
 #include <linux/smp_lock.h>

+ 16 - 0
arch/i386/kernel/cpu/amd.c

@@ -28,6 +28,22 @@ static void __init init_amd(struct cpuinfo_x86 *c)
 	int mbytes = num_physpages >> (20-PAGE_SHIFT);
 	int mbytes = num_physpages >> (20-PAGE_SHIFT);
 	int r;
 	int r;
 
 
+#ifdef CONFIG_SMP
+	unsigned long value;
+
+	/* Disable TLB flush filter by setting HWCR.FFDIS on K8
+	 * bit 6 of msr C001_0015
+	 *
+	 * Errata 63 for SH-B3 steppings
+	 * Errata 122 for all steppings (F+ have it disabled by default)
+	 */
+	if (c->x86 == 15) {
+		rdmsrl(MSR_K7_HWCR, value);
+		value |= 1 << 6;
+		wrmsrl(MSR_K7_HWCR, value);
+	}
+#endif
+
 	/*
 	/*
 	 *	FIXME: We should handle the K5 here. Set up the write
 	 *	FIXME: We should handle the K5 here. Set up the write
 	 *	range and also turn on MSR 83 bits 4 and 31 (write alloc,
 	 *	range and also turn on MSR 83 bits 4 and 31 (write alloc,

+ 0 - 1
arch/i386/kernel/cpu/mcheck/k7.c

@@ -7,7 +7,6 @@
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/config.h>
 #include <linux/config.h>
-#include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <linux/smp.h>
 #include <linux/smp.h>
 
 

+ 0 - 1
arch/i386/kernel/cpu/mcheck/non-fatal.c

@@ -12,7 +12,6 @@
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/jiffies.h>
 #include <linux/jiffies.h>
 #include <linux/config.h>
 #include <linux/config.h>
-#include <linux/irq.h>
 #include <linux/workqueue.h>
 #include <linux/workqueue.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <linux/smp.h>
 #include <linux/smp.h>

+ 0 - 1
arch/i386/kernel/cpu/mcheck/p4.c

@@ -6,7 +6,6 @@
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/config.h>
 #include <linux/config.h>
-#include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <linux/smp.h>
 #include <linux/smp.h>
 
 

+ 0 - 1
arch/i386/kernel/cpu/mcheck/p5.c

@@ -6,7 +6,6 @@
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
-#include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <linux/smp.h>
 #include <linux/smp.h>
 
 

+ 0 - 1
arch/i386/kernel/cpu/mcheck/p6.c

@@ -6,7 +6,6 @@
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
-#include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <linux/smp.h>
 #include <linux/smp.h>
 
 

+ 0 - 1
arch/i386/kernel/cpu/mcheck/winchip.c

@@ -6,7 +6,6 @@
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
-#include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 
 
 #include <asm/processor.h> 
 #include <asm/processor.h> 

+ 0 - 2
arch/i386/kernel/crash.c

@@ -11,10 +11,8 @@
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/smp.h>
 #include <linux/smp.h>
-#include <linux/irq.h>
 #include <linux/reboot.h>
 #include <linux/reboot.h>
 #include <linux/kexec.h>
 #include <linux/kexec.h>
-#include <linux/irq.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
 #include <linux/elf.h>
 #include <linux/elf.h>
 #include <linux/elfcore.h>
 #include <linux/elfcore.h>

+ 0 - 3
arch/i386/kernel/i8259.c

@@ -16,7 +16,6 @@
 #include <asm/atomic.h>
 #include <asm/atomic.h>
 #include <asm/system.h>
 #include <asm/system.h>
 #include <asm/io.h>
 #include <asm/io.h>
-#include <asm/irq.h>
 #include <asm/timer.h>
 #include <asm/timer.h>
 #include <asm/pgtable.h>
 #include <asm/pgtable.h>
 #include <asm/delay.h>
 #include <asm/delay.h>
@@ -25,8 +24,6 @@
 #include <asm/arch_hooks.h>
 #include <asm/arch_hooks.h>
 #include <asm/i8259.h>
 #include <asm/i8259.h>
 
 
-#include <linux/irq.h>
-
 #include <io_ports.h>
 #include <io_ports.h>
 
 
 /*
 /*

+ 0 - 1
arch/i386/kernel/io_apic.c

@@ -21,7 +21,6 @@
  */
  */
 
 
 #include <linux/mm.h>
 #include <linux/mm.h>
-#include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/delay.h>
 #include <linux/delay.h>

+ 0 - 1
arch/i386/kernel/mpparse.c

@@ -14,7 +14,6 @@
  */
  */
 
 
 #include <linux/mm.h>
 #include <linux/mm.h>
-#include <linux/irq.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/acpi.h>
 #include <linux/acpi.h>
 #include <linux/delay.h>
 #include <linux/delay.h>

+ 0 - 1
arch/i386/kernel/nmi.c

@@ -15,7 +15,6 @@
 
 
 #include <linux/config.h>
 #include <linux/config.h>
 #include <linux/mm.h>
 #include <linux/mm.h>
-#include <linux/irq.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
 #include <linux/bootmem.h>
 #include <linux/bootmem.h>
 #include <linux/smp_lock.h>
 #include <linux/smp_lock.h>

+ 0 - 2
arch/i386/kernel/process.c

@@ -47,13 +47,11 @@
 #include <asm/ldt.h>
 #include <asm/ldt.h>
 #include <asm/processor.h>
 #include <asm/processor.h>
 #include <asm/i387.h>
 #include <asm/i387.h>
-#include <asm/irq.h>
 #include <asm/desc.h>
 #include <asm/desc.h>
 #ifdef CONFIG_MATH_EMULATION
 #ifdef CONFIG_MATH_EMULATION
 #include <asm/math_emu.h>
 #include <asm/math_emu.h>
 #endif
 #endif
 
 
-#include <linux/irq.h>
 #include <linux/err.h>
 #include <linux/err.h>
 
 
 #include <asm/tlbflush.h>
 #include <asm/tlbflush.h>

+ 0 - 1
arch/i386/kernel/smp.c

@@ -11,7 +11,6 @@
 #include <linux/init.h>
 #include <linux/init.h>
 
 
 #include <linux/mm.h>
 #include <linux/mm.h>
-#include <linux/irq.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
 #include <linux/spinlock.h>
 #include <linux/spinlock.h>
 #include <linux/smp_lock.h>
 #include <linux/smp_lock.h>

+ 0 - 1
arch/i386/kernel/smpboot.c

@@ -42,7 +42,6 @@
 #include <linux/sched.h>
 #include <linux/sched.h>
 #include <linux/kernel_stat.h>
 #include <linux/kernel_stat.h>
 #include <linux/smp_lock.h>
 #include <linux/smp_lock.h>
-#include <linux/irq.h>
 #include <linux/bootmem.h>
 #include <linux/bootmem.h>
 #include <linux/notifier.h>
 #include <linux/notifier.h>
 #include <linux/cpu.h>
 #include <linux/cpu.h>

+ 0 - 1
arch/i386/kernel/timers/timer_pit.c

@@ -6,7 +6,6 @@
 #include <linux/spinlock.h>
 #include <linux/spinlock.h>
 #include <linux/module.h>
 #include <linux/module.h>
 #include <linux/device.h>
 #include <linux/device.h>
-#include <linux/irq.h>
 #include <linux/sysdev.h>
 #include <linux/sysdev.h>
 #include <linux/timex.h>
 #include <linux/timex.h>
 #include <asm/delay.h>
 #include <asm/delay.h>

+ 0 - 1
arch/i386/kernel/traps.c

@@ -52,7 +52,6 @@
 #include <asm/arch_hooks.h>
 #include <asm/arch_hooks.h>
 #include <asm/kdebug.h>
 #include <asm/kdebug.h>
 
 
-#include <linux/irq.h>
 #include <linux/module.h>
 #include <linux/module.h>
 
 
 #include "mach_traps.h"
 #include "mach_traps.h"

+ 0 - 1
arch/i386/mach-default/setup.c

@@ -5,7 +5,6 @@
 #include <linux/config.h>
 #include <linux/config.h>
 #include <linux/smp.h>
 #include <linux/smp.h>
 #include <linux/init.h>
 #include <linux/init.h>
-#include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <asm/acpi.h>
 #include <asm/acpi.h>
 #include <asm/arch_hooks.h>
 #include <asm/arch_hooks.h>

+ 0 - 1
arch/i386/mach-visws/setup.c

@@ -5,7 +5,6 @@
 
 
 #include <linux/smp.h>
 #include <linux/smp.h>
 #include <linux/init.h>
 #include <linux/init.h>
-#include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 
 
 #include <asm/fixmap.h>
 #include <asm/fixmap.h>

+ 0 - 1
arch/i386/mach-visws/visws_apic.c

@@ -19,7 +19,6 @@
 #include <linux/config.h>
 #include <linux/config.h>
 #include <linux/kernel_stat.h>
 #include <linux/kernel_stat.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
-#include <linux/irq.h>
 #include <linux/smp_lock.h>
 #include <linux/smp_lock.h>
 #include <linux/init.h>
 #include <linux/init.h>
 
 

+ 0 - 1
arch/i386/mach-voyager/setup.c

@@ -4,7 +4,6 @@
 
 
 #include <linux/config.h>
 #include <linux/config.h>
 #include <linux/init.h>
 #include <linux/init.h>
-#include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <asm/acpi.h>
 #include <asm/acpi.h>
 #include <asm/arch_hooks.h>
 #include <asm/arch_hooks.h>

+ 0 - 1
arch/i386/mach-voyager/voyager_basic.c

@@ -27,7 +27,6 @@
 #include <asm/voyager.h>
 #include <asm/voyager.h>
 #include <asm/vic.h>
 #include <asm/vic.h>
 #include <linux/pm.h>
 #include <linux/pm.h>
-#include <linux/irq.h>
 #include <asm/tlbflush.h>
 #include <asm/tlbflush.h>
 #include <asm/arch_hooks.h>
 #include <asm/arch_hooks.h>
 #include <asm/i8253.h>
 #include <asm/i8253.h>

+ 0 - 2
arch/i386/mach-voyager/voyager_smp.c

@@ -30,8 +30,6 @@
 #include <asm/tlbflush.h>
 #include <asm/tlbflush.h>
 #include <asm/arch_hooks.h>
 #include <asm/arch_hooks.h>
 
 
-#include <linux/irq.h>
-
 /* TLB state -- visible externally, indexed physically */
 /* TLB state -- visible externally, indexed physically */
 DEFINE_PER_CPU(struct tlb_state, cpu_tlbstate) ____cacheline_aligned = { &init_mm, 0 };
 DEFINE_PER_CPU(struct tlb_state, cpu_tlbstate) ____cacheline_aligned = { &init_mm, 0 };
 
 

+ 0 - 2
arch/i386/mach-voyager/voyager_thread.c

@@ -31,8 +31,6 @@
 #include <asm/mtrr.h>
 #include <asm/mtrr.h>
 #include <asm/msr.h>
 #include <asm/msr.h>
 
 
-#include <linux/irq.h>
-
 #define THREAD_NAME "kvoyagerd"
 #define THREAD_NAME "kvoyagerd"
 
 
 /* external variables */
 /* external variables */

+ 1 - 1
arch/i386/oprofile/nmi_timer_int.c

@@ -9,7 +9,7 @@
 
 
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/smp.h>
 #include <linux/smp.h>
-#include <linux/irq.h>
+#include <linux/errno.h>
 #include <linux/oprofile.h>
 #include <linux/oprofile.h>
 #include <linux/rcupdate.h>
 #include <linux/rcupdate.h>
 
 

+ 0 - 1
arch/i386/pci/acpi.c

@@ -2,7 +2,6 @@
 #include <linux/acpi.h>
 #include <linux/acpi.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/irq.h>
 #include <linux/irq.h>
-#include <asm/hw_irq.h>
 #include <asm/numa.h>
 #include <asm/numa.h>
 #include "pci.h"
 #include "pci.h"
 
 

+ 1 - 2
arch/i386/pci/irq.c

@@ -11,12 +11,11 @@
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/slab.h>
 #include <linux/slab.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
-#include <linux/irq.h>
 #include <linux/dmi.h>
 #include <linux/dmi.h>
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/smp.h>
 #include <asm/smp.h>
 #include <asm/io_apic.h>
 #include <asm/io_apic.h>
-#include <asm/hw_irq.h>
+#include <linux/irq.h>
 #include <linux/acpi.h>
 #include <linux/acpi.h>
 
 
 #include "pci.h"
 #include "pci.h"

+ 0 - 17
arch/i386/power/cpu.c

@@ -8,25 +8,8 @@
  */
  */
 
 
 #include <linux/config.h>
 #include <linux/config.h>
-#include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/module.h>
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/spinlock.h>
-#include <linux/poll.h>
-#include <linux/delay.h>
-#include <linux/sysrq.h>
-#include <linux/proc_fs.h>
-#include <linux/irq.h>
-#include <linux/pm.h>
-#include <linux/device.h>
 #include <linux/suspend.h>
 #include <linux/suspend.h>
-#include <linux/acpi.h>
-
-#include <asm/uaccess.h>
-#include <asm/acpi.h>
-#include <asm/tlbflush.h>
-#include <asm/processor.h>
 
 
 static struct saved_context saved_context;
 static struct saved_context saved_context;
 
 

+ 1 - 1
arch/m32r/Makefile

@@ -24,7 +24,7 @@ aflags-$(CONFIG_ISA_M32R)	+= -DNO_FPU -Wa,-no-bitinst
 CFLAGS += $(cflags-y)
 CFLAGS += $(cflags-y)
 AFLAGS += $(aflags-y)
 AFLAGS += $(aflags-y)
 
 
-CHECKFLAGS	:= $(CHECK) -D__m32r__
+CHECKFLAGS	+= -D__m32r__ -D__BIG_ENDIAN__=1
 
 
 head-y	:= arch/m32r/kernel/head.o arch/m32r/kernel/init_task.o
 head-y	:= arch/m32r/kernel/head.o arch/m32r/kernel/init_task.o
 
 

+ 8 - 8
arch/m32r/lib/usercopy.c

@@ -13,7 +13,7 @@
 #include <asm/uaccess.h>
 #include <asm/uaccess.h>
 
 
 unsigned long
 unsigned long
-__generic_copy_to_user(void *to, const void *from, unsigned long n)
+__generic_copy_to_user(void __user *to, const void *from, unsigned long n)
 {
 {
 	prefetch(from);
 	prefetch(from);
 	if (access_ok(VERIFY_WRITE, to, n))
 	if (access_ok(VERIFY_WRITE, to, n))
@@ -22,7 +22,7 @@ __generic_copy_to_user(void *to, const void *from, unsigned long n)
 }
 }
 
 
 unsigned long
 unsigned long
-__generic_copy_from_user(void *to, const void *from, unsigned long n)
+__generic_copy_from_user(void *to, const void __user *from, unsigned long n)
 {
 {
 	prefetchw(to);
 	prefetchw(to);
 	if (access_ok(VERIFY_READ, from, n))
 	if (access_ok(VERIFY_READ, from, n))
@@ -111,7 +111,7 @@ do {									\
 #endif /* CONFIG_ISA_DUAL_ISSUE */
 #endif /* CONFIG_ISA_DUAL_ISSUE */
 
 
 long
 long
-__strncpy_from_user(char *dst, const char *src, long count)
+__strncpy_from_user(char *dst, const char __user *src, long count)
 {
 {
 	long res;
 	long res;
 	__do_strncpy_from_user(dst, src, count, res);
 	__do_strncpy_from_user(dst, src, count, res);
@@ -119,7 +119,7 @@ __strncpy_from_user(char *dst, const char *src, long count)
 }
 }
 
 
 long
 long
-strncpy_from_user(char *dst, const char *src, long count)
+strncpy_from_user(char *dst, const char __user *src, long count)
 {
 {
 	long res = -EFAULT;
 	long res = -EFAULT;
 	if (access_ok(VERIFY_READ, src, 1))
 	if (access_ok(VERIFY_READ, src, 1))
@@ -222,7 +222,7 @@ do {									\
 #endif /* not CONFIG_ISA_DUAL_ISSUE */
 #endif /* not CONFIG_ISA_DUAL_ISSUE */
 
 
 unsigned long
 unsigned long
-clear_user(void *to, unsigned long n)
+clear_user(void __user *to, unsigned long n)
 {
 {
 	if (access_ok(VERIFY_WRITE, to, n))
 	if (access_ok(VERIFY_WRITE, to, n))
 		__do_clear_user(to, n);
 		__do_clear_user(to, n);
@@ -230,7 +230,7 @@ clear_user(void *to, unsigned long n)
 }
 }
 
 
 unsigned long
 unsigned long
-__clear_user(void *to, unsigned long n)
+__clear_user(void __user *to, unsigned long n)
 {
 {
 	__do_clear_user(to, n);
 	__do_clear_user(to, n);
 	return n;
 	return n;
@@ -244,7 +244,7 @@ __clear_user(void *to, unsigned long n)
 
 
 #ifdef CONFIG_ISA_DUAL_ISSUE
 #ifdef CONFIG_ISA_DUAL_ISSUE
 
 
-long strnlen_user(const char *s, long n)
+long strnlen_user(const char __user *s, long n)
 {
 {
 	unsigned long mask = -__addr_ok(s);
 	unsigned long mask = -__addr_ok(s);
 	unsigned long res;
 	unsigned long res;
@@ -313,7 +313,7 @@ long strnlen_user(const char *s, long n)
 
 
 #else /* not CONFIG_ISA_DUAL_ISSUE */
 #else /* not CONFIG_ISA_DUAL_ISSUE */
 
 
-long strnlen_user(const char *s, long n)
+long strnlen_user(const char __user *s, long n)
 {
 {
 	unsigned long mask = -__addr_ok(s);
 	unsigned long mask = -__addr_ok(s);
 	unsigned long res;
 	unsigned long res;

+ 1 - 1
arch/ppc/boot/ld.script

@@ -1,4 +1,4 @@
-OUTPUT_ARCH(powerpc)
+OUTPUT_ARCH(powerpc:common)
 SECTIONS
 SECTIONS
 {
 {
   /* Read-only sections, merged into text segment: */
   /* Read-only sections, merged into text segment: */

+ 1 - 2
arch/ppc/kernel/perfmon.c

@@ -45,9 +45,8 @@ static void dummy_perf(struct pt_regs *regs)
 	mtpmr(PMRN_PMGC0, pmgc0);
 	mtpmr(PMRN_PMGC0, pmgc0);
 }
 }
 
 
-#elif CONFIG_6xx
+#elif defined(CONFIG_6xx)
 /* Ensure exceptions are disabled */
 /* Ensure exceptions are disabled */
-
 static void dummy_perf(struct pt_regs *regs)
 static void dummy_perf(struct pt_regs *regs)
 {
 {
 	unsigned int mmcr0 = mfspr(SPRN_MMCR0);
 	unsigned int mmcr0 = mfspr(SPRN_MMCR0);

+ 0 - 1
arch/ppc/platforms/4xx/bamboo.c

@@ -27,7 +27,6 @@
 #include <linux/delay.h>
 #include <linux/delay.h>
 #include <linux/ide.h>
 #include <linux/ide.h>
 #include <linux/initrd.h>
 #include <linux/initrd.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>
 #include <linux/tty.h>
 #include <linux/tty.h>

+ 0 - 1
arch/ppc/platforms/4xx/ebony.c

@@ -30,7 +30,6 @@
 #include <linux/delay.h>
 #include <linux/delay.h>
 #include <linux/ide.h>
 #include <linux/ide.h>
 #include <linux/initrd.h>
 #include <linux/initrd.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>
 #include <linux/tty.h>
 #include <linux/tty.h>

+ 0 - 1
arch/ppc/platforms/4xx/luan.c

@@ -28,7 +28,6 @@
 #include <linux/delay.h>
 #include <linux/delay.h>
 #include <linux/ide.h>
 #include <linux/ide.h>
 #include <linux/initrd.h>
 #include <linux/initrd.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>
 #include <linux/tty.h>
 #include <linux/tty.h>

+ 0 - 1
arch/ppc/platforms/4xx/ocotea.c

@@ -28,7 +28,6 @@
 #include <linux/delay.h>
 #include <linux/delay.h>
 #include <linux/ide.h>
 #include <linux/ide.h>
 #include <linux/initrd.h>
 #include <linux/initrd.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>
 #include <linux/tty.h>
 #include <linux/tty.h>

+ 0 - 1
arch/ppc/platforms/83xx/mpc834x_sys.c

@@ -24,7 +24,6 @@
 #include <linux/major.h>
 #include <linux/major.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>
 #include <linux/serial.h>
 #include <linux/serial.h>

+ 0 - 1
arch/ppc/platforms/85xx/mpc8540_ads.c

@@ -24,7 +24,6 @@
 #include <linux/major.h>
 #include <linux/major.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>
 #include <linux/serial.h>
 #include <linux/serial.h>

+ 0 - 1
arch/ppc/platforms/85xx/mpc8560_ads.c

@@ -24,7 +24,6 @@
 #include <linux/major.h>
 #include <linux/major.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>
 #include <linux/serial.h>
 #include <linux/serial.h>

+ 0 - 1
arch/ppc/platforms/85xx/mpc85xx_ads_common.c

@@ -24,7 +24,6 @@
 #include <linux/major.h>
 #include <linux/major.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/serial.h>
 #include <linux/serial.h>
 #include <linux/module.h>
 #include <linux/module.h>

+ 0 - 1
arch/ppc/platforms/85xx/mpc85xx_cds_common.c

@@ -24,7 +24,6 @@
 #include <linux/major.h>
 #include <linux/major.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/serial.h>
 #include <linux/serial.h>
 #include <linux/module.h>
 #include <linux/module.h>

+ 0 - 1
arch/ppc/platforms/85xx/sbc8560.c

@@ -24,7 +24,6 @@
 #include <linux/major.h>
 #include <linux/major.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>
 #include <linux/serial.h>
 #include <linux/serial.h>

+ 0 - 1
arch/ppc/platforms/85xx/sbc85xx.c

@@ -23,7 +23,6 @@
 #include <linux/major.h>
 #include <linux/major.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/serial.h>
 #include <linux/serial.h>
 #include <linux/module.h>
 #include <linux/module.h>

+ 0 - 1
arch/ppc/platforms/85xx/stx_gp3.c

@@ -30,7 +30,6 @@
 #include <linux/blkdev.h>
 #include <linux/blkdev.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/serial.h>
 #include <linux/serial.h>

+ 0 - 1
arch/ppc/platforms/chestnut.c

@@ -35,7 +35,6 @@
 #include <asm/time.h>
 #include <asm/time.h>
 #include <asm/dma.h>
 #include <asm/dma.h>
 #include <asm/io.h>
 #include <asm/io.h>
-#include <linux/irq.h>
 #include <asm/hw_irq.h>
 #include <asm/hw_irq.h>
 #include <asm/machdep.h>
 #include <asm/machdep.h>
 #include <asm/kgdb.h>
 #include <asm/kgdb.h>

+ 0 - 1
arch/ppc/platforms/chrp_setup.c

@@ -32,7 +32,6 @@
 #include <linux/module.h>
 #include <linux/module.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
 #include <linux/ide.h>
 #include <linux/ide.h>
-#include <linux/irq.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>

+ 0 - 1
arch/ppc/platforms/gemini_setup.c

@@ -21,7 +21,6 @@
 #include <linux/major.h>
 #include <linux/major.h>
 #include <linux/initrd.h>
 #include <linux/initrd.h>
 #include <linux/console.h>
 #include <linux/console.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>
 #include <linux/bcd.h>
 #include <linux/bcd.h>

+ 0 - 1
arch/ppc/platforms/mvme5100.c

@@ -20,7 +20,6 @@
 #include <linux/initrd.h>
 #include <linux/initrd.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/ide.h>
 #include <linux/ide.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/kdev_t.h>
 #include <linux/kdev_t.h>

+ 7 - 0
arch/ppc/platforms/pmac_cpufreq.c

@@ -695,6 +695,13 @@ static int __init pmac_cpufreq_setup(void)
 		set_speed_proc = pmu_set_cpu_speed;
 		set_speed_proc = pmu_set_cpu_speed;
 		is_pmu_based = 1;
 		is_pmu_based = 1;
 	}
 	}
+	/* Else check for TiPb 550 */
+	else if (machine_is_compatible("PowerBook3,3") && cur_freq == 550000) {
+		hi_freq = cur_freq;
+		low_freq = 500000;
+		set_speed_proc = pmu_set_cpu_speed;
+		is_pmu_based = 1;
+	}
 	/* Else check for TiPb 400 & 500 */
 	/* Else check for TiPb 400 & 500 */
 	else if (machine_is_compatible("PowerBook3,2")) {
 	else if (machine_is_compatible("PowerBook3,2")) {
 		/* We only know about the 400 MHz and the 500Mhz model
 		/* We only know about the 400 MHz and the 500Mhz model

+ 4 - 0
arch/ppc/platforms/pmac_feature.c

@@ -2337,6 +2337,10 @@ static struct pmac_mb_def pmac_mb_defs[] __pmacdata = {
 		PMAC_TYPE_UNKNOWN_INTREPID,	intrepid_features,
 		PMAC_TYPE_UNKNOWN_INTREPID,	intrepid_features,
 		PMAC_MB_MAY_SLEEP | PMAC_MB_HAS_FW_POWER | PMAC_MB_MOBILE,
 		PMAC_MB_MAY_SLEEP | PMAC_MB_HAS_FW_POWER | PMAC_MB_MOBILE,
 	},
 	},
+	{	"PowerBook6,7",			"iBook G4",
+		PMAC_TYPE_UNKNOWN_INTREPID,	intrepid_features,
+		PMAC_MB_MAY_SLEEP | PMAC_MB_HAS_FW_POWER | PMAC_MB_MOBILE,
+	},
 	{	"PowerBook6,8",			"PowerBook G4 12\"",
 	{	"PowerBook6,8",			"PowerBook G4 12\"",
 		PMAC_TYPE_UNKNOWN_INTREPID,	intrepid_features,
 		PMAC_TYPE_UNKNOWN_INTREPID,	intrepid_features,
 		PMAC_MB_MAY_SLEEP | PMAC_MB_HAS_FW_POWER | PMAC_MB_MOBILE,
 		PMAC_MB_MAY_SLEEP | PMAC_MB_HAS_FW_POWER | PMAC_MB_MOBILE,

+ 0 - 1
arch/ppc/platforms/pmac_setup.c

@@ -48,7 +48,6 @@
 #include <linux/adb.h>
 #include <linux/adb.h>
 #include <linux/cuda.h>
 #include <linux/cuda.h>
 #include <linux/pmu.h>
 #include <linux/pmu.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>
 #include <linux/bitops.h>
 #include <linux/bitops.h>

+ 0 - 1
arch/ppc/platforms/powerpmc250.c

@@ -26,7 +26,6 @@
 #include <linux/initrd.h>
 #include <linux/initrd.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/slab.h>
 #include <linux/slab.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/ide.h>
 #include <linux/ide.h>

+ 0 - 1
arch/ppc/platforms/pplus.c

@@ -22,7 +22,6 @@
 #include <linux/ioport.h>
 #include <linux/ioport.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/pci.h>
 #include <linux/pci.h>
-#include <linux/irq.h>
 #include <linux/ide.h>
 #include <linux/ide.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>

+ 0 - 1
arch/ppc/platforms/prpmc750.c

@@ -24,7 +24,6 @@
 #include <linux/initrd.h>
 #include <linux/initrd.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/ide.h>
 #include <linux/ide.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>

+ 0 - 1
arch/ppc/platforms/prpmc800.c

@@ -22,7 +22,6 @@
 #include <linux/initrd.h>
 #include <linux/initrd.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/ide.h>
 #include <linux/ide.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>

+ 0 - 2
arch/ppc/platforms/radstone_ppc7d.c

@@ -32,7 +32,6 @@
 #include <linux/initrd.h>
 #include <linux/initrd.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/ide.h>
 #include <linux/ide.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>
@@ -59,7 +58,6 @@
 #include <asm/mpc10x.h>
 #include <asm/mpc10x.h>
 #include <asm/pci-bridge.h>
 #include <asm/pci-bridge.h>
 #include <asm/mv64x60.h>
 #include <asm/mv64x60.h>
-#include <asm/i8259.h>
 
 
 #include "radstone_ppc7d.h"
 #include "radstone_ppc7d.h"
 
 

+ 0 - 1
arch/ppc/platforms/sandpoint.c

@@ -74,7 +74,6 @@
 #include <linux/initrd.h>
 #include <linux/initrd.h>
 #include <linux/console.h>
 #include <linux/console.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
-#include <linux/irq.h>
 #include <linux/ide.h>
 #include <linux/ide.h>
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/root_dev.h>
 #include <linux/root_dev.h>

+ 2 - 2
arch/ppc/syslib/mv64x60.c

@@ -34,7 +34,7 @@ u8 mv64x60_pci_exclude_bridge = 1;
 DEFINE_SPINLOCK(mv64x60_lock);
 DEFINE_SPINLOCK(mv64x60_lock);
 
 
 static phys_addr_t 	mv64x60_bridge_pbase;
 static phys_addr_t 	mv64x60_bridge_pbase;
-static void 		*mv64x60_bridge_vbase;
+static void 		__iomem *mv64x60_bridge_vbase;
 static u32		mv64x60_bridge_type = MV64x60_TYPE_INVALID;
 static u32		mv64x60_bridge_type = MV64x60_TYPE_INVALID;
 static u32		mv64x60_bridge_rev;
 static u32		mv64x60_bridge_rev;
 #if defined(CONFIG_SYSFS) && !defined(CONFIG_GT64260)
 #if defined(CONFIG_SYSFS) && !defined(CONFIG_GT64260)
@@ -938,7 +938,7 @@ mv64x60_setup_for_chip(struct mv64x60_handle *bh)
  *
  *
  * Return the virtual address of the bridge's registers.
  * Return the virtual address of the bridge's registers.
  */
  */
-void *
+void __iomem *
 mv64x60_get_bridge_vbase(void)
 mv64x60_get_bridge_vbase(void)
 {
 {
 	return mv64x60_bridge_vbase;
 	return mv64x60_bridge_vbase;

+ 0 - 1
arch/ppc/syslib/open_pic.c

@@ -13,7 +13,6 @@
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/init.h>
-#include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <linux/sysdev.h>
 #include <linux/sysdev.h>
 #include <linux/errno.h>
 #include <linux/errno.h>

+ 0 - 1
arch/ppc/syslib/open_pic2.c

@@ -17,7 +17,6 @@
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
 #include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/init.h>
-#include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <linux/sysdev.h>
 #include <linux/sysdev.h>
 #include <linux/errno.h>
 #include <linux/errno.h>

+ 0 - 1
arch/ppc/syslib/ppc4xx_setup.c

@@ -18,7 +18,6 @@
 #include <linux/smp.h>
 #include <linux/smp.h>
 #include <linux/threads.h>
 #include <linux/threads.h>
 #include <linux/spinlock.h>
 #include <linux/spinlock.h>
-#include <linux/irq.h>
 #include <linux/reboot.h>
 #include <linux/reboot.h>
 #include <linux/param.h>
 #include <linux/param.h>
 #include <linux/string.h>
 #include <linux/string.h>

部分文件因文件數量過多而無法顯示