浏览代码

Merge tag 'asoc-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Updates for 3.6

A bigger set of updates than I'm entirely comfortable with - things
backed up a bit due to travel.  As ever the majority of these are small,
focused updates for specific drivers though there are a couple of core
changes.  There's been good exposure in -next.

The AT91 patch fixes a build break.
Takashi Iwai 13 年之前
父节点
当前提交
5d037f9064
共有 100 个文件被更改,包括 304 次插入1033 次删除
  1. 2 2
      Documentation/DocBook/filesystems.tmpl
  2. 0 2
      Documentation/filesystems/Locking
  3. 2 3
      Documentation/filesystems/porting
  4. 0 4
      Documentation/filesystems/vfs.txt
  5. 6 6
      Documentation/laptops/laptop-mode.txt
  6. 7 7
      Documentation/security/Yama.txt
  7. 7 7
      Documentation/sysctl/vm.txt
  8. 26 21
      MAINTAINERS
  9. 1 1
      Makefile
  10. 26 26
      arch/arm/boot/dts/imx23.dtsi
  11. 1 1
      arch/arm/boot/dts/imx27-3ds.dts
  12. 6 0
      arch/arm/boot/dts/imx27.dtsi
  13. 37 37
      arch/arm/boot/dts/imx28.dtsi
  14. 1 1
      arch/arm/boot/dts/imx51-babbage.dts
  15. 4 0
      arch/arm/boot/dts/imx51.dtsi
  16. 21 1
      arch/arm/boot/dts/imx53-ard.dts
  17. 7 0
      arch/arm/boot/dts/imx53.dtsi
  18. 1 0
      arch/arm/boot/dts/imx6q-sabrelite.dts
  19. 7 0
      arch/arm/boot/dts/imx6q.dtsi
  20. 1 0
      arch/arm/configs/imx_v6_v7_defconfig
  21. 0 1
      arch/arm/configs/mxs_defconfig
  22. 1 1
      arch/arm/configs/tct_hammer_defconfig
  23. 0 39
      arch/arm/mach-davinci/board-neuros-osd2.c
  24. 1 1
      arch/arm/mach-exynos/pm_domains.c
  25. 5 3
      arch/arm/mach-imx/clk-imx27.c
  26. 1 1
      arch/arm/mach-imx/clk-imx31.c
  27. 1 0
      arch/arm/mach-imx/clk-imx51-imx53.c
  28. 1 0
      arch/arm/mach-integrator/core.c
  29. 1 1
      arch/arm/mach-integrator/integrator_ap.c
  30. 2 2
      arch/arm/mach-kirkwood/Makefile.boot
  31. 0 6
      arch/arm/mach-mxs/Kconfig
  32. 1 2
      arch/arm/mach-mxs/Makefile
  33. 1 1
      arch/arm/mach-pxa/raumfeld.c
  34. 2 2
      arch/arm/mach-s3c24xx/Kconfig
  35. 1 0
      arch/arm/mach-sa1100/leds-hackkit.c
  36. 17 15
      arch/arm/mach-tegra/board-harmony-power.c
  37. 6 6
      arch/arm/mm/dma-mapping.c
  38. 2 1
      arch/arm/plat-samsung/Kconfig
  39. 0 1
      arch/blackfin/kernel/setup.c
  40. 3 2
      arch/ia64/kernel/acpi.c
  41. 0 12
      arch/m68k/Kconfig
  42. 14 0
      arch/m68k/Kconfig.cpu
  43. 8 8
      arch/m68k/apollo/config.c
  44. 25 0
      arch/m68k/include/asm/Kbuild
  45. 0 152
      arch/m68k/include/asm/MC68332.h
  46. 0 248
      arch/m68k/include/asm/apollodma.h
  47. 1 1
      arch/m68k/include/asm/apollohw.h
  48. 0 1
      arch/m68k/include/asm/bitsperlong.h
  49. 0 6
      arch/m68k/include/asm/cputime.h
  50. 1 1
      arch/m68k/include/asm/delay.h
  51. 0 7
      arch/m68k/include/asm/device.h
  52. 0 6
      arch/m68k/include/asm/emergency-restart.h
  53. 0 6
      arch/m68k/include/asm/errno.h
  54. 0 6
      arch/m68k/include/asm/futex.h
  55. 0 1
      arch/m68k/include/asm/ioctl.h
  56. 0 1
      arch/m68k/include/asm/ipcbuf.h
  57. 0 1
      arch/m68k/include/asm/irq_regs.h
  58. 0 1
      arch/m68k/include/asm/kdebug.h
  59. 0 6
      arch/m68k/include/asm/kmap_types.h
  60. 0 1
      arch/m68k/include/asm/kvm_para.h
  61. 0 6
      arch/m68k/include/asm/local.h
  62. 0 1
      arch/m68k/include/asm/local64.h
  63. 0 23
      arch/m68k/include/asm/mac_mouse.h
  64. 0 77
      arch/m68k/include/asm/mcfmbus.h
  65. 0 1
      arch/m68k/include/asm/mman.h
  66. 0 9
      arch/m68k/include/asm/mutex.h
  67. 0 6
      arch/m68k/include/asm/percpu.h
  68. 0 6
      arch/m68k/include/asm/resource.h
  69. 0 45
      arch/m68k/include/asm/sbus.h
  70. 0 6
      arch/m68k/include/asm/scatterlist.h
  71. 0 8
      arch/m68k/include/asm/sections.h
  72. 0 31
      arch/m68k/include/asm/shm.h
  73. 0 6
      arch/m68k/include/asm/siginfo.h
  74. 0 6
      arch/m68k/include/asm/statfs.h
  75. 0 6
      arch/m68k/include/asm/topology.h
  76. 0 22
      arch/m68k/include/asm/types.h
  77. 2 2
      arch/m68k/include/asm/unaligned.h
  78. 0 1
      arch/m68k/include/asm/xor.h
  79. 4 7
      arch/m68k/kernel/setup_no.c
  80. 6 2
      arch/m68k/kernel/sys_m68k.c
  81. 0 2
      arch/m68k/kernel/vmlinux-nommu.lds
  82. 0 2
      arch/m68k/kernel/vmlinux-std.lds
  83. 0 2
      arch/m68k/kernel/vmlinux-sun3.lds
  84. 1 1
      arch/m68k/lib/muldi3.c
  85. 1 1
      arch/m68k/mm/init_mm.c
  86. 1 1
      arch/m68k/mm/init_no.c
  87. 4 4
      arch/m68k/platform/68328/head-de2.S
  88. 5 5
      arch/m68k/platform/68328/head-pilot.S
  89. 2 2
      arch/m68k/platform/68328/head-ram.S
  90. 3 3
      arch/m68k/platform/68328/head-rom.S
  91. 3 3
      arch/m68k/platform/68360/head-ram.S
  92. 4 4
      arch/m68k/platform/68360/head-rom.S
  93. 5 5
      arch/m68k/platform/coldfire/head.S
  94. 2 46
      arch/m68k/sun3/prom/init.c
  95. 0 4
      arch/microblaze/include/asm/sections.h
  96. 0 3
      arch/microblaze/kernel/microblaze_ksyms.c
  97. 2 2
      arch/microblaze/kernel/setup.c
  98. 0 1
      arch/microblaze/kernel/vmlinux.lds.S
  99. 1 0
      arch/s390/Kconfig
  100. 0 2
      arch/s390/include/asm/sparsemem.h

+ 2 - 2
Documentation/DocBook/filesystems.tmpl

@@ -224,8 +224,8 @@ all your transactions.
 </para>
 </para>
 
 
 <para>
 <para>
-Then at umount time , in your put_super() (2.4) or write_super() (2.5)
-you can then call journal_destroy() to clean up your in-core journal object.
+Then at umount time , in your put_super() you can then call journal_destroy()
+to clean up your in-core journal object.
 </para>
 </para>
 
 
 <para>
 <para>

+ 0 - 2
Documentation/filesystems/Locking

@@ -114,7 +114,6 @@ prototypes:
 	int (*drop_inode) (struct inode *);
 	int (*drop_inode) (struct inode *);
 	void (*evict_inode) (struct inode *);
 	void (*evict_inode) (struct inode *);
 	void (*put_super) (struct super_block *);
 	void (*put_super) (struct super_block *);
-	void (*write_super) (struct super_block *);
 	int (*sync_fs)(struct super_block *sb, int wait);
 	int (*sync_fs)(struct super_block *sb, int wait);
 	int (*freeze_fs) (struct super_block *);
 	int (*freeze_fs) (struct super_block *);
 	int (*unfreeze_fs) (struct super_block *);
 	int (*unfreeze_fs) (struct super_block *);
@@ -136,7 +135,6 @@ write_inode:
 drop_inode:				!!!inode->i_lock!!!
 drop_inode:				!!!inode->i_lock!!!
 evict_inode:
 evict_inode:
 put_super:		write
 put_super:		write
-write_super:		read
 sync_fs:		read
 sync_fs:		read
 freeze_fs:		write
 freeze_fs:		write
 unfreeze_fs:		write
 unfreeze_fs:		write

+ 2 - 3
Documentation/filesystems/porting

@@ -94,9 +94,8 @@ protected.
 ---
 ---
 [mandatory]
 [mandatory]
 
 
-BKL is also moved from around sb operations.  ->write_super() Is now called 
-without BKL held.  BKL should have been shifted into individual fs sb_op
-functions.  If you don't need it, remove it.  
+BKL is also moved from around sb operations. BKL should have been shifted into
+individual fs sb_op functions.  If you don't need it, remove it.
 
 
 ---
 ---
 [informational]
 [informational]

+ 0 - 4
Documentation/filesystems/vfs.txt

@@ -216,7 +216,6 @@ struct super_operations {
         void (*drop_inode) (struct inode *);
         void (*drop_inode) (struct inode *);
         void (*delete_inode) (struct inode *);
         void (*delete_inode) (struct inode *);
         void (*put_super) (struct super_block *);
         void (*put_super) (struct super_block *);
-        void (*write_super) (struct super_block *);
         int (*sync_fs)(struct super_block *sb, int wait);
         int (*sync_fs)(struct super_block *sb, int wait);
         int (*freeze_fs) (struct super_block *);
         int (*freeze_fs) (struct super_block *);
         int (*unfreeze_fs) (struct super_block *);
         int (*unfreeze_fs) (struct super_block *);
@@ -273,9 +272,6 @@ or bottom half).
   put_super: called when the VFS wishes to free the superblock
   put_super: called when the VFS wishes to free the superblock
 	(i.e. unmount). This is called with the superblock lock held
 	(i.e. unmount). This is called with the superblock lock held
 
 
-  write_super: called when the VFS superblock needs to be written to
-	disc. This method is optional
-
   sync_fs: called when VFS is writing out all dirty data associated with
   sync_fs: called when VFS is writing out all dirty data associated with
   	a superblock. The second parameter indicates whether the method
   	a superblock. The second parameter indicates whether the method
 	should wait until the write out has been completed. Optional.
 	should wait until the write out has been completed. Optional.

+ 6 - 6
Documentation/laptops/laptop-mode.txt

@@ -262,9 +262,9 @@ MINIMUM_BATTERY_MINUTES=10
 
 
 #
 #
 # Allowed dirty background ratio, in percent.  Once DIRTY_RATIO has been
 # Allowed dirty background ratio, in percent.  Once DIRTY_RATIO has been
-# exceeded, the kernel will wake pdflush which will then reduce the amount
-# of dirty memory to dirty_background_ratio.  Set this nice and low, so once
-# some writeout has commenced, we do a lot of it.
+# exceeded, the kernel will wake flusher threads which will then reduce the
+# amount of dirty memory to dirty_background_ratio.  Set this nice and low,
+# so once some writeout has commenced, we do a lot of it.
 #
 #
 #DIRTY_BACKGROUND_RATIO=5
 #DIRTY_BACKGROUND_RATIO=5
 
 
@@ -384,9 +384,9 @@ CPU_MAXFREQ=${CPU_MAXFREQ:-'slowest'}
 
 
 #
 #
 # Allowed dirty background ratio, in percent.  Once DIRTY_RATIO has been
 # Allowed dirty background ratio, in percent.  Once DIRTY_RATIO has been
-# exceeded, the kernel will wake pdflush which will then reduce the amount
-# of dirty memory to dirty_background_ratio.  Set this nice and low, so once
-# some writeout has commenced, we do a lot of it.
+# exceeded, the kernel will wake flusher threads which will then reduce the
+# amount of dirty memory to dirty_background_ratio.  Set this nice and low,
+# so once some writeout has commenced, we do a lot of it.
 #
 #
 DIRTY_BACKGROUND_RATIO=${DIRTY_BACKGROUND_RATIO:-'5'}
 DIRTY_BACKGROUND_RATIO=${DIRTY_BACKGROUND_RATIO:-'5'}
 
 

+ 7 - 7
Documentation/security/Yama.txt

@@ -46,14 +46,13 @@ restrictions, it can call prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY, ...)
 so that any otherwise allowed process (even those in external pid namespaces)
 so that any otherwise allowed process (even those in external pid namespaces)
 may attach.
 may attach.
 
 
-These restrictions do not change how ptrace via PTRACE_TRACEME operates.
-
-The sysctl settings are:
+The sysctl settings (writable only with CAP_SYS_PTRACE) are:
 
 
 0 - classic ptrace permissions: a process can PTRACE_ATTACH to any other
 0 - classic ptrace permissions: a process can PTRACE_ATTACH to any other
     process running under the same uid, as long as it is dumpable (i.e.
     process running under the same uid, as long as it is dumpable (i.e.
     did not transition uids, start privileged, or have called
     did not transition uids, start privileged, or have called
-    prctl(PR_SET_DUMPABLE...) already).
+    prctl(PR_SET_DUMPABLE...) already). Similarly, PTRACE_TRACEME is
+    unchanged.
 
 
 1 - restricted ptrace: a process must have a predefined relationship
 1 - restricted ptrace: a process must have a predefined relationship
     with the inferior it wants to call PTRACE_ATTACH on. By default,
     with the inferior it wants to call PTRACE_ATTACH on. By default,
@@ -61,12 +60,13 @@ The sysctl settings are:
     classic criteria is also met. To change the relationship, an
     classic criteria is also met. To change the relationship, an
     inferior can call prctl(PR_SET_PTRACER, debugger, ...) to declare
     inferior can call prctl(PR_SET_PTRACER, debugger, ...) to declare
     an allowed debugger PID to call PTRACE_ATTACH on the inferior.
     an allowed debugger PID to call PTRACE_ATTACH on the inferior.
+    Using PTRACE_TRACEME is unchanged.
 
 
 2 - admin-only attach: only processes with CAP_SYS_PTRACE may use ptrace
 2 - admin-only attach: only processes with CAP_SYS_PTRACE may use ptrace
-    with PTRACE_ATTACH.
+    with PTRACE_ATTACH, or through children calling PTRACE_TRACEME.
 
 
-3 - no attach: no processes may use ptrace with PTRACE_ATTACH. Once set,
-    this sysctl cannot be changed to a lower value.
+3 - no attach: no processes may use ptrace with PTRACE_ATTACH nor via
+    PTRACE_TRACEME. Once set, this sysctl value cannot be changed.
 
 
 The original children-only logic was based on the restrictions in grsecurity.
 The original children-only logic was based on the restrictions in grsecurity.
 
 

+ 7 - 7
Documentation/sysctl/vm.txt

@@ -76,8 +76,8 @@ huge pages although processes will also directly compact memory as required.
 
 
 dirty_background_bytes
 dirty_background_bytes
 
 
-Contains the amount of dirty memory at which the pdflush background writeback
-daemon will start writeback.
+Contains the amount of dirty memory at which the background kernel
+flusher threads will start writeback.
 
 
 Note: dirty_background_bytes is the counterpart of dirty_background_ratio. Only
 Note: dirty_background_bytes is the counterpart of dirty_background_ratio. Only
 one of them may be specified at a time. When one sysctl is written it is
 one of them may be specified at a time. When one sysctl is written it is
@@ -89,7 +89,7 @@ other appears as 0 when read.
 dirty_background_ratio
 dirty_background_ratio
 
 
 Contains, as a percentage of total system memory, the number of pages at which
 Contains, as a percentage of total system memory, the number of pages at which
-the pdflush background writeback daemon will start writing out dirty data.
+the background kernel flusher threads will start writing out dirty data.
 
 
 ==============================================================
 ==============================================================
 
 
@@ -112,9 +112,9 @@ retained.
 dirty_expire_centisecs
 dirty_expire_centisecs
 
 
 This tunable is used to define when dirty data is old enough to be eligible
 This tunable is used to define when dirty data is old enough to be eligible
-for writeout by the pdflush daemons.  It is expressed in 100'ths of a second.
-Data which has been dirty in-memory for longer than this interval will be
-written out next time a pdflush daemon wakes up.
+for writeout by the kernel flusher threads.  It is expressed in 100'ths
+of a second.  Data which has been dirty in-memory for longer than this
+interval will be written out next time a flusher thread wakes up.
 
 
 ==============================================================
 ==============================================================
 
 
@@ -128,7 +128,7 @@ data.
 
 
 dirty_writeback_centisecs
 dirty_writeback_centisecs
 
 
-The pdflush writeback daemons will periodically wake up and write `old' data
+The kernel flusher threads will periodically wake up and write `old' data
 out to disk.  This tunable expresses the interval between those wakeups, in
 out to disk.  This tunable expresses the interval between those wakeups, in
 100'ths of a second.
 100'ths of a second.
 
 

+ 26 - 21
MAINTAINERS

@@ -827,24 +827,24 @@ F:	arch/arm/mach-pxa/colibri-pxa270-income.c
 
 
 ARM/INTEL IOP32X ARM ARCHITECTURE
 ARM/INTEL IOP32X ARM ARCHITECTURE
 M:	Lennert Buytenhek <kernel@wantstofly.org>
 M:	Lennert Buytenhek <kernel@wantstofly.org>
-M:	Dan Williams <dan.j.williams@intel.com>
+M:	Dan Williams <djbw@fb.com>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
 
 
 ARM/INTEL IOP33X ARM ARCHITECTURE
 ARM/INTEL IOP33X ARM ARCHITECTURE
-M:	Dan Williams <dan.j.williams@intel.com>
+M:	Dan Williams <djbw@fb.com>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
 
 
 ARM/INTEL IOP13XX ARM ARCHITECTURE
 ARM/INTEL IOP13XX ARM ARCHITECTURE
 M:	Lennert Buytenhek <kernel@wantstofly.org>
 M:	Lennert Buytenhek <kernel@wantstofly.org>
-M:	Dan Williams <dan.j.williams@intel.com>
+M:	Dan Williams <djbw@fb.com>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
 
 
 ARM/INTEL IQ81342EX MACHINE SUPPORT
 ARM/INTEL IQ81342EX MACHINE SUPPORT
 M:	Lennert Buytenhek <kernel@wantstofly.org>
 M:	Lennert Buytenhek <kernel@wantstofly.org>
-M:	Dan Williams <dan.j.williams@intel.com>
+M:	Dan Williams <djbw@fb.com>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
 
 
@@ -869,7 +869,7 @@ F:	drivers/pcmcia/pxa2xx_stargate2.c
 
 
 ARM/INTEL XSC3 (MANZANO) ARM CORE
 ARM/INTEL XSC3 (MANZANO) ARM CORE
 M:	Lennert Buytenhek <kernel@wantstofly.org>
 M:	Lennert Buytenhek <kernel@wantstofly.org>
-M:	Dan Williams <dan.j.williams@intel.com>
+M:	Dan Williams <djbw@fb.com>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
 
 
@@ -925,14 +925,14 @@ S:	Maintained
 
 
 ARM/NOMADIK ARCHITECTURE
 ARM/NOMADIK ARCHITECTURE
 M:	Alessandro Rubini <rubini@unipv.it>
 M:	Alessandro Rubini <rubini@unipv.it>
-M:	Linus Walleij <linus.walleij@stericsson.com>
+M:	Linus Walleij <linus.walleij@linaro.org>
 M:	STEricsson <STEricsson_nomadik_linux@list.st.com>
 M:	STEricsson <STEricsson_nomadik_linux@list.st.com>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
 F:	arch/arm/mach-nomadik/
 F:	arch/arm/mach-nomadik/
 F:	arch/arm/plat-nomadik/
 F:	arch/arm/plat-nomadik/
 F:	drivers/i2c/busses/i2c-nomadik.c
 F:	drivers/i2c/busses/i2c-nomadik.c
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
+T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
 
 
 ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT
 ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT
 M:	Nelson Castillo <arhuaco@freaks-unidos.net>
 M:	Nelson Castillo <arhuaco@freaks-unidos.net>
@@ -1146,7 +1146,7 @@ F:	drivers/usb/host/ehci-w90x900.c
 F:	drivers/video/nuc900fb.c
 F:	drivers/video/nuc900fb.c
 
 
 ARM/U300 MACHINE SUPPORT
 ARM/U300 MACHINE SUPPORT
-M:	Linus Walleij <linus.walleij@stericsson.com>
+M:	Linus Walleij <linus.walleij@linaro.org>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Supported
 S:	Supported
 F:	arch/arm/mach-u300/
 F:	arch/arm/mach-u300/
@@ -1161,15 +1161,20 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
 
 
 ARM/Ux500 ARM ARCHITECTURE
 ARM/Ux500 ARM ARCHITECTURE
 M:	Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
 M:	Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
-M:	Linus Walleij <linus.walleij@stericsson.com>
+M:	Linus Walleij <linus.walleij@linaro.org>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
 F:	arch/arm/mach-ux500/
 F:	arch/arm/mach-ux500/
+F:	drivers/clocksource/clksrc-dbx500-prcmu.c
 F:	drivers/dma/ste_dma40*
 F:	drivers/dma/ste_dma40*
+F:	drivers/hwspinlock/u8500_hsem.c
 F:	drivers/mfd/abx500*
 F:	drivers/mfd/abx500*
 F:	drivers/mfd/ab8500*
 F:	drivers/mfd/ab8500*
-F:	drivers/mfd/stmpe*
+F:	drivers/mfd/dbx500*
+F:	drivers/mfd/db8500*
+F:	drivers/pinctrl/pinctrl-nomadik*
 F:	drivers/rtc/rtc-ab8500.c
 F:	drivers/rtc/rtc-ab8500.c
+F:	drivers/rtc/rtc-pl031.c
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
 
 
 ARM/VFP SUPPORT
 ARM/VFP SUPPORT
@@ -1227,9 +1232,9 @@ S:	Maintained
 F:	drivers/hwmon/asb100.c
 F:	drivers/hwmon/asb100.c
 
 
 ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
 ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
-M:	Dan Williams <dan.j.williams@intel.com>
+M:	Dan Williams <djbw@fb.com>
 W:	http://sourceforge.net/projects/xscaleiop
 W:	http://sourceforge.net/projects/xscaleiop
-S:	Supported
+S:	Maintained
 F:	Documentation/crypto/async-tx-api.txt
 F:	Documentation/crypto/async-tx-api.txt
 F:	crypto/async_tx/
 F:	crypto/async_tx/
 F:	drivers/dma/
 F:	drivers/dma/
@@ -2359,7 +2364,7 @@ T:	git git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git
 
 
 DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
 DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
 M:	Vinod Koul <vinod.koul@intel.com>
 M:	Vinod Koul <vinod.koul@intel.com>
-M:	Dan Williams <dan.j.williams@intel.com>
+M:	Dan Williams <djbw@fb.com>
 S:	Supported
 S:	Supported
 F:	drivers/dma/
 F:	drivers/dma/
 F:	include/linux/dma*
 F:	include/linux/dma*
@@ -3094,7 +3099,7 @@ F:	include/linux/gigaset_dev.h
 
 
 GPIO SUBSYSTEM
 GPIO SUBSYSTEM
 M:	Grant Likely <grant.likely@secretlab.ca>
 M:	Grant Likely <grant.likely@secretlab.ca>
-M:	Linus Walleij <linus.walleij@stericsson.com>
+M:	Linus Walleij <linus.walleij@linaro.org>
 S:	Maintained
 S:	Maintained
 T:	git git://git.secretlab.ca/git/linux-2.6.git
 T:	git git://git.secretlab.ca/git/linux-2.6.git
 F:	Documentation/gpio.txt
 F:	Documentation/gpio.txt
@@ -3547,7 +3552,6 @@ K:	\b(ABS|SYN)_MT_
 
 
 INTEL C600 SERIES SAS CONTROLLER DRIVER
 INTEL C600 SERIES SAS CONTROLLER DRIVER
 M:	Intel SCU Linux support <intel-linux-scu@intel.com>
 M:	Intel SCU Linux support <intel-linux-scu@intel.com>
-M:	Dan Williams <dan.j.williams@intel.com>
 M:	Dave Jiang <dave.jiang@intel.com>
 M:	Dave Jiang <dave.jiang@intel.com>
 M:	Ed Nadolski <edmund.nadolski@intel.com>
 M:	Ed Nadolski <edmund.nadolski@intel.com>
 L:	linux-scsi@vger.kernel.org
 L:	linux-scsi@vger.kernel.org
@@ -3590,8 +3594,8 @@ F:	arch/x86/kernel/microcode_core.c
 F:	arch/x86/kernel/microcode_intel.c
 F:	arch/x86/kernel/microcode_intel.c
 
 
 INTEL I/OAT DMA DRIVER
 INTEL I/OAT DMA DRIVER
-M:	Dan Williams <dan.j.williams@intel.com>
-S:	Supported
+M:	Dan Williams <djbw@fb.com>
+S:	Maintained
 F:	drivers/dma/ioat*
 F:	drivers/dma/ioat*
 
 
 INTEL IOMMU (VT-d)
 INTEL IOMMU (VT-d)
@@ -3603,8 +3607,8 @@ F:	drivers/iommu/intel-iommu.c
 F:	include/linux/intel-iommu.h
 F:	include/linux/intel-iommu.h
 
 
 INTEL IOP-ADMA DMA DRIVER
 INTEL IOP-ADMA DMA DRIVER
-M:	Dan Williams <dan.j.williams@intel.com>
-S:	Maintained
+M:	Dan Williams <djbw@fb.com>
+S:	Odd fixes
 F:	drivers/dma/iop-adma.c
 F:	drivers/dma/iop-adma.c
 
 
 INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
 INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
@@ -5329,14 +5333,15 @@ PIN CONTROL SUBSYSTEM
 M:	Linus Walleij <linus.walleij@linaro.org>
 M:	Linus Walleij <linus.walleij@linaro.org>
 S:	Maintained
 S:	Maintained
 F:	drivers/pinctrl/
 F:	drivers/pinctrl/
+F:	include/linux/pinctrl/
 
 
 PIN CONTROLLER - ST SPEAR
 PIN CONTROLLER - ST SPEAR
-M:     Viresh Kumar <viresh.linux@gmail.com>
+M:	Viresh Kumar <viresh.linux@gmail.com>
 L:	spear-devel@list.st.com
 L:	spear-devel@list.st.com
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 W:	http://www.st.com/spear
 W:	http://www.st.com/spear
 S:	Maintained
 S:	Maintained
-F:	driver/pinctrl/spear/
+F:	drivers/pinctrl/spear/
 
 
 PKTCDVD DRIVER
 PKTCDVD DRIVER
 M:	Peter Osterlund <petero2@telia.com>
 M:	Peter Osterlund <petero2@telia.com>

+ 1 - 1
Makefile

@@ -1,7 +1,7 @@
 VERSION = 3
 VERSION = 3
 PATCHLEVEL = 6
 PATCHLEVEL = 6
 SUBLEVEL = 0
 SUBLEVEL = 0
-EXTRAVERSION = -rc1
+EXTRAVERSION = -rc2
 NAME = Saber-toothed Squirrel
 NAME = Saber-toothed Squirrel
 
 
 # *DOCUMENTATION*
 # *DOCUMENTATION*

+ 26 - 26
arch/arm/boot/dts/imx23.dtsi

@@ -51,11 +51,11 @@
 
 
 			dma-apbh@80004000 {
 			dma-apbh@80004000 {
 				compatible = "fsl,imx23-dma-apbh";
 				compatible = "fsl,imx23-dma-apbh";
-				reg = <0x80004000 2000>;
+				reg = <0x80004000 0x2000>;
 			};
 			};
 
 
 			ecc@80008000 {
 			ecc@80008000 {
-				reg = <0x80008000 2000>;
+				reg = <0x80008000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
@@ -63,7 +63,7 @@
 				compatible = "fsl,imx23-gpmi-nand";
 				compatible = "fsl,imx23-gpmi-nand";
 				#address-cells = <1>;
 				#address-cells = <1>;
 				#size-cells = <1>;
 				#size-cells = <1>;
-				reg = <0x8000c000 2000>, <0x8000a000 2000>;
+				reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
 				reg-names = "gpmi-nand", "bch";
 				reg-names = "gpmi-nand", "bch";
 				interrupts = <13>, <56>;
 				interrupts = <13>, <56>;
 				interrupt-names = "gpmi-dma", "bch";
 				interrupt-names = "gpmi-dma", "bch";
@@ -72,14 +72,14 @@
 			};
 			};
 
 
 			ssp0: ssp@80010000 {
 			ssp0: ssp@80010000 {
-				reg = <0x80010000 2000>;
+				reg = <0x80010000 0x2000>;
 				interrupts = <15 14>;
 				interrupts = <15 14>;
 				fsl,ssp-dma-channel = <1>;
 				fsl,ssp-dma-channel = <1>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			etm@80014000 {
 			etm@80014000 {
-				reg = <0x80014000 2000>;
+				reg = <0x80014000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
@@ -87,7 +87,7 @@
 				#address-cells = <1>;
 				#address-cells = <1>;
 				#size-cells = <0>;
 				#size-cells = <0>;
 				compatible = "fsl,imx23-pinctrl", "simple-bus";
 				compatible = "fsl,imx23-pinctrl", "simple-bus";
-				reg = <0x80018000 2000>;
+				reg = <0x80018000 0x2000>;
 
 
 				gpio0: gpio@0 {
 				gpio0: gpio@0 {
 					compatible = "fsl,imx23-gpio", "fsl,mxs-gpio";
 					compatible = "fsl,imx23-gpio", "fsl,mxs-gpio";
@@ -273,32 +273,32 @@
 			};
 			};
 
 
 			emi@80020000 {
 			emi@80020000 {
-				reg = <0x80020000 2000>;
+				reg = <0x80020000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			dma-apbx@80024000 {
 			dma-apbx@80024000 {
 				compatible = "fsl,imx23-dma-apbx";
 				compatible = "fsl,imx23-dma-apbx";
-				reg = <0x80024000 2000>;
+				reg = <0x80024000 0x2000>;
 			};
 			};
 
 
 			dcp@80028000 {
 			dcp@80028000 {
-				reg = <0x80028000 2000>;
+				reg = <0x80028000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			pxp@8002a000 {
 			pxp@8002a000 {
-				reg = <0x8002a000 2000>;
+				reg = <0x8002a000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			ocotp@8002c000 {
 			ocotp@8002c000 {
-				reg = <0x8002c000 2000>;
+				reg = <0x8002c000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			axi-ahb@8002e000 {
 			axi-ahb@8002e000 {
-				reg = <0x8002e000 2000>;
+				reg = <0x8002e000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
@@ -310,14 +310,14 @@
 			};
 			};
 
 
 			ssp1: ssp@80034000 {
 			ssp1: ssp@80034000 {
-				reg = <0x80034000 2000>;
+				reg = <0x80034000 0x2000>;
 				interrupts = <2 20>;
 				interrupts = <2 20>;
 				fsl,ssp-dma-channel = <2>;
 				fsl,ssp-dma-channel = <2>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			tvenc@80038000 {
 			tvenc@80038000 {
-				reg = <0x80038000 2000>;
+				reg = <0x80038000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
                 };
                 };
@@ -330,37 +330,37 @@
 			ranges;
 			ranges;
 
 
 			clkctl@80040000 {
 			clkctl@80040000 {
-				reg = <0x80040000 2000>;
+				reg = <0x80040000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			saif0: saif@80042000 {
 			saif0: saif@80042000 {
-				reg = <0x80042000 2000>;
+				reg = <0x80042000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			power@80044000 {
 			power@80044000 {
-				reg = <0x80044000 2000>;
+				reg = <0x80044000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			saif1: saif@80046000 {
 			saif1: saif@80046000 {
-				reg = <0x80046000 2000>;
+				reg = <0x80046000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			audio-out@80048000 {
 			audio-out@80048000 {
-				reg = <0x80048000 2000>;
+				reg = <0x80048000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			audio-in@8004c000 {
 			audio-in@8004c000 {
-				reg = <0x8004c000 2000>;
+				reg = <0x8004c000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			lradc@80050000 {
 			lradc@80050000 {
-				reg = <0x80050000 2000>;
+				reg = <0x80050000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
@@ -370,26 +370,26 @@
 			};
 			};
 
 
 			i2c@80058000 {
 			i2c@80058000 {
-				reg = <0x80058000 2000>;
+				reg = <0x80058000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			rtc@8005c000 {
 			rtc@8005c000 {
 				compatible = "fsl,imx23-rtc", "fsl,stmp3xxx-rtc";
 				compatible = "fsl,imx23-rtc", "fsl,stmp3xxx-rtc";
-				reg = <0x8005c000 2000>;
+				reg = <0x8005c000 0x2000>;
 				interrupts = <22>;
 				interrupts = <22>;
 			};
 			};
 
 
 			pwm: pwm@80064000 {
 			pwm: pwm@80064000 {
 				compatible = "fsl,imx23-pwm";
 				compatible = "fsl,imx23-pwm";
-				reg = <0x80064000 2000>;
+				reg = <0x80064000 0x2000>;
 				#pwm-cells = <2>;
 				#pwm-cells = <2>;
 				fsl,pwm-number = <5>;
 				fsl,pwm-number = <5>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			timrot@80068000 {
 			timrot@80068000 {
-				reg = <0x80068000 2000>;
+				reg = <0x80068000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
@@ -429,7 +429,7 @@
 		ranges;
 		ranges;
 
 
 		usbctrl@80080000 {
 		usbctrl@80080000 {
-			reg = <0x80080000 0x10000>;
+			reg = <0x80080000 0x40000>;
 			status = "disabled";
 			status = "disabled";
 		};
 		};
 	};
 	};

+ 1 - 1
arch/arm/boot/dts/imx27-3ds.dts

@@ -27,7 +27,7 @@
 				status = "okay";
 				status = "okay";
 			};
 			};
 
 
-			uart@1000a000 {
+			uart1: serial@1000a000 {
 				fsl,uart-has-rtscts;
 				fsl,uart-has-rtscts;
 				status = "okay";
 				status = "okay";
 			};
 			};

+ 6 - 0
arch/arm/boot/dts/imx27.dtsi

@@ -19,6 +19,12 @@
 		serial3 = &uart4;
 		serial3 = &uart4;
 		serial4 = &uart5;
 		serial4 = &uart5;
 		serial5 = &uart6;
 		serial5 = &uart6;
+		gpio0 = &gpio1;
+		gpio1 = &gpio2;
+		gpio2 = &gpio3;
+		gpio3 = &gpio4;
+		gpio4 = &gpio5;
+		gpio5 = &gpio6;
 	};
 	};
 
 
 	avic: avic-interrupt-controller@e0000000 {
 	avic: avic-interrupt-controller@e0000000 {

+ 37 - 37
arch/arm/boot/dts/imx28.dtsi

@@ -57,18 +57,18 @@
 			};
 			};
 
 
 			hsadc@80002000 {
 			hsadc@80002000 {
-				reg = <0x80002000 2000>;
+				reg = <0x80002000 0x2000>;
 				interrupts = <13 87>;
 				interrupts = <13 87>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			dma-apbh@80004000 {
 			dma-apbh@80004000 {
 				compatible = "fsl,imx28-dma-apbh";
 				compatible = "fsl,imx28-dma-apbh";
-				reg = <0x80004000 2000>;
+				reg = <0x80004000 0x2000>;
 			};
 			};
 
 
 			perfmon@80006000 {
 			perfmon@80006000 {
-				reg = <0x80006000 800>;
+				reg = <0x80006000 0x800>;
 				interrupts = <27>;
 				interrupts = <27>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
@@ -77,7 +77,7 @@
 				compatible = "fsl,imx28-gpmi-nand";
 				compatible = "fsl,imx28-gpmi-nand";
 				#address-cells = <1>;
 				#address-cells = <1>;
 				#size-cells = <1>;
 				#size-cells = <1>;
-				reg = <0x8000c000 2000>, <0x8000a000 2000>;
+				reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
 				reg-names = "gpmi-nand", "bch";
 				reg-names = "gpmi-nand", "bch";
 				interrupts = <88>, <41>;
 				interrupts = <88>, <41>;
 				interrupt-names = "gpmi-dma", "bch";
 				interrupt-names = "gpmi-dma", "bch";
@@ -86,28 +86,28 @@
 			};
 			};
 
 
 			ssp0: ssp@80010000 {
 			ssp0: ssp@80010000 {
-				reg = <0x80010000 2000>;
+				reg = <0x80010000 0x2000>;
 				interrupts = <96 82>;
 				interrupts = <96 82>;
 				fsl,ssp-dma-channel = <0>;
 				fsl,ssp-dma-channel = <0>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			ssp1: ssp@80012000 {
 			ssp1: ssp@80012000 {
-				reg = <0x80012000 2000>;
+				reg = <0x80012000 0x2000>;
 				interrupts = <97 83>;
 				interrupts = <97 83>;
 				fsl,ssp-dma-channel = <1>;
 				fsl,ssp-dma-channel = <1>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			ssp2: ssp@80014000 {
 			ssp2: ssp@80014000 {
-				reg = <0x80014000 2000>;
+				reg = <0x80014000 0x2000>;
 				interrupts = <98 84>;
 				interrupts = <98 84>;
 				fsl,ssp-dma-channel = <2>;
 				fsl,ssp-dma-channel = <2>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			ssp3: ssp@80016000 {
 			ssp3: ssp@80016000 {
-				reg = <0x80016000 2000>;
+				reg = <0x80016000 0x2000>;
 				interrupts = <99 85>;
 				interrupts = <99 85>;
 				fsl,ssp-dma-channel = <3>;
 				fsl,ssp-dma-channel = <3>;
 				status = "disabled";
 				status = "disabled";
@@ -117,7 +117,7 @@
 				#address-cells = <1>;
 				#address-cells = <1>;
 				#size-cells = <0>;
 				#size-cells = <0>;
 				compatible = "fsl,imx28-pinctrl", "simple-bus";
 				compatible = "fsl,imx28-pinctrl", "simple-bus";
-				reg = <0x80018000 2000>;
+				reg = <0x80018000 0x2000>;
 
 
 				gpio0: gpio@0 {
 				gpio0: gpio@0 {
 					compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
 					compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
@@ -510,96 +510,96 @@
 			};
 			};
 
 
 			digctl@8001c000 {
 			digctl@8001c000 {
-				reg = <0x8001c000 2000>;
+				reg = <0x8001c000 0x2000>;
 				interrupts = <89>;
 				interrupts = <89>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			etm@80022000 {
 			etm@80022000 {
-				reg = <0x80022000 2000>;
+				reg = <0x80022000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			dma-apbx@80024000 {
 			dma-apbx@80024000 {
 				compatible = "fsl,imx28-dma-apbx";
 				compatible = "fsl,imx28-dma-apbx";
-				reg = <0x80024000 2000>;
+				reg = <0x80024000 0x2000>;
 			};
 			};
 
 
 			dcp@80028000 {
 			dcp@80028000 {
-				reg = <0x80028000 2000>;
+				reg = <0x80028000 0x2000>;
 				interrupts = <52 53 54>;
 				interrupts = <52 53 54>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			pxp@8002a000 {
 			pxp@8002a000 {
-				reg = <0x8002a000 2000>;
+				reg = <0x8002a000 0x2000>;
 				interrupts = <39>;
 				interrupts = <39>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			ocotp@8002c000 {
 			ocotp@8002c000 {
-				reg = <0x8002c000 2000>;
+				reg = <0x8002c000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			axi-ahb@8002e000 {
 			axi-ahb@8002e000 {
-				reg = <0x8002e000 2000>;
+				reg = <0x8002e000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			lcdif@80030000 {
 			lcdif@80030000 {
 				compatible = "fsl,imx28-lcdif";
 				compatible = "fsl,imx28-lcdif";
-				reg = <0x80030000 2000>;
+				reg = <0x80030000 0x2000>;
 				interrupts = <38 86>;
 				interrupts = <38 86>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			can0: can@80032000 {
 			can0: can@80032000 {
 				compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
 				compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
-				reg = <0x80032000 2000>;
+				reg = <0x80032000 0x2000>;
 				interrupts = <8>;
 				interrupts = <8>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			can1: can@80034000 {
 			can1: can@80034000 {
 				compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
 				compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
-				reg = <0x80034000 2000>;
+				reg = <0x80034000 0x2000>;
 				interrupts = <9>;
 				interrupts = <9>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			simdbg@8003c000 {
 			simdbg@8003c000 {
-				reg = <0x8003c000 200>;
+				reg = <0x8003c000 0x200>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			simgpmisel@8003c200 {
 			simgpmisel@8003c200 {
-				reg = <0x8003c200 100>;
+				reg = <0x8003c200 0x100>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			simsspsel@8003c300 {
 			simsspsel@8003c300 {
-				reg = <0x8003c300 100>;
+				reg = <0x8003c300 0x100>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			simmemsel@8003c400 {
 			simmemsel@8003c400 {
-				reg = <0x8003c400 100>;
+				reg = <0x8003c400 0x100>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			gpiomon@8003c500 {
 			gpiomon@8003c500 {
-				reg = <0x8003c500 100>;
+				reg = <0x8003c500 0x100>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			simenet@8003c700 {
 			simenet@8003c700 {
-				reg = <0x8003c700 100>;
+				reg = <0x8003c700 0x100>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			armjtag@8003c800 {
 			armjtag@8003c800 {
-				reg = <0x8003c800 100>;
+				reg = <0x8003c800 0x100>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
                 };
                 };
@@ -612,45 +612,45 @@
 			ranges;
 			ranges;
 
 
 			clkctl@80040000 {
 			clkctl@80040000 {
-				reg = <0x80040000 2000>;
+				reg = <0x80040000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			saif0: saif@80042000 {
 			saif0: saif@80042000 {
 				compatible = "fsl,imx28-saif";
 				compatible = "fsl,imx28-saif";
-				reg = <0x80042000 2000>;
+				reg = <0x80042000 0x2000>;
 				interrupts = <59 80>;
 				interrupts = <59 80>;
 				fsl,saif-dma-channel = <4>;
 				fsl,saif-dma-channel = <4>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			power@80044000 {
 			power@80044000 {
-				reg = <0x80044000 2000>;
+				reg = <0x80044000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			saif1: saif@80046000 {
 			saif1: saif@80046000 {
 				compatible = "fsl,imx28-saif";
 				compatible = "fsl,imx28-saif";
-				reg = <0x80046000 2000>;
+				reg = <0x80046000 0x2000>;
 				interrupts = <58 81>;
 				interrupts = <58 81>;
 				fsl,saif-dma-channel = <5>;
 				fsl,saif-dma-channel = <5>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			lradc@80050000 {
 			lradc@80050000 {
-				reg = <0x80050000 2000>;
+				reg = <0x80050000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			spdif@80054000 {
 			spdif@80054000 {
-				reg = <0x80054000 2000>;
+				reg = <0x80054000 0x2000>;
 				interrupts = <45 66>;
 				interrupts = <45 66>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			rtc@80056000 {
 			rtc@80056000 {
 				compatible = "fsl,imx28-rtc", "fsl,stmp3xxx-rtc";
 				compatible = "fsl,imx28-rtc", "fsl,stmp3xxx-rtc";
-				reg = <0x80056000 2000>;
+				reg = <0x80056000 0x2000>;
 				interrupts = <29>;
 				interrupts = <29>;
 			};
 			};
 
 
@@ -658,7 +658,7 @@
 				#address-cells = <1>;
 				#address-cells = <1>;
 				#size-cells = <0>;
 				#size-cells = <0>;
 				compatible = "fsl,imx28-i2c";
 				compatible = "fsl,imx28-i2c";
-				reg = <0x80058000 2000>;
+				reg = <0x80058000 0x2000>;
 				interrupts = <111 68>;
 				interrupts = <111 68>;
 				clock-frequency = <100000>;
 				clock-frequency = <100000>;
 				status = "disabled";
 				status = "disabled";
@@ -668,7 +668,7 @@
 				#address-cells = <1>;
 				#address-cells = <1>;
 				#size-cells = <0>;
 				#size-cells = <0>;
 				compatible = "fsl,imx28-i2c";
 				compatible = "fsl,imx28-i2c";
-				reg = <0x8005a000 2000>;
+				reg = <0x8005a000 0x2000>;
 				interrupts = <110 69>;
 				interrupts = <110 69>;
 				clock-frequency = <100000>;
 				clock-frequency = <100000>;
 				status = "disabled";
 				status = "disabled";
@@ -676,14 +676,14 @@
 
 
 			pwm: pwm@80064000 {
 			pwm: pwm@80064000 {
 				compatible = "fsl,imx28-pwm", "fsl,imx23-pwm";
 				compatible = "fsl,imx28-pwm", "fsl,imx23-pwm";
-				reg = <0x80064000 2000>;
+				reg = <0x80064000 0x2000>;
 				#pwm-cells = <2>;
 				#pwm-cells = <2>;
 				fsl,pwm-number = <8>;
 				fsl,pwm-number = <8>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
 			timrot@80068000 {
 			timrot@80068000 {
-				reg = <0x80068000 2000>;
+				reg = <0x80068000 0x2000>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 

+ 1 - 1
arch/arm/boot/dts/imx51-babbage.dts

@@ -53,7 +53,7 @@
 						spi-max-frequency = <6000000>;
 						spi-max-frequency = <6000000>;
 						reg = <0>;
 						reg = <0>;
 						interrupt-parent = <&gpio1>;
 						interrupt-parent = <&gpio1>;
-						interrupts = <8>;
+						interrupts = <8 0x4>;
 
 
 						regulators {
 						regulators {
 							sw1_reg: sw1 {
 							sw1_reg: sw1 {

+ 4 - 0
arch/arm/boot/dts/imx51.dtsi

@@ -17,6 +17,10 @@
 		serial0 = &uart1;
 		serial0 = &uart1;
 		serial1 = &uart2;
 		serial1 = &uart2;
 		serial2 = &uart3;
 		serial2 = &uart3;
+		gpio0 = &gpio1;
+		gpio1 = &gpio2;
+		gpio2 = &gpio3;
+		gpio3 = &gpio4;
 	};
 	};
 
 
 	tzic: tz-interrupt-controller@e0000000 {
 	tzic: tz-interrupt-controller@e0000000 {

+ 21 - 1
arch/arm/boot/dts/imx53-ard.dts

@@ -64,12 +64,32 @@
 			reg = <0xf4000000 0x2000000>;
 			reg = <0xf4000000 0x2000000>;
 			phy-mode = "mii";
 			phy-mode = "mii";
 			interrupt-parent = <&gpio2>;
 			interrupt-parent = <&gpio2>;
-			interrupts = <31>;
+			interrupts = <31 0x8>;
 			reg-io-width = <4>;
 			reg-io-width = <4>;
+			/*
+			 * VDD33A and VDDVARIO of LAN9220 are supplied by
+			 * SW4_3V3 of LTC3589.  Before the regulator driver
+			 * for this PMIC is available, we use a fixed dummy
+			 * 3V3 regulator to get LAN9220 driver probing work.
+			 */
+			vdd33a-supply = <&reg_3p3v>;
+			vddvario-supply = <&reg_3p3v>;
 			smsc,irq-push-pull;
 			smsc,irq-push-pull;
 		};
 		};
 	};
 	};
 
 
+	regulators {
+		compatible = "simple-bus";
+
+		reg_3p3v: 3p3v {
+			compatible = "regulator-fixed";
+			regulator-name = "3P3V";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-always-on;
+		};
+	};
+
 	gpio-keys {
 	gpio-keys {
 		compatible = "gpio-keys";
 		compatible = "gpio-keys";
 
 

+ 7 - 0
arch/arm/boot/dts/imx53.dtsi

@@ -19,6 +19,13 @@
 		serial2 = &uart3;
 		serial2 = &uart3;
 		serial3 = &uart4;
 		serial3 = &uart4;
 		serial4 = &uart5;
 		serial4 = &uart5;
+		gpio0 = &gpio1;
+		gpio1 = &gpio2;
+		gpio2 = &gpio3;
+		gpio3 = &gpio4;
+		gpio4 = &gpio5;
+		gpio5 = &gpio6;
+		gpio6 = &gpio7;
 	};
 	};
 
 
 	tzic: tz-interrupt-controller@0fffc000 {
 	tzic: tz-interrupt-controller@0fffc000 {

+ 1 - 0
arch/arm/boot/dts/imx6q-sabrelite.dts

@@ -53,6 +53,7 @@
 						fsl,pins = <
 						fsl,pins = <
 							   144  0x80000000	/* MX6Q_PAD_EIM_D22__GPIO_3_22 */
 							   144  0x80000000	/* MX6Q_PAD_EIM_D22__GPIO_3_22 */
 							   121  0x80000000	/* MX6Q_PAD_EIM_D19__GPIO_3_19 */
 							   121  0x80000000	/* MX6Q_PAD_EIM_D19__GPIO_3_19 */
+							   953  0x80000000	/* MX6Q_PAD_GPIO_0__CCM_CLKO */
 							   >;
 							   >;
 					};
 					};
 				};
 				};

+ 7 - 0
arch/arm/boot/dts/imx6q.dtsi

@@ -19,6 +19,13 @@
 		serial2 = &uart3;
 		serial2 = &uart3;
 		serial3 = &uart4;
 		serial3 = &uart4;
 		serial4 = &uart5;
 		serial4 = &uart5;
+		gpio0 = &gpio1;
+		gpio1 = &gpio2;
+		gpio2 = &gpio3;
+		gpio3 = &gpio4;
+		gpio4 = &gpio5;
+		gpio5 = &gpio6;
+		gpio6 = &gpio7;
 	};
 	};
 
 
 	cpus {
 	cpus {

+ 1 - 0
arch/arm/configs/imx_v6_v7_defconfig

@@ -192,6 +192,7 @@ CONFIG_RTC_DRV_MC13XXX=y
 CONFIG_RTC_DRV_MXC=y
 CONFIG_RTC_DRV_MXC=y
 CONFIG_DMADEVICES=y
 CONFIG_DMADEVICES=y
 CONFIG_IMX_SDMA=y
 CONFIG_IMX_SDMA=y
+CONFIG_MXS_DMA=y
 CONFIG_COMMON_CLK_DEBUG=y
 CONFIG_COMMON_CLK_DEBUG=y
 # CONFIG_IOMMU_SUPPORT is not set
 # CONFIG_IOMMU_SUPPORT is not set
 CONFIG_EXT2_FS=y
 CONFIG_EXT2_FS=y

+ 0 - 1
arch/arm/configs/mxs_defconfig

@@ -34,7 +34,6 @@ CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_PREEMPT_VOLUNTARY=y
 CONFIG_PREEMPT_VOLUNTARY=y
 CONFIG_AEABI=y
 CONFIG_AEABI=y
-CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
 CONFIG_AUTO_ZRELADDR=y
 CONFIG_AUTO_ZRELADDR=y
 CONFIG_FPE_NWFPE=y
 CONFIG_FPE_NWFPE=y
 CONFIG_NET=y
 CONFIG_NET=y

+ 1 - 1
arch/arm/configs/tct_hammer_defconfig

@@ -7,7 +7,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_EXPERT=y
 CONFIG_EXPERT=y
 # CONFIG_KALLSYMS is not set
 # CONFIG_KALLSYMS is not set
-# CONFIG_BUG is not set
+# CONFIG_BUGVERBOSE is not set
 # CONFIG_ELF_CORE is not set
 # CONFIG_ELF_CORE is not set
 # CONFIG_SHMEM is not set
 # CONFIG_SHMEM is not set
 CONFIG_SLOB=y
 CONFIG_SLOB=y

+ 0 - 39
arch/arm/mach-davinci/board-neuros-osd2.c

@@ -162,38 +162,6 @@ static void __init davinci_ntosd2_map_io(void)
 	dm644x_init();
 	dm644x_init();
 }
 }
 
 
-/*
- I2C initialization
-*/
-static struct davinci_i2c_platform_data ntosd2_i2c_pdata = {
-	.bus_freq	= 20 /* kHz */,
-	.bus_delay	= 100 /* usec */,
-};
-
-static struct i2c_board_info __initdata ntosd2_i2c_info[] =  {
-};
-
-static	int ntosd2_init_i2c(void)
-{
-	int	status;
-
-	davinci_init_i2c(&ntosd2_i2c_pdata);
-	status = gpio_request(NTOSD2_MSP430_IRQ, ntosd2_i2c_info[0].type);
-	if (status == 0) {
-		status = gpio_direction_input(NTOSD2_MSP430_IRQ);
-		if (status == 0) {
-			status = gpio_to_irq(NTOSD2_MSP430_IRQ);
-			if (status > 0) {
-				ntosd2_i2c_info[0].irq = status;
-				i2c_register_board_info(1,
-					ntosd2_i2c_info,
-					ARRAY_SIZE(ntosd2_i2c_info));
-			}
-		}
-	}
-	return status;
-}
-
 static struct davinci_mmc_config davinci_ntosd2_mmc_config = {
 static struct davinci_mmc_config davinci_ntosd2_mmc_config = {
 	.wires		= 4,
 	.wires		= 4,
 	.version	= MMC_CTLR_VERSION_1
 	.version	= MMC_CTLR_VERSION_1
@@ -218,7 +186,6 @@ static __init void davinci_ntosd2_init(void)
 {
 {
 	struct clk *aemif_clk;
 	struct clk *aemif_clk;
 	struct davinci_soc_info *soc_info = &davinci_soc_info;
 	struct davinci_soc_info *soc_info = &davinci_soc_info;
-	int	status;
 
 
 	aemif_clk = clk_get(NULL, "aemif");
 	aemif_clk = clk_get(NULL, "aemif");
 	clk_enable(aemif_clk);
 	clk_enable(aemif_clk);
@@ -242,12 +209,6 @@ static __init void davinci_ntosd2_init(void)
 	platform_add_devices(davinci_ntosd2_devices,
 	platform_add_devices(davinci_ntosd2_devices,
 				ARRAY_SIZE(davinci_ntosd2_devices));
 				ARRAY_SIZE(davinci_ntosd2_devices));
 
 
-	/* Initialize I2C interface specific for this board */
-	status = ntosd2_init_i2c();
-	if (status < 0)
-		pr_warning("davinci_ntosd2_init: msp430 irq setup failed:"
-						"	 %d\n", status);
-
 	davinci_serial_init(&uart_config);
 	davinci_serial_init(&uart_config);
 	dm644x_init_asp(&dm644x_ntosd2_snd_data);
 	dm644x_init_asp(&dm644x_ntosd2_snd_data);
 
 

+ 1 - 1
arch/arm/mach-exynos/pm_domains.c

@@ -115,7 +115,7 @@ static __init int exynos_pm_dt_parse_domains(void)
 }
 }
 #endif /* CONFIG_OF */
 #endif /* CONFIG_OF */
 
 
-static __init void exynos_pm_add_dev_to_genpd(struct platform_device *pdev,
+static __init __maybe_unused void exynos_pm_add_dev_to_genpd(struct platform_device *pdev,
 						struct exynos_pm_domain *pd)
 						struct exynos_pm_domain *pd)
 {
 {
 	if (pdev->dev.bus) {
 	if (pdev->dev.bus) {

+ 5 - 3
arch/arm/mach-imx/clk-imx27.c

@@ -223,7 +223,7 @@ int __init mx27_clocks_init(unsigned long fref)
 	clk_register_clkdev(clk[per3_gate], "per", "imx-fb.0");
 	clk_register_clkdev(clk[per3_gate], "per", "imx-fb.0");
 	clk_register_clkdev(clk[lcdc_ipg_gate], "ipg", "imx-fb.0");
 	clk_register_clkdev(clk[lcdc_ipg_gate], "ipg", "imx-fb.0");
 	clk_register_clkdev(clk[lcdc_ahb_gate], "ahb", "imx-fb.0");
 	clk_register_clkdev(clk[lcdc_ahb_gate], "ahb", "imx-fb.0");
-	clk_register_clkdev(clk[csi_ahb_gate], NULL, "mx2-camera.0");
+	clk_register_clkdev(clk[csi_ahb_gate], "ahb", "mx2-camera.0");
 	clk_register_clkdev(clk[usb_div], "per", "fsl-usb2-udc");
 	clk_register_clkdev(clk[usb_div], "per", "fsl-usb2-udc");
 	clk_register_clkdev(clk[usb_ipg_gate], "ipg", "fsl-usb2-udc");
 	clk_register_clkdev(clk[usb_ipg_gate], "ipg", "fsl-usb2-udc");
 	clk_register_clkdev(clk[usb_ahb_gate], "ahb", "fsl-usb2-udc");
 	clk_register_clkdev(clk[usb_ahb_gate], "ahb", "fsl-usb2-udc");
@@ -250,8 +250,10 @@ int __init mx27_clocks_init(unsigned long fref)
 	clk_register_clkdev(clk[i2c2_ipg_gate], NULL, "imx-i2c.1");
 	clk_register_clkdev(clk[i2c2_ipg_gate], NULL, "imx-i2c.1");
 	clk_register_clkdev(clk[owire_ipg_gate], NULL, "mxc_w1.0");
 	clk_register_clkdev(clk[owire_ipg_gate], NULL, "mxc_w1.0");
 	clk_register_clkdev(clk[kpp_ipg_gate], NULL, "imx-keypad");
 	clk_register_clkdev(clk[kpp_ipg_gate], NULL, "imx-keypad");
-	clk_register_clkdev(clk[emma_ahb_gate], "ahb", "imx-emma");
-	clk_register_clkdev(clk[emma_ipg_gate], "ipg", "imx-emma");
+	clk_register_clkdev(clk[emma_ahb_gate], "emma-ahb", "mx2-camera.0");
+	clk_register_clkdev(clk[emma_ipg_gate], "emma-ipg", "mx2-camera.0");
+	clk_register_clkdev(clk[emma_ahb_gate], "ahb", "m2m-emmaprp.0");
+	clk_register_clkdev(clk[emma_ipg_gate], "ipg", "m2m-emmaprp.0");
 	clk_register_clkdev(clk[iim_ipg_gate], "iim", NULL);
 	clk_register_clkdev(clk[iim_ipg_gate], "iim", NULL);
 	clk_register_clkdev(clk[gpio_ipg_gate], "gpio", NULL);
 	clk_register_clkdev(clk[gpio_ipg_gate], "gpio", NULL);
 	clk_register_clkdev(clk[brom_ahb_gate], "brom", NULL);
 	clk_register_clkdev(clk[brom_ahb_gate], "brom", NULL);

+ 1 - 1
arch/arm/mach-imx/clk-imx31.c

@@ -130,7 +130,7 @@ int __init mx31_clocks_init(unsigned long fref)
 	clk_register_clkdev(clk[nfc], NULL, "mxc_nand.0");
 	clk_register_clkdev(clk[nfc], NULL, "mxc_nand.0");
 	clk_register_clkdev(clk[ipu_gate], NULL, "ipu-core");
 	clk_register_clkdev(clk[ipu_gate], NULL, "ipu-core");
 	clk_register_clkdev(clk[ipu_gate], NULL, "mx3_sdc_fb");
 	clk_register_clkdev(clk[ipu_gate], NULL, "mx3_sdc_fb");
-	clk_register_clkdev(clk[kpp_gate], "kpp", NULL);
+	clk_register_clkdev(clk[kpp_gate], NULL, "imx-keypad");
 	clk_register_clkdev(clk[usb_div_post], "per", "mxc-ehci.0");
 	clk_register_clkdev(clk[usb_div_post], "per", "mxc-ehci.0");
 	clk_register_clkdev(clk[usb_gate], "ahb", "mxc-ehci.0");
 	clk_register_clkdev(clk[usb_gate], "ahb", "mxc-ehci.0");
 	clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.0");
 	clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.0");

+ 1 - 0
arch/arm/mach-imx/clk-imx51-imx53.c

@@ -303,6 +303,7 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil,
 	clk_prepare_enable(clk[aips_tz2]); /* fec */
 	clk_prepare_enable(clk[aips_tz2]); /* fec */
 	clk_prepare_enable(clk[spba]);
 	clk_prepare_enable(clk[spba]);
 	clk_prepare_enable(clk[emi_fast_gate]); /* fec */
 	clk_prepare_enable(clk[emi_fast_gate]); /* fec */
+	clk_prepare_enable(clk[emi_slow_gate]); /* eim */
 	clk_prepare_enable(clk[tmax1]);
 	clk_prepare_enable(clk[tmax1]);
 	clk_prepare_enable(clk[tmax2]); /* esdhc2, fec */
 	clk_prepare_enable(clk[tmax2]); /* esdhc2, fec */
 	clk_prepare_enable(clk[tmax3]); /* esdhc1, esdhc4 */
 	clk_prepare_enable(clk[tmax3]); /* esdhc1, esdhc4 */

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

@@ -11,6 +11,7 @@
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/device.h>
 #include <linux/device.h>
+#include <linux/export.h>
 #include <linux/spinlock.h>
 #include <linux/spinlock.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/irq.h>

+ 1 - 1
arch/arm/mach-integrator/integrator_ap.c

@@ -456,7 +456,7 @@ static void __init ap_init_timer(void)
 
 
 	clk = clk_get_sys("ap_timer", NULL);
 	clk = clk_get_sys("ap_timer", NULL);
 	BUG_ON(IS_ERR(clk));
 	BUG_ON(IS_ERR(clk));
-	clk_enable(clk);
+	clk_prepare_enable(clk);
 	rate = clk_get_rate(clk);
 	rate = clk_get_rate(clk);
 
 
 	writel(0, TIMER0_VA_BASE + TIMER_CTRL);
 	writel(0, TIMER0_VA_BASE + TIMER_CTRL);

+ 2 - 2
arch/arm/mach-kirkwood/Makefile.boot

@@ -9,5 +9,5 @@ dtb-$(CONFIG_MACH_ICONNECT_DT) += kirkwood-iconnect.dtb
 dtb-$(CONFIG_MACH_IB62X0_DT) += kirkwood-ib62x0.dtb
 dtb-$(CONFIG_MACH_IB62X0_DT) += kirkwood-ib62x0.dtb
 dtb-$(CONFIG_MACH_TS219_DT)	+= kirkwood-qnap-ts219.dtb
 dtb-$(CONFIG_MACH_TS219_DT)	+= kirkwood-qnap-ts219.dtb
 dtb-$(CONFIG_MACH_GOFLEXNET_DT) += kirkwood-goflexnet.dtb
 dtb-$(CONFIG_MACH_GOFLEXNET_DT) += kirkwood-goflexnet.dtb
-dbt-$(CONFIG_MACH_LSXL_DT) += kirkwood-lschlv2.dtb
-dbt-$(CONFIG_MACH_LSXL_DT) += kirkwood-lsxhl.dtb
+dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lschlv2.dtb
+dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lsxhl.dtb

+ 0 - 6
arch/arm/mach-mxs/Kconfig

@@ -2,9 +2,6 @@ if ARCH_MXS
 
 
 source "arch/arm/mach-mxs/devices/Kconfig"
 source "arch/arm/mach-mxs/devices/Kconfig"
 
 
-config MXS_OCOTP
-	bool
-
 config SOC_IMX23
 config SOC_IMX23
 	bool
 	bool
 	select ARM_AMBA
 	select ARM_AMBA
@@ -66,7 +63,6 @@ config MACH_MX28EVK
 	select MXS_HAVE_PLATFORM_MXS_SAIF
 	select MXS_HAVE_PLATFORM_MXS_SAIF
 	select MXS_HAVE_PLATFORM_MXS_I2C
 	select MXS_HAVE_PLATFORM_MXS_I2C
 	select MXS_HAVE_PLATFORM_RTC_STMP3XXX
 	select MXS_HAVE_PLATFORM_RTC_STMP3XXX
-	select MXS_OCOTP
 	help
 	help
 	  Include support for MX28EVK platform. This includes specific
 	  Include support for MX28EVK platform. This includes specific
 	  configurations for the board and its peripherals.
 	  configurations for the board and its peripherals.
@@ -94,7 +90,6 @@ config MODULE_M28
 	select MXS_HAVE_PLATFORM_MXS_I2C
 	select MXS_HAVE_PLATFORM_MXS_I2C
 	select MXS_HAVE_PLATFORM_MXS_MMC
 	select MXS_HAVE_PLATFORM_MXS_MMC
 	select MXS_HAVE_PLATFORM_MXSFB
 	select MXS_HAVE_PLATFORM_MXSFB
-	select MXS_OCOTP
 
 
 config MODULE_APX4
 config MODULE_APX4
 	bool
 	bool
@@ -106,7 +101,6 @@ config MODULE_APX4
 	select MXS_HAVE_PLATFORM_MXS_I2C
 	select MXS_HAVE_PLATFORM_MXS_I2C
 	select MXS_HAVE_PLATFORM_MXS_MMC
 	select MXS_HAVE_PLATFORM_MXS_MMC
 	select MXS_HAVE_PLATFORM_MXS_SAIF
 	select MXS_HAVE_PLATFORM_MXS_SAIF
-	select MXS_OCOTP
 
 
 config MACH_TX28
 config MACH_TX28
 	bool "Ka-Ro TX28 module"
 	bool "Ka-Ro TX28 module"

+ 1 - 2
arch/arm/mach-mxs/Makefile

@@ -1,7 +1,6 @@
 # Common support
 # Common support
-obj-y := devices.o icoll.o iomux.o system.o timer.o mm.o
+obj-y := devices.o icoll.o iomux.o ocotp.o system.o timer.o mm.o
 
 
-obj-$(CONFIG_MXS_OCOTP) += ocotp.o
 obj-$(CONFIG_PM) += pm.o
 obj-$(CONFIG_PM) += pm.o
 
 
 obj-$(CONFIG_MACH_MXS_DT) += mach-mxs.o
 obj-$(CONFIG_MACH_MXS_DT) += mach-mxs.o

+ 1 - 1
arch/arm/mach-pxa/raumfeld.c

@@ -953,12 +953,12 @@ static struct i2c_board_info raumfeld_connector_i2c_board_info __initdata = {
 
 
 static struct eeti_ts_platform_data eeti_ts_pdata = {
 static struct eeti_ts_platform_data eeti_ts_pdata = {
 	.irq_active_high = 1,
 	.irq_active_high = 1,
+	.irq_gpio = GPIO_TOUCH_IRQ,
 };
 };
 
 
 static struct i2c_board_info raumfeld_controller_i2c_board_info __initdata = {
 static struct i2c_board_info raumfeld_controller_i2c_board_info __initdata = {
 	.type	= "eeti_ts",
 	.type	= "eeti_ts",
 	.addr	= 0x0a,
 	.addr	= 0x0a,
-	.irq	= PXA_GPIO_TO_IRQ(GPIO_TOUCH_IRQ),
 	.platform_data = &eeti_ts_pdata,
 	.platform_data = &eeti_ts_pdata,
 };
 };
 
 

+ 2 - 2
arch/arm/mach-s3c24xx/Kconfig

@@ -483,7 +483,7 @@ config MACH_NEO1973_GTA02
 	select I2C
 	select I2C
 	select POWER_SUPPLY
 	select POWER_SUPPLY
 	select MACH_NEO1973
 	select MACH_NEO1973
-	select S3C2410_PWM
+	select S3C24XX_PWM
 	select S3C_DEV_USB_HOST
 	select S3C_DEV_USB_HOST
 	help
 	help
 	   Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone
 	   Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone
@@ -493,7 +493,7 @@ config MACH_RX1950
 	select S3C24XX_DCLK
 	select S3C24XX_DCLK
 	select PM_H1940 if PM
 	select PM_H1940 if PM
 	select I2C
 	select I2C
-	select S3C2410_PWM
+	select S3C24XX_PWM
 	select S3C_DEV_NAND
 	select S3C_DEV_NAND
 	select S3C2410_IOTIMING if S3C2440_CPUFREQ
 	select S3C2410_IOTIMING if S3C2440_CPUFREQ
 	select S3C2440_XTAL_16934400
 	select S3C2440_XTAL_16934400

+ 1 - 0
arch/arm/mach-sa1100/leds-hackkit.c

@@ -10,6 +10,7 @@
  * as cpu led, the green one is used as timer led.
  * as cpu led, the green one is used as timer led.
  */
  */
 #include <linux/init.h>
 #include <linux/init.h>
+#include <linux/io.h>
 
 
 #include <mach/hardware.h>
 #include <mach/hardware.h>
 #include <asm/leds.h>
 #include <asm/leds.h>

+ 17 - 15
arch/arm/mach-tegra/board-harmony-power.c

@@ -51,7 +51,7 @@ static struct regulator_init_data ldo0_data = {
 	.consumer_supplies = tps658621_ldo0_supply,
 	.consumer_supplies = tps658621_ldo0_supply,
 };
 };
 
 
-#define HARMONY_REGULATOR_INIT(_id, _name, _supply, _minmv, _maxmv)	\
+#define HARMONY_REGULATOR_INIT(_id, _name, _supply, _minmv, _maxmv, _on)\
 	static struct regulator_init_data _id##_data = {		\
 	static struct regulator_init_data _id##_data = {		\
 		.supply_regulator = _supply,				\
 		.supply_regulator = _supply,				\
 		.constraints = {					\
 		.constraints = {					\
@@ -63,21 +63,22 @@ static struct regulator_init_data ldo0_data = {
 			.valid_ops_mask = (REGULATOR_CHANGE_MODE |	\
 			.valid_ops_mask = (REGULATOR_CHANGE_MODE |	\
 					   REGULATOR_CHANGE_STATUS |	\
 					   REGULATOR_CHANGE_STATUS |	\
 					   REGULATOR_CHANGE_VOLTAGE),	\
 					   REGULATOR_CHANGE_VOLTAGE),	\
+			.always_on = _on,				\
 		},							\
 		},							\
 	}
 	}
 
 
-HARMONY_REGULATOR_INIT(sm0,  "vdd_sm0",  "vdd_sys", 725, 1500);
-HARMONY_REGULATOR_INIT(sm1,  "vdd_sm1",  "vdd_sys", 725, 1500);
-HARMONY_REGULATOR_INIT(sm2,  "vdd_sm2",  "vdd_sys", 3000, 4550);
-HARMONY_REGULATOR_INIT(ldo1, "vdd_ldo1", "vdd_sm2", 725, 1500);
-HARMONY_REGULATOR_INIT(ldo2, "vdd_ldo2", "vdd_sm2", 725, 1500);
-HARMONY_REGULATOR_INIT(ldo3, "vdd_ldo3", "vdd_sm2", 1250, 3300);
-HARMONY_REGULATOR_INIT(ldo4, "vdd_ldo4", "vdd_sm2", 1700, 2475);
-HARMONY_REGULATOR_INIT(ldo5, "vdd_ldo5", NULL,	    1250, 3300);
-HARMONY_REGULATOR_INIT(ldo6, "vdd_ldo6", "vdd_sm2", 1250, 3300);
-HARMONY_REGULATOR_INIT(ldo7, "vdd_ldo7", "vdd_sm2", 1250, 3300);
-HARMONY_REGULATOR_INIT(ldo8, "vdd_ldo8", "vdd_sm2", 1250, 3300);
-HARMONY_REGULATOR_INIT(ldo9, "vdd_ldo9", "vdd_sm2", 1250, 3300);
+HARMONY_REGULATOR_INIT(sm0,  "vdd_sm0",  "vdd_sys", 725, 1500, 1);
+HARMONY_REGULATOR_INIT(sm1,  "vdd_sm1",  "vdd_sys", 725, 1500, 1);
+HARMONY_REGULATOR_INIT(sm2,  "vdd_sm2",  "vdd_sys", 3000, 4550, 1);
+HARMONY_REGULATOR_INIT(ldo1, "vdd_ldo1", "vdd_sm2", 725, 1500, 1);
+HARMONY_REGULATOR_INIT(ldo2, "vdd_ldo2", "vdd_sm2", 725, 1500, 0);
+HARMONY_REGULATOR_INIT(ldo3, "vdd_ldo3", "vdd_sm2", 1250, 3300, 1);
+HARMONY_REGULATOR_INIT(ldo4, "vdd_ldo4", "vdd_sm2", 1700, 2475, 1);
+HARMONY_REGULATOR_INIT(ldo5, "vdd_ldo5", NULL,	    1250, 3300, 1);
+HARMONY_REGULATOR_INIT(ldo6, "vdd_ldo6", "vdd_sm2", 1250, 3300, 0);
+HARMONY_REGULATOR_INIT(ldo7, "vdd_ldo7", "vdd_sm2", 1250, 3300, 0);
+HARMONY_REGULATOR_INIT(ldo8, "vdd_ldo8", "vdd_sm2", 1250, 3300, 0);
+HARMONY_REGULATOR_INIT(ldo9, "vdd_ldo9", "vdd_sm2", 1250, 3300, 1);
 
 
 #define TPS_REG(_id, _data)			\
 #define TPS_REG(_id, _data)			\
 	{					\
 	{					\
@@ -119,9 +120,10 @@ static struct i2c_board_info __initdata harmony_regulators[] = {
 
 
 int __init harmony_regulator_init(void)
 int __init harmony_regulator_init(void)
 {
 {
+	regulator_register_always_on(0, "vdd_sys",
+		NULL, 0, 5000000);
+
 	if (machine_is_harmony()) {
 	if (machine_is_harmony()) {
-		regulator_register_always_on(0, "vdd_sys",
-			NULL, 0, 5000000);
 		i2c_register_board_info(3, harmony_regulators, 1);
 		i2c_register_board_info(3, harmony_regulators, 1);
 	} else { /* Harmony, booted using device tree */
 	} else { /* Harmony, booted using device tree */
 		struct device_node *np;
 		struct device_node *np;

+ 6 - 6
arch/arm/mm/dma-mapping.c

@@ -358,7 +358,7 @@ void __init dma_contiguous_remap(void)
 		if (end > arm_lowmem_limit)
 		if (end > arm_lowmem_limit)
 			end = arm_lowmem_limit;
 			end = arm_lowmem_limit;
 		if (start >= end)
 		if (start >= end)
-			return;
+			continue;
 
 
 		map.pfn = __phys_to_pfn(start);
 		map.pfn = __phys_to_pfn(start);
 		map.virtual = __phys_to_virt(start);
 		map.virtual = __phys_to_virt(start);
@@ -423,7 +423,7 @@ static void *__alloc_from_pool(size_t size, struct page **ret_page)
 	unsigned int pageno;
 	unsigned int pageno;
 	unsigned long flags;
 	unsigned long flags;
 	void *ptr = NULL;
 	void *ptr = NULL;
-	size_t align;
+	unsigned long align_mask;
 
 
 	if (!pool->vaddr) {
 	if (!pool->vaddr) {
 		WARN(1, "coherent pool not initialised!\n");
 		WARN(1, "coherent pool not initialised!\n");
@@ -435,11 +435,11 @@ static void *__alloc_from_pool(size_t size, struct page **ret_page)
 	 * small, so align them to their order in pages, minimum is a page
 	 * small, so align them to their order in pages, minimum is a page
 	 * size. This helps reduce fragmentation of the DMA space.
 	 * size. This helps reduce fragmentation of the DMA space.
 	 */
 	 */
-	align = PAGE_SIZE << get_order(size);
+	align_mask = (1 << get_order(size)) - 1;
 
 
 	spin_lock_irqsave(&pool->lock, flags);
 	spin_lock_irqsave(&pool->lock, flags);
 	pageno = bitmap_find_next_zero_area(pool->bitmap, pool->nr_pages,
 	pageno = bitmap_find_next_zero_area(pool->bitmap, pool->nr_pages,
-					    0, count, (1 << align) - 1);
+					    0, count, align_mask);
 	if (pageno < pool->nr_pages) {
 	if (pageno < pool->nr_pages) {
 		bitmap_set(pool->bitmap, pageno, count);
 		bitmap_set(pool->bitmap, pageno, count);
 		ptr = pool->vaddr + PAGE_SIZE * pageno;
 		ptr = pool->vaddr + PAGE_SIZE * pageno;
@@ -648,12 +648,12 @@ void arm_dma_free(struct device *dev, size_t size, void *cpu_addr,
 
 
 	if (arch_is_coherent() || nommu()) {
 	if (arch_is_coherent() || nommu()) {
 		__dma_free_buffer(page, size);
 		__dma_free_buffer(page, size);
+	} else if (__free_from_pool(cpu_addr, size)) {
+		return;
 	} else if (!IS_ENABLED(CONFIG_CMA)) {
 	} else if (!IS_ENABLED(CONFIG_CMA)) {
 		__dma_free_remap(cpu_addr, size);
 		__dma_free_remap(cpu_addr, size);
 		__dma_free_buffer(page, size);
 		__dma_free_buffer(page, size);
 	} else {
 	} else {
-		if (__free_from_pool(cpu_addr, size))
-			return;
 		/*
 		/*
 		 * Non-atomic allocations cannot be freed with IRQs disabled
 		 * Non-atomic allocations cannot be freed with IRQs disabled
 		 */
 		 */

+ 2 - 1
arch/arm/plat-samsung/Kconfig

@@ -403,7 +403,8 @@ config S5P_DEV_USB_EHCI
 
 
 config S3C24XX_PWM
 config S3C24XX_PWM
 	bool "PWM device support"
 	bool "PWM device support"
-	select HAVE_PWM
+	select PWM
+	select PWM_SAMSUNG
 	help
 	help
 	  Support for exporting the PWM timer blocks via the pwm device
 	  Support for exporting the PWM timer blocks via the pwm device
 	  system
 	  system

+ 0 - 1
arch/blackfin/kernel/setup.c

@@ -52,7 +52,6 @@ EXPORT_SYMBOL(reserved_mem_dcache_on);
 #ifdef CONFIG_MTD_UCLINUX
 #ifdef CONFIG_MTD_UCLINUX
 extern struct map_info uclinux_ram_map;
 extern struct map_info uclinux_ram_map;
 unsigned long memory_mtd_end, memory_mtd_start, mtd_size;
 unsigned long memory_mtd_end, memory_mtd_start, mtd_size;
-unsigned long _ebss;
 EXPORT_SYMBOL(memory_mtd_end);
 EXPORT_SYMBOL(memory_mtd_end);
 EXPORT_SYMBOL(memory_mtd_start);
 EXPORT_SYMBOL(memory_mtd_start);
 EXPORT_SYMBOL(mtd_size);
 EXPORT_SYMBOL(mtd_size);

+ 3 - 2
arch/ia64/kernel/acpi.c

@@ -497,7 +497,7 @@ acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa)
 	srat_num_cpus++;
 	srat_num_cpus++;
 }
 }
 
 
-void __init
+int __init
 acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma)
 acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma)
 {
 {
 	unsigned long paddr, size;
 	unsigned long paddr, size;
@@ -512,7 +512,7 @@ acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma)
 
 
 	/* Ignore disabled entries */
 	/* Ignore disabled entries */
 	if (!(ma->flags & ACPI_SRAT_MEM_ENABLED))
 	if (!(ma->flags & ACPI_SRAT_MEM_ENABLED))
-		return;
+		return -1;
 
 
 	/* record this node in proximity bitmap */
 	/* record this node in proximity bitmap */
 	pxm_bit_set(pxm);
 	pxm_bit_set(pxm);
@@ -531,6 +531,7 @@ acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma)
 	p->size = size;
 	p->size = size;
 	p->nid = pxm;
 	p->nid = pxm;
 	num_node_memblks++;
 	num_node_memblks++;
+	return 0;
 }
 }
 
 
 void __init acpi_numa_arch_fixup(void)
 void __init acpi_numa_arch_fixup(void)

+ 0 - 12
arch/m68k/Kconfig

@@ -54,18 +54,6 @@ config ZONE_DMA
 	bool
 	bool
 	default y
 	default y
 
 
-config CPU_HAS_NO_BITFIELDS
-	bool
-
-config CPU_HAS_NO_MULDIV64
-	bool
-
-config CPU_HAS_ADDRESS_SPACES
-	bool
-
-config FPU
-	bool
-
 config HZ
 config HZ
 	int
 	int
 	default 1000 if CLEOPATRA
 	default 1000 if CLEOPATRA

+ 14 - 0
arch/m68k/Kconfig.cpu

@@ -37,6 +37,7 @@ config M68000
 	bool
 	bool
 	select CPU_HAS_NO_BITFIELDS
 	select CPU_HAS_NO_BITFIELDS
 	select CPU_HAS_NO_MULDIV64
 	select CPU_HAS_NO_MULDIV64
+	select CPU_HAS_NO_UNALIGNED
 	select GENERIC_CSUM
 	select GENERIC_CSUM
 	help
 	help
 	  The Freescale (was Motorola) 68000 CPU is the first generation of
 	  The Freescale (was Motorola) 68000 CPU is the first generation of
@@ -48,6 +49,7 @@ config M68000
 config MCPU32
 config MCPU32
 	bool
 	bool
 	select CPU_HAS_NO_BITFIELDS
 	select CPU_HAS_NO_BITFIELDS
+	select CPU_HAS_NO_UNALIGNED
 	help
 	help
 	  The Freescale (was then Motorola) CPU32 is a CPU core that is
 	  The Freescale (was then Motorola) CPU32 is a CPU core that is
 	  based on the 68020 processor. For the most part it is used in
 	  based on the 68020 processor. For the most part it is used in
@@ -376,6 +378,18 @@ config NODES_SHIFT
 	default "3"
 	default "3"
 	depends on !SINGLE_MEMORY_CHUNK
 	depends on !SINGLE_MEMORY_CHUNK
 
 
+config CPU_HAS_NO_BITFIELDS
+	bool
+
+config CPU_HAS_NO_MULDIV64
+	bool
+
+config CPU_HAS_NO_UNALIGNED
+	bool
+
+config CPU_HAS_ADDRESS_SPACES
+	bool
+
 config FPU
 config FPU
 	bool
 	bool
 
 

+ 8 - 8
arch/m68k/apollo/config.c

@@ -177,8 +177,8 @@ irqreturn_t dn_timer_int(int irq, void *dev_id)
 
 
 	timer_handler(irq, dev_id);
 	timer_handler(irq, dev_id);
 
 
-	x=*(volatile unsigned char *)(timer+3);
-	x=*(volatile unsigned char *)(timer+5);
+	x = *(volatile unsigned char *)(apollo_timer + 3);
+	x = *(volatile unsigned char *)(apollo_timer + 5);
 
 
 	return IRQ_HANDLED;
 	return IRQ_HANDLED;
 }
 }
@@ -186,17 +186,17 @@ irqreturn_t dn_timer_int(int irq, void *dev_id)
 void dn_sched_init(irq_handler_t timer_routine)
 void dn_sched_init(irq_handler_t timer_routine)
 {
 {
 	/* program timer 1 */
 	/* program timer 1 */
-	*(volatile unsigned char *)(timer+3)=0x01;
-	*(volatile unsigned char *)(timer+1)=0x40;
-	*(volatile unsigned char *)(timer+5)=0x09;
-	*(volatile unsigned char *)(timer+7)=0xc4;
+	*(volatile unsigned char *)(apollo_timer + 3) = 0x01;
+	*(volatile unsigned char *)(apollo_timer + 1) = 0x40;
+	*(volatile unsigned char *)(apollo_timer + 5) = 0x09;
+	*(volatile unsigned char *)(apollo_timer + 7) = 0xc4;
 
 
 	/* enable IRQ of PIC B */
 	/* enable IRQ of PIC B */
 	*(volatile unsigned char *)(pica+1)&=(~8);
 	*(volatile unsigned char *)(pica+1)&=(~8);
 
 
 #if 0
 #if 0
-	printk("*(0x10803) %02x\n",*(volatile unsigned char *)(timer+0x3));
-	printk("*(0x10803) %02x\n",*(volatile unsigned char *)(timer+0x3));
+	printk("*(0x10803) %02x\n",*(volatile unsigned char *)(apollo_timer + 0x3));
+	printk("*(0x10803) %02x\n",*(volatile unsigned char *)(apollo_timer + 0x3));
 #endif
 #endif
 
 
 	if (request_irq(IRQ_APOLLO, dn_timer_int, 0, "time", timer_routine))
 	if (request_irq(IRQ_APOLLO, dn_timer_int, 0, "time", timer_routine))

+ 25 - 0
arch/m68k/include/asm/Kbuild

@@ -1,4 +1,29 @@
 include include/asm-generic/Kbuild.asm
 include include/asm-generic/Kbuild.asm
 header-y += cachectl.h
 header-y += cachectl.h
 
 
+generic-y += bitsperlong.h
+generic-y += cputime.h
+generic-y += device.h
+generic-y += emergency-restart.h
+generic-y += errno.h
+generic-y += futex.h
+generic-y += ioctl.h
+generic-y += ipcbuf.h
+generic-y += irq_regs.h
+generic-y += kdebug.h
+generic-y += kmap_types.h
+generic-y += kvm_para.h
+generic-y += local64.h
+generic-y += local.h
+generic-y += mman.h
+generic-y += mutex.h
+generic-y += percpu.h
+generic-y += resource.h
+generic-y += scatterlist.h
+generic-y += sections.h
+generic-y += siginfo.h
+generic-y += statfs.h
+generic-y += topology.h
+generic-y += types.h
 generic-y += word-at-a-time.h
 generic-y += word-at-a-time.h
+generic-y += xor.h

+ 0 - 152
arch/m68k/include/asm/MC68332.h

@@ -1,152 +0,0 @@
-
-/* include/asm-m68knommu/MC68332.h: '332 control registers
- *
- * Copyright (C) 1998  Kenneth Albanowski <kjahds@kjahds.com>,
- *
- */
-
-#ifndef _MC68332_H_
-#define _MC68332_H_
-
-#define BYTE_REF(addr) (*((volatile unsigned char*)addr))
-#define WORD_REF(addr) (*((volatile unsigned short*)addr))
-
-#define PORTE_ADDR	0xfffa11
-#define PORTE	BYTE_REF(PORTE_ADDR)
-#define DDRE_ADDR	0xfffa15
-#define DDRE	BYTE_REF(DDRE_ADDR)
-#define PEPAR_ADDR	0xfffa17
-#define PEPAR	BYTE_REF(PEPAR_ADDR)
-
-#define PORTF_ADDR	0xfffa19
-#define PORTF	BYTE_REF(PORTF_ADDR)
-#define DDRF_ADDR	0xfffa1d
-#define DDRF	BYTE_REF(DDRF_ADDR)
-#define PFPAR_ADDR	0xfffa1f
-#define PFPAR	BYTE_REF(PFPAR_ADDR)
-
-#define PORTQS_ADDR	0xfffc15
-#define PORTQS	BYTE_REF(PORTQS_ADDR)
-#define DDRQS_ADDR	0xfffc17
-#define DDRQS	BYTE_REF(DDRQS_ADDR)
-#define PQSPAR_ADDR	0xfffc16
-#define PQSPAR	BYTE_REF(PQSPAR_ADDR)
-
-#define CSPAR0_ADDR 0xFFFA44
-#define CSPAR0 WORD_REF(CSPAR0_ADDR)
-#define CSPAR1_ADDR 0xFFFA46
-#define CSPAR1 WORD_REF(CSPAR1_ADDR)
-#define CSARBT_ADDR 0xFFFA48
-#define CSARBT WORD_REF(CSARBT_ADDR)
-#define CSOPBT_ADDR 0xFFFA4A
-#define CSOPBT WORD_REF(CSOPBT_ADDR)
-#define CSBAR0_ADDR 0xFFFA4C
-#define CSBAR0 WORD_REF(CSBAR0_ADDR)
-#define CSOR0_ADDR 0xFFFA4E
-#define CSOR0 WORD_REF(CSOR0_ADDR)
-#define CSBAR1_ADDR 0xFFFA50
-#define CSBAR1 WORD_REF(CSBAR1_ADDR)
-#define CSOR1_ADDR 0xFFFA52
-#define CSOR1 WORD_REF(CSOR1_ADDR)
-#define CSBAR2_ADDR 0xFFFA54
-#define CSBAR2 WORD_REF(CSBAR2_ADDR)
-#define CSOR2_ADDR 0xFFFA56
-#define CSOR2 WORD_REF(CSOR2_ADDR)
-#define CSBAR3_ADDR 0xFFFA58
-#define CSBAR3 WORD_REF(CSBAR3_ADDR)
-#define CSOR3_ADDR 0xFFFA5A
-#define CSOR3 WORD_REF(CSOR3_ADDR)
-#define CSBAR4_ADDR 0xFFFA5C
-#define CSBAR4 WORD_REF(CSBAR4_ADDR)
-#define CSOR4_ADDR 0xFFFA5E
-#define CSOR4 WORD_REF(CSOR4_ADDR)
-#define CSBAR5_ADDR 0xFFFA60
-#define CSBAR5 WORD_REF(CSBAR5_ADDR)
-#define CSOR5_ADDR 0xFFFA62
-#define CSOR5 WORD_REF(CSOR5_ADDR)
-#define CSBAR6_ADDR 0xFFFA64
-#define CSBAR6 WORD_REF(CSBAR6_ADDR)
-#define CSOR6_ADDR 0xFFFA66
-#define CSOR6 WORD_REF(CSOR6_ADDR)
-#define CSBAR7_ADDR 0xFFFA68
-#define CSBAR7 WORD_REF(CSBAR7_ADDR)
-#define CSOR7_ADDR 0xFFFA6A
-#define CSOR7 WORD_REF(CSOR7_ADDR)
-#define CSBAR8_ADDR 0xFFFA6C
-#define CSBAR8 WORD_REF(CSBAR8_ADDR)
-#define CSOR8_ADDR 0xFFFA6E
-#define CSOR8 WORD_REF(CSOR8_ADDR)
-#define CSBAR9_ADDR 0xFFFA70
-#define CSBAR9 WORD_REF(CSBAR9_ADDR)
-#define CSOR9_ADDR 0xFFFA72
-#define CSOR9 WORD_REF(CSOR9_ADDR)
-#define CSBAR10_ADDR 0xFFFA74
-#define CSBAR10 WORD_REF(CSBAR10_ADDR)
-#define CSOR10_ADDR 0xFFFA76
-#define CSOR10 WORD_REF(CSOR10_ADDR)
-
-#define CSOR_MODE_ASYNC	0x0000
-#define CSOR_MODE_SYNC	0x8000
-#define CSOR_MODE_MASK	0x8000
-#define CSOR_BYTE_DISABLE	0x0000
-#define CSOR_BYTE_UPPER		0x4000
-#define CSOR_BYTE_LOWER		0x2000
-#define CSOR_BYTE_BOTH		0x6000
-#define CSOR_BYTE_MASK		0x6000
-#define CSOR_RW_RSVD		0x0000
-#define CSOR_RW_READ		0x0800
-#define CSOR_RW_WRITE		0x1000
-#define CSOR_RW_BOTH		0x1800
-#define CSOR_RW_MASK		0x1800
-#define CSOR_STROBE_DS		0x0400
-#define CSOR_STROBE_AS		0x0000
-#define CSOR_STROBE_MASK	0x0400
-#define CSOR_DSACK_WAIT(x)	(wait << 6)
-#define CSOR_DSACK_FTERM	(14 << 6)
-#define CSOR_DSACK_EXTERNAL	(15 << 6)
-#define CSOR_DSACK_MASK		0x03c0
-#define CSOR_SPACE_CPU		0x0000
-#define CSOR_SPACE_USER		0x0010
-#define CSOR_SPACE_SU		0x0020
-#define CSOR_SPACE_BOTH		0x0030
-#define CSOR_SPACE_MASK		0x0030
-#define CSOR_IPL_ALL		0x0000
-#define CSOR_IPL_PRIORITY(x)	(x << 1)
-#define CSOR_IPL_MASK		0x000e
-#define CSOR_AVEC_ON		0x0001
-#define CSOR_AVEC_OFF		0x0000
-#define CSOR_AVEC_MASK		0x0001
-
-#define CSBAR_ADDR(x)		((addr >> 11) << 3) 
-#define CSBAR_ADDR_MASK		0xfff8
-#define CSBAR_BLKSIZE_2K	0x0000
-#define CSBAR_BLKSIZE_8K	0x0001
-#define CSBAR_BLKSIZE_16K	0x0002
-#define CSBAR_BLKSIZE_64K	0x0003
-#define CSBAR_BLKSIZE_128K	0x0004
-#define CSBAR_BLKSIZE_256K	0x0005
-#define CSBAR_BLKSIZE_512K	0x0006
-#define CSBAR_BLKSIZE_1M	0x0007
-#define CSBAR_BLKSIZE_MASK	0x0007
-
-#define CSPAR_DISC	0
-#define CSPAR_ALT	1
-#define CSPAR_CS8	2
-#define CSPAR_CS16	3
-#define CSPAR_MASK	3
-
-#define CSPAR0_CSBOOT(x) (x << 0)
-#define CSPAR0_CS0(x)	(x << 2)
-#define CSPAR0_CS1(x)	(x << 4)
-#define CSPAR0_CS2(x)	(x << 6)
-#define CSPAR0_CS3(x)	(x << 8)
-#define CSPAR0_CS4(x)	(x << 10)
-#define CSPAR0_CS5(x)	(x << 12)
-
-#define CSPAR1_CS6(x)	(x << 0)
-#define CSPAR1_CS7(x)	(x << 2)
-#define CSPAR1_CS8(x)	(x << 4)
-#define CSPAR1_CS9(x)	(x << 6)
-#define CSPAR1_CS10(x)	(x << 8)
-
-#endif

+ 0 - 248
arch/m68k/include/asm/apollodma.h

@@ -1,248 +0,0 @@
-/*
- * linux/include/asm/dma.h: Defines for using and allocating dma channels.
- * Written by Hennus Bergman, 1992.
- * High DMA channel support & info by Hannu Savolainen
- * and John Boyd, Nov. 1992.
- */
-
-#ifndef _ASM_APOLLO_DMA_H
-#define _ASM_APOLLO_DMA_H
-
-#include <asm/apollohw.h>		/* need byte IO */
-#include <linux/spinlock.h>		/* And spinlocks */
-#include <linux/delay.h>
-
-
-#define dma_outb(val,addr) (*((volatile unsigned char *)(addr+IO_BASE)) = (val))
-#define dma_inb(addr)	   (*((volatile unsigned char *)(addr+IO_BASE)))
-
-/*
- * NOTES about DMA transfers:
- *
- *  controller 1: channels 0-3, byte operations, ports 00-1F
- *  controller 2: channels 4-7, word operations, ports C0-DF
- *
- *  - ALL registers are 8 bits only, regardless of transfer size
- *  - channel 4 is not used - cascades 1 into 2.
- *  - channels 0-3 are byte - addresses/counts are for physical bytes
- *  - channels 5-7 are word - addresses/counts are for physical words
- *  - transfers must not cross physical 64K (0-3) or 128K (5-7) boundaries
- *  - transfer count loaded to registers is 1 less than actual count
- *  - controller 2 offsets are all even (2x offsets for controller 1)
- *  - page registers for 5-7 don't use data bit 0, represent 128K pages
- *  - page registers for 0-3 use bit 0, represent 64K pages
- *
- * DMA transfers are limited to the lower 16MB of _physical_ memory.
- * Note that addresses loaded into registers must be _physical_ addresses,
- * not logical addresses (which may differ if paging is active).
- *
- *  Address mapping for channels 0-3:
- *
- *   A23 ... A16 A15 ... A8  A7 ... A0    (Physical addresses)
- *    |  ...  |   |  ... |   |  ... |
- *    |  ...  |   |  ... |   |  ... |
- *    |  ...  |   |  ... |   |  ... |
- *   P7  ...  P0  A7 ... A0  A7 ... A0
- * |    Page    | Addr MSB | Addr LSB |   (DMA registers)
- *
- *  Address mapping for channels 5-7:
- *
- *   A23 ... A17 A16 A15 ... A9 A8 A7 ... A1 A0    (Physical addresses)
- *    |  ...  |   \   \   ... \  \  \  ... \  \
- *    |  ...  |    \   \   ... \  \  \  ... \  (not used)
- *    |  ...  |     \   \   ... \  \  \  ... \
- *   P7  ...  P1 (0) A7 A6  ... A0 A7 A6 ... A0
- * |      Page      |  Addr MSB   |  Addr LSB  |   (DMA registers)
- *
- * Again, channels 5-7 transfer _physical_ words (16 bits), so addresses
- * and counts _must_ be word-aligned (the lowest address bit is _ignored_ at
- * the hardware level, so odd-byte transfers aren't possible).
- *
- * Transfer count (_not # bytes_) is limited to 64K, represented as actual
- * count - 1 : 64K => 0xFFFF, 1 => 0x0000.  Thus, count is always 1 or more,
- * and up to 128K bytes may be transferred on channels 5-7 in one operation.
- *
- */
-
-#define MAX_DMA_CHANNELS	8
-
-/* The maximum address that we can perform a DMA transfer to on this platform */#define MAX_DMA_ADDRESS      (PAGE_OFFSET+0x1000000)
-
-/* 8237 DMA controllers */
-#define IO_DMA1_BASE	0x10C00	/* 8 bit slave DMA, channels 0..3 */
-#define IO_DMA2_BASE	0x10D00	/* 16 bit master DMA, ch 4(=slave input)..7 */
-
-/* DMA controller registers */
-#define DMA1_CMD_REG		(IO_DMA1_BASE+0x08) /* command register (w) */
-#define DMA1_STAT_REG		(IO_DMA1_BASE+0x08) /* status register (r) */
-#define DMA1_REQ_REG            (IO_DMA1_BASE+0x09) /* request register (w) */
-#define DMA1_MASK_REG		(IO_DMA1_BASE+0x0A) /* single-channel mask (w) */
-#define DMA1_MODE_REG		(IO_DMA1_BASE+0x0B) /* mode register (w) */
-#define DMA1_CLEAR_FF_REG	(IO_DMA1_BASE+0x0C) /* clear pointer flip-flop (w) */
-#define DMA1_TEMP_REG           (IO_DMA1_BASE+0x0D) /* Temporary Register (r) */
-#define DMA1_RESET_REG		(IO_DMA1_BASE+0x0D) /* Master Clear (w) */
-#define DMA1_CLR_MASK_REG       (IO_DMA1_BASE+0x0E) /* Clear Mask */
-#define DMA1_MASK_ALL_REG       (IO_DMA1_BASE+0x0F) /* all-channels mask (w) */
-
-#define DMA2_CMD_REG		(IO_DMA2_BASE+0x10) /* command register (w) */
-#define DMA2_STAT_REG		(IO_DMA2_BASE+0x10) /* status register (r) */
-#define DMA2_REQ_REG            (IO_DMA2_BASE+0x12) /* request register (w) */
-#define DMA2_MASK_REG		(IO_DMA2_BASE+0x14) /* single-channel mask (w) */
-#define DMA2_MODE_REG		(IO_DMA2_BASE+0x16) /* mode register (w) */
-#define DMA2_CLEAR_FF_REG	(IO_DMA2_BASE+0x18) /* clear pointer flip-flop (w) */
-#define DMA2_TEMP_REG           (IO_DMA2_BASE+0x1A) /* Temporary Register (r) */
-#define DMA2_RESET_REG		(IO_DMA2_BASE+0x1A) /* Master Clear (w) */
-#define DMA2_CLR_MASK_REG       (IO_DMA2_BASE+0x1C) /* Clear Mask */
-#define DMA2_MASK_ALL_REG       (IO_DMA2_BASE+0x1E) /* all-channels mask (w) */
-
-#define DMA_ADDR_0              (IO_DMA1_BASE+0x00) /* DMA address registers */
-#define DMA_ADDR_1              (IO_DMA1_BASE+0x02)
-#define DMA_ADDR_2              (IO_DMA1_BASE+0x04)
-#define DMA_ADDR_3              (IO_DMA1_BASE+0x06)
-#define DMA_ADDR_4              (IO_DMA2_BASE+0x00)
-#define DMA_ADDR_5              (IO_DMA2_BASE+0x04)
-#define DMA_ADDR_6              (IO_DMA2_BASE+0x08)
-#define DMA_ADDR_7              (IO_DMA2_BASE+0x0C)
-
-#define DMA_CNT_0               (IO_DMA1_BASE+0x01)   /* DMA count registers */
-#define DMA_CNT_1               (IO_DMA1_BASE+0x03)
-#define DMA_CNT_2               (IO_DMA1_BASE+0x05)
-#define DMA_CNT_3               (IO_DMA1_BASE+0x07)
-#define DMA_CNT_4               (IO_DMA2_BASE+0x02)
-#define DMA_CNT_5               (IO_DMA2_BASE+0x06)
-#define DMA_CNT_6               (IO_DMA2_BASE+0x0A)
-#define DMA_CNT_7               (IO_DMA2_BASE+0x0E)
-
-#define DMA_MODE_READ	0x44	/* I/O to memory, no autoinit, increment, single mode */
-#define DMA_MODE_WRITE	0x48	/* memory to I/O, no autoinit, increment, single mode */
-#define DMA_MODE_CASCADE 0xC0   /* pass thru DREQ->HRQ, DACK<-HLDA only */
-
-#define DMA_AUTOINIT	0x10
-
-#define DMA_8BIT 0
-#define DMA_16BIT 1
-#define DMA_BUSMASTER 2
-
-extern spinlock_t  dma_spin_lock;
-
-static __inline__ unsigned long claim_dma_lock(void)
-{
-	unsigned long flags;
-	spin_lock_irqsave(&dma_spin_lock, flags);
-	return flags;
-}
-
-static __inline__ void release_dma_lock(unsigned long flags)
-{
-	spin_unlock_irqrestore(&dma_spin_lock, flags);
-}
-
-/* enable/disable a specific DMA channel */
-static __inline__ void enable_dma(unsigned int dmanr)
-{
-	if (dmanr<=3)
-		dma_outb(dmanr,  DMA1_MASK_REG);
-	else
-		dma_outb(dmanr & 3,  DMA2_MASK_REG);
-}
-
-static __inline__ void disable_dma(unsigned int dmanr)
-{
-	if (dmanr<=3)
-		dma_outb(dmanr | 4,  DMA1_MASK_REG);
-	else
-		dma_outb((dmanr & 3) | 4,  DMA2_MASK_REG);
-}
-
-/* Clear the 'DMA Pointer Flip Flop'.
- * Write 0 for LSB/MSB, 1 for MSB/LSB access.
- * Use this once to initialize the FF to a known state.
- * After that, keep track of it. :-)
- * --- In order to do that, the DMA routines below should ---
- * --- only be used while holding the DMA lock ! ---
- */
-static __inline__ void clear_dma_ff(unsigned int dmanr)
-{
-	if (dmanr<=3)
-		dma_outb(0,  DMA1_CLEAR_FF_REG);
-	else
-		dma_outb(0,  DMA2_CLEAR_FF_REG);
-}
-
-/* set mode (above) for a specific DMA channel */
-static __inline__ void set_dma_mode(unsigned int dmanr, char mode)
-{
-	if (dmanr<=3)
-		dma_outb(mode | dmanr,  DMA1_MODE_REG);
-	else
-		dma_outb(mode | (dmanr&3),  DMA2_MODE_REG);
-}
-
-/* Set transfer address & page bits for specific DMA channel.
- * Assumes dma flipflop is clear.
- */
-static __inline__ void set_dma_addr(unsigned int dmanr, unsigned int a)
-{
-	if (dmanr <= 3)  {
-	    dma_outb( a & 0xff, ((dmanr&3)<<1) + IO_DMA1_BASE );
-            dma_outb( (a>>8) & 0xff, ((dmanr&3)<<1) + IO_DMA1_BASE );
-	}  else  {
-	    dma_outb( (a>>1) & 0xff, ((dmanr&3)<<2) + IO_DMA2_BASE );
-	    dma_outb( (a>>9) & 0xff, ((dmanr&3)<<2) + IO_DMA2_BASE );
-	}
-}
-
-
-/* Set transfer size (max 64k for DMA1..3, 128k for DMA5..7) for
- * a specific DMA channel.
- * You must ensure the parameters are valid.
- * NOTE: from a manual: "the number of transfers is one more
- * than the initial word count"! This is taken into account.
- * Assumes dma flip-flop is clear.
- * NOTE 2: "count" represents _bytes_ and must be even for channels 5-7.
- */
-static __inline__ void set_dma_count(unsigned int dmanr, unsigned int count)
-{
-        count--;
-	if (dmanr <= 3)  {
-	    dma_outb( count & 0xff, ((dmanr&3)<<1) + 1 + IO_DMA1_BASE );
-	    dma_outb( (count>>8) & 0xff, ((dmanr&3)<<1) + 1 + IO_DMA1_BASE );
-        } else {
-	    dma_outb( (count>>1) & 0xff, ((dmanr&3)<<2) + 2 + IO_DMA2_BASE );
-	    dma_outb( (count>>9) & 0xff, ((dmanr&3)<<2) + 2 + IO_DMA2_BASE );
-        }
-}
-
-
-/* Get DMA residue count. After a DMA transfer, this
- * should return zero. Reading this while a DMA transfer is
- * still in progress will return unpredictable results.
- * If called before the channel has been used, it may return 1.
- * Otherwise, it returns the number of _bytes_ left to transfer.
- *
- * Assumes DMA flip-flop is clear.
- */
-static __inline__ int get_dma_residue(unsigned int dmanr)
-{
-	unsigned int io_port = (dmanr<=3)? ((dmanr&3)<<1) + 1 + IO_DMA1_BASE
-					 : ((dmanr&3)<<2) + 2 + IO_DMA2_BASE;
-
-	/* using short to get 16-bit wrap around */
-	unsigned short count;
-
-	count = 1 + dma_inb(io_port);
-	count += dma_inb(io_port) << 8;
-
-	return (dmanr<=3)? count : (count<<1);
-}
-
-
-/* These are in kernel/dma.c: */
-extern int request_dma(unsigned int dmanr, const char * device_id);	/* reserve a DMA channel */
-extern void free_dma(unsigned int dmanr);	/* release it again */
-
-/* These are in arch/m68k/apollo/dma.c: */
-extern unsigned short dma_map_page(unsigned long phys_addr,int count,int type);
-extern void dma_unmap_page(unsigned short dma_addr);
-
-#endif /* _ASM_APOLLO_DMA_H */

+ 1 - 1
arch/m68k/include/asm/apollohw.h

@@ -98,7 +98,7 @@ extern u_long timer_physaddr;
 #define cpuctrl (*(volatile unsigned int *)(IO_BASE + cpuctrl_physaddr))
 #define cpuctrl (*(volatile unsigned int *)(IO_BASE + cpuctrl_physaddr))
 #define pica (IO_BASE + pica_physaddr)
 #define pica (IO_BASE + pica_physaddr)
 #define picb (IO_BASE + picb_physaddr)
 #define picb (IO_BASE + picb_physaddr)
-#define timer (IO_BASE + timer_physaddr)
+#define apollo_timer (IO_BASE + timer_physaddr)
 #define addr_xlat_map ((unsigned short *)(IO_BASE + 0x17000))
 #define addr_xlat_map ((unsigned short *)(IO_BASE + 0x17000))
 
 
 #define isaIO2mem(x) (((((x) & 0x3f8)  << 7) | (((x) & 0xfc00) >> 6) | ((x) & 0x7)) + 0x40000 + IO_BASE)
 #define isaIO2mem(x) (((((x) & 0x3f8)  << 7) | (((x) & 0xfc00) >> 6) | ((x) & 0x7)) + 0x40000 + IO_BASE)

+ 0 - 1
arch/m68k/include/asm/bitsperlong.h

@@ -1 +0,0 @@
-#include <asm-generic/bitsperlong.h>

+ 0 - 6
arch/m68k/include/asm/cputime.h

@@ -1,6 +0,0 @@
-#ifndef __M68K_CPUTIME_H
-#define __M68K_CPUTIME_H
-
-#include <asm-generic/cputime.h>
-
-#endif /* __M68K_CPUTIME_H */

+ 1 - 1
arch/m68k/include/asm/delay.h

@@ -43,7 +43,7 @@ static inline void __delay(unsigned long loops)
 extern void __bad_udelay(void);
 extern void __bad_udelay(void);
 
 
 
 
-#if defined(CONFIG_M68000) || defined(CONFIG_COLDFIRE)
+#ifdef CONFIG_CPU_HAS_NO_MULDIV64
 /*
 /*
  * The simpler m68k and ColdFire processors do not have a 32*32->64
  * The simpler m68k and ColdFire processors do not have a 32*32->64
  * multiply instruction. So we need to handle them a little differently.
  * multiply instruction. So we need to handle them a little differently.

+ 0 - 7
arch/m68k/include/asm/device.h

@@ -1,7 +0,0 @@
-/*
- * Arch specific extensions to struct device
- *
- * This file is released under the GPLv2
- */
-#include <asm-generic/device.h>
-

+ 0 - 6
arch/m68k/include/asm/emergency-restart.h

@@ -1,6 +0,0 @@
-#ifndef _ASM_EMERGENCY_RESTART_H
-#define _ASM_EMERGENCY_RESTART_H
-
-#include <asm-generic/emergency-restart.h>
-
-#endif /* _ASM_EMERGENCY_RESTART_H */

+ 0 - 6
arch/m68k/include/asm/errno.h

@@ -1,6 +0,0 @@
-#ifndef _M68K_ERRNO_H
-#define _M68K_ERRNO_H
-
-#include <asm-generic/errno.h>
-
-#endif /* _M68K_ERRNO_H */

+ 0 - 6
arch/m68k/include/asm/futex.h

@@ -1,6 +0,0 @@
-#ifndef _ASM_FUTEX_H
-#define _ASM_FUTEX_H
-
-#include <asm-generic/futex.h>
-
-#endif

+ 0 - 1
arch/m68k/include/asm/ioctl.h

@@ -1 +0,0 @@
-#include <asm-generic/ioctl.h>

+ 0 - 1
arch/m68k/include/asm/ipcbuf.h

@@ -1 +0,0 @@
-#include <asm-generic/ipcbuf.h>

+ 0 - 1
arch/m68k/include/asm/irq_regs.h

@@ -1 +0,0 @@
-#include <asm-generic/irq_regs.h>

+ 0 - 1
arch/m68k/include/asm/kdebug.h

@@ -1 +0,0 @@
-#include <asm-generic/kdebug.h>

+ 0 - 6
arch/m68k/include/asm/kmap_types.h

@@ -1,6 +0,0 @@
-#ifndef __ASM_M68K_KMAP_TYPES_H
-#define __ASM_M68K_KMAP_TYPES_H
-
-#include <asm-generic/kmap_types.h>
-
-#endif	/* __ASM_M68K_KMAP_TYPES_H */

+ 0 - 1
arch/m68k/include/asm/kvm_para.h

@@ -1 +0,0 @@
-#include <asm-generic/kvm_para.h>

+ 0 - 6
arch/m68k/include/asm/local.h

@@ -1,6 +0,0 @@
-#ifndef _ASM_M68K_LOCAL_H
-#define _ASM_M68K_LOCAL_H
-
-#include <asm-generic/local.h>
-
-#endif /* _ASM_M68K_LOCAL_H */

+ 0 - 1
arch/m68k/include/asm/local64.h

@@ -1 +0,0 @@
-#include <asm-generic/local64.h>

+ 0 - 23
arch/m68k/include/asm/mac_mouse.h

@@ -1,23 +0,0 @@
-#ifndef _ASM_MAC_MOUSE_H
-#define _ASM_MAC_MOUSE_H
-
-/*
- * linux/include/asm-m68k/mac_mouse.h
- * header file for Macintosh ADB mouse driver
- * 27-10-97 Michael Schmitz
- * copied from:
- * header file for Atari Mouse driver
- * by Robert de Vries (robert@and.nl) on 19Jul93
- */
-
-struct mouse_status {
-	char		buttons;
-	short		dx;
-	short		dy;
-	int		ready;
-	int		active;
-	wait_queue_head_t wait;
-	struct fasync_struct *fasyncptr;
-};
-
-#endif

+ 0 - 77
arch/m68k/include/asm/mcfmbus.h

@@ -1,77 +0,0 @@
-/****************************************************************************/
-
-/*
- *      mcfmbus.h -- Coldfire MBUS support defines.
- *
- *      (C) Copyright 1999, Martin Floeer (mfloeer@axcent.de) 
- */
-
-/****************************************************************************/
-
-
-#ifndef mcfmbus_h
-#define mcfmbus_h
-
-
-#define MCFMBUS_BASE		0x280
-#define MCFMBUS_IRQ_VECTOR	0x19
-#define MCFMBUS_IRQ		0x1
-#define MCFMBUS_CLK		0x3f
-#define MCFMBUS_IRQ_LEVEL	0x07	/*IRQ Level 1*/
-#define MCFMBUS_ADDRESS		0x01
-
-
-/*
-*	Define the 5307 MBUS register set addresses
-*/
-
-#define MCFMBUS_MADR	0x00
-#define MCFMBUS_MFDR	0x04
-#define MCFMBUS_MBCR	0x08
-#define MCFMBUS_MBSR	0x0C
-#define MCFMBUS_MBDR	0x10
-
-
-#define MCFMBUS_MADR_ADDR(a)	(((a)&0x7F)<<0x01) /*Slave Address*/
-
-#define MCFMBUS_MFDR_MBC(a)	((a)&0x3F)	   /*M-Bus Clock*/
-
-/*
-*	Define bit flags in Control Register
-*/
-
-#define MCFMBUS_MBCR_MEN           (0x80)  /* M-Bus Enable                 */
-#define MCFMBUS_MBCR_MIEN          (0x40)  /* M-Bus Interrupt Enable       */
-#define MCFMBUS_MBCR_MSTA          (0x20)  /* Master/Slave Mode Select Bit */
-#define MCFMBUS_MBCR_MTX           (0x10)  /* Transmit/Rcv Mode Select Bit */
-#define MCFMBUS_MBCR_TXAK          (0x08)  /* Transmit Acknowledge Enable  */
-#define MCFMBUS_MBCR_RSTA          (0x04)  /* Repeat Start                 */
-
-/*
-*	Define bit flags in Status Register
-*/
-
-#define MCFMBUS_MBSR_MCF           (0x80)  /* Data Transfer Complete       */
-#define MCFMBUS_MBSR_MAAS          (0x40)  /* Addressed as a Slave         */
-#define MCFMBUS_MBSR_MBB           (0x20)  /* Bus Busy                     */
-#define MCFMBUS_MBSR_MAL           (0x10)  /* Arbitration Lost             */
-#define MCFMBUS_MBSR_SRW           (0x04)  /* Slave Transmit               */
-#define MCFMBUS_MBSR_MIF           (0x02)  /* M-Bus Interrupt              */
-#define MCFMBUS_MBSR_RXAK          (0x01)  /* No Acknowledge Received      */
-
-/*
-*	Define bit flags in DATA I/O Register
-*/
-
-#define MCFMBUS_MBDR_READ          (0x01)  /* 1=read 0=write MBUS */
-
-#define MBUSIOCSCLOCK		1
-#define MBUSIOCGCLOCK		2
-#define MBUSIOCSADDR			3
-#define MBUSIOCGADDR			4
-#define MBUSIOCSSLADDR			5
-#define MBUSIOCGSLADDR			6
-#define MBUSIOCSSUBADDR			7
-#define MBUSIOCGSUBADDR			8
-
-#endif

+ 0 - 1
arch/m68k/include/asm/mman.h

@@ -1 +0,0 @@
-#include <asm-generic/mman.h>

+ 0 - 9
arch/m68k/include/asm/mutex.h

@@ -1,9 +0,0 @@
-/*
- * Pull in the generic implementation for the mutex fastpath.
- *
- * TODO: implement optimized primitives instead, or leave the generic
- * implementation in place, or pick the atomic_xchg() based generic
- * implementation. (see asm-generic/mutex-xchg.h for details)
- */
-
-#include <asm-generic/mutex-dec.h>

+ 0 - 6
arch/m68k/include/asm/percpu.h

@@ -1,6 +0,0 @@
-#ifndef __ASM_M68K_PERCPU_H
-#define __ASM_M68K_PERCPU_H
-
-#include <asm-generic/percpu.h>
-
-#endif	/* __ASM_M68K_PERCPU_H */

+ 0 - 6
arch/m68k/include/asm/resource.h

@@ -1,6 +0,0 @@
-#ifndef _M68K_RESOURCE_H
-#define _M68K_RESOURCE_H
-
-#include <asm-generic/resource.h>
-
-#endif /* _M68K_RESOURCE_H */

+ 0 - 45
arch/m68k/include/asm/sbus.h

@@ -1,45 +0,0 @@
-/*
- * some sbus structures and macros to make usage of sbus drivers possible
- */
-
-#ifndef __M68K_SBUS_H
-#define __M68K_SBUS_H
-
-struct sbus_dev {
-	struct {
-		unsigned int which_io;
-		unsigned int phys_addr;
-	} reg_addrs[1];
-};
-
-/* sbus IO functions stolen from include/asm-sparc/io.h for the serial driver */
-/* No SBUS on the Sun3, kludge -- sam */
-
-static inline void _sbus_writeb(unsigned char val, unsigned long addr)
-{
-	*(volatile unsigned char *)addr = val;
-}
-
-static inline unsigned char _sbus_readb(unsigned long addr)
-{
-	return *(volatile unsigned char *)addr;
-}
-
-static inline void _sbus_writel(unsigned long val, unsigned long addr)
-{
-	*(volatile unsigned long *)addr = val;
-
-}
-
-extern inline unsigned long _sbus_readl(unsigned long addr)
-{
-	return *(volatile unsigned long *)addr;
-}
-
-
-#define sbus_readb(a) _sbus_readb((unsigned long)a)
-#define sbus_writeb(v, a) _sbus_writeb(v, (unsigned long)a)
-#define sbus_readl(a) _sbus_readl((unsigned long)a)
-#define sbus_writel(v, a) _sbus_writel(v, (unsigned long)a)
-
-#endif

+ 0 - 6
arch/m68k/include/asm/scatterlist.h

@@ -1,6 +0,0 @@
-#ifndef _M68K_SCATTERLIST_H
-#define _M68K_SCATTERLIST_H
-
-#include <asm-generic/scatterlist.h>
-
-#endif /* !(_M68K_SCATTERLIST_H) */

+ 0 - 8
arch/m68k/include/asm/sections.h

@@ -1,8 +0,0 @@
-#ifndef _ASM_M68K_SECTIONS_H
-#define _ASM_M68K_SECTIONS_H
-
-#include <asm-generic/sections.h>
-
-extern char _sbss[], _ebss[];
-
-#endif /* _ASM_M68K_SECTIONS_H */

+ 0 - 31
arch/m68k/include/asm/shm.h

@@ -1,31 +0,0 @@
-#ifndef _M68K_SHM_H
-#define _M68K_SHM_H
-
-
-/* format of page table entries that correspond to shared memory pages
-   currently out in swap space (see also mm/swap.c):
-   bits 0-1 (PAGE_PRESENT) is  = 0
-   bits 8..2 (SWP_TYPE) are = SHM_SWP_TYPE
-   bits 31..9 are used like this:
-   bits 15..9 (SHM_ID) the id of the shared memory segment
-   bits 30..16 (SHM_IDX) the index of the page within the shared memory segment
-                    (actually only bits 25..16 get used since SHMMAX is so low)
-   bit 31 (SHM_READ_ONLY) flag whether the page belongs to a read-only attach
-*/
-/* on the m68k both bits 0 and 1 must be zero */
-/* format on the sun3 is similar, but bits 30, 31 are set to zero and all
-   others are reduced by 2. --m */
-
-#ifndef CONFIG_SUN3
-#define SHM_ID_SHIFT	9
-#else
-#define SHM_ID_SHIFT	7
-#endif
-#define _SHM_ID_BITS	7
-#define SHM_ID_MASK	((1<<_SHM_ID_BITS)-1)
-
-#define SHM_IDX_SHIFT	(SHM_ID_SHIFT+_SHM_ID_BITS)
-#define _SHM_IDX_BITS	15
-#define SHM_IDX_MASK	((1<<_SHM_IDX_BITS)-1)
-
-#endif /* _M68K_SHM_H */

+ 0 - 6
arch/m68k/include/asm/siginfo.h

@@ -1,6 +0,0 @@
-#ifndef _M68K_SIGINFO_H
-#define _M68K_SIGINFO_H
-
-#include <asm-generic/siginfo.h>
-
-#endif

+ 0 - 6
arch/m68k/include/asm/statfs.h

@@ -1,6 +0,0 @@
-#ifndef _M68K_STATFS_H
-#define _M68K_STATFS_H
-
-#include <asm-generic/statfs.h>
-
-#endif /* _M68K_STATFS_H */

+ 0 - 6
arch/m68k/include/asm/topology.h

@@ -1,6 +0,0 @@
-#ifndef _ASM_M68K_TOPOLOGY_H
-#define _ASM_M68K_TOPOLOGY_H
-
-#include <asm-generic/topology.h>
-
-#endif /* _ASM_M68K_TOPOLOGY_H */

+ 0 - 22
arch/m68k/include/asm/types.h

@@ -1,22 +0,0 @@
-#ifndef _M68K_TYPES_H
-#define _M68K_TYPES_H
-
-/*
- * This file is never included by application software unless
- * explicitly requested (e.g., via linux/types.h) in which case the
- * application is Linux specific so (user-) name space pollution is
- * not a major issue.  However, for interoperability, libraries still
- * need to be careful to avoid a name clashes.
- */
-#include <asm-generic/int-ll64.h>
-
-/*
- * These aren't exported outside the kernel to avoid name space clashes
- */
-#ifdef __KERNEL__
-
-#define BITS_PER_LONG 32
-
-#endif /* __KERNEL__ */
-
-#endif /* _M68K_TYPES_H */

+ 2 - 2
arch/m68k/include/asm/unaligned.h

@@ -2,7 +2,7 @@
 #define _ASM_M68K_UNALIGNED_H
 #define _ASM_M68K_UNALIGNED_H
 
 
 
 
-#if defined(CONFIG_COLDFIRE) || defined(CONFIG_M68000)
+#ifdef CONFIG_CPU_HAS_NO_UNALIGNED
 #include <linux/unaligned/be_struct.h>
 #include <linux/unaligned/be_struct.h>
 #include <linux/unaligned/le_byteshift.h>
 #include <linux/unaligned/le_byteshift.h>
 #include <linux/unaligned/generic.h>
 #include <linux/unaligned/generic.h>
@@ -12,7 +12,7 @@
 
 
 #else
 #else
 /*
 /*
- * The m68k can do unaligned accesses itself. 
+ * The m68k can do unaligned accesses itself.
  */
  */
 #include <linux/unaligned/access_ok.h>
 #include <linux/unaligned/access_ok.h>
 #include <linux/unaligned/generic.h>
 #include <linux/unaligned/generic.h>

+ 0 - 1
arch/m68k/include/asm/xor.h

@@ -1 +0,0 @@
-#include <asm-generic/xor.h>

+ 4 - 7
arch/m68k/kernel/setup_no.c

@@ -218,13 +218,10 @@ void __init setup_arch(char **cmdline_p)
 	printk(KERN_INFO "Motorola M5235EVB support (C)2005 Syn-tech Systems, Inc. (Jate Sujjavanich)\n");
 	printk(KERN_INFO "Motorola M5235EVB support (C)2005 Syn-tech Systems, Inc. (Jate Sujjavanich)\n");
 #endif
 #endif
 
 
-	pr_debug("KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x "
-		 "BSS=0x%06x-0x%06x\n", (int) &_stext, (int) &_etext,
-		 (int) &_sdata, (int) &_edata,
-		 (int) &_sbss, (int) &_ebss);
-	pr_debug("MEMORY -> ROMFS=0x%06x-0x%06x MEM=0x%06x-0x%06x\n ",
-		 (int) &_ebss, (int) memory_start,
-		 (int) memory_start, (int) memory_end);
+	pr_debug("KERNEL -> TEXT=0x%p-0x%p DATA=0x%p-0x%p BSS=0x%p-0x%p\n",
+		 _stext, _etext, _sdata, _edata, __bss_start, __bss_stop);
+	pr_debug("MEMORY -> ROMFS=0x%p-0x%06lx MEM=0x%06lx-0x%06lx\n ",
+		 __bss_stop, memory_start, memory_start, memory_end);
 
 
 	/* Keep a copy of command line */
 	/* Keep a copy of command line */
 	*cmdline_p = &command_line[0];
 	*cmdline_p = &command_line[0];

+ 6 - 2
arch/m68k/kernel/sys_m68k.c

@@ -479,9 +479,13 @@ sys_atomic_cmpxchg_32(unsigned long newval, int oldval, int d3, int d4, int d5,
 			goto bad_access;
 			goto bad_access;
 		}
 		}
 
 
-		mem_value = *mem;
+		/*
+		 * No need to check for EFAULT; we know that the page is
+		 * present and writable.
+		 */
+		__get_user(mem_value, mem);
 		if (mem_value == oldval)
 		if (mem_value == oldval)
-			*mem = newval;
+			__put_user(newval, mem);
 
 
 		pte_unmap_unlock(pte, ptl);
 		pte_unmap_unlock(pte, ptl);
 		up_read(&mm->mmap_sem);
 		up_read(&mm->mmap_sem);

+ 0 - 2
arch/m68k/kernel/vmlinux-nommu.lds

@@ -78,9 +78,7 @@ SECTIONS {
 		__init_end = .;
 		__init_end = .;
 	}
 	}
 
 
-	_sbss = .;
 	BSS_SECTION(0, 0, 0)
 	BSS_SECTION(0, 0, 0)
-	_ebss = .;
 
 
 	_end = .;
 	_end = .;
 
 

+ 0 - 2
arch/m68k/kernel/vmlinux-std.lds

@@ -31,9 +31,7 @@ SECTIONS
 
 
   RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE)
   RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE)
 
 
-  _sbss = .;
   BSS_SECTION(0, 0, 0)
   BSS_SECTION(0, 0, 0)
-  _ebss = .;
 
 
   _edata = .;			/* End of data section */
   _edata = .;			/* End of data section */
 
 

+ 0 - 2
arch/m68k/kernel/vmlinux-sun3.lds

@@ -44,9 +44,7 @@ __init_begin = .;
 	. = ALIGN(PAGE_SIZE);
 	. = ALIGN(PAGE_SIZE);
 	__init_end = .;
 	__init_end = .;
 
 
-  _sbss = .;
   BSS_SECTION(0, 0, 0)
   BSS_SECTION(0, 0, 0)
-  _ebss = .;
 
 
   _end = . ;
   _end = . ;
 
 

+ 1 - 1
arch/m68k/lib/muldi3.c

@@ -19,7 +19,7 @@ along with GNU CC; see the file COPYING.  If not, write to
 the Free Software Foundation, 59 Temple Place - Suite 330,
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 Boston, MA 02111-1307, USA.  */
 
 
-#if defined(CONFIG_M68000) || defined(CONFIG_COLDFIRE)
+#ifdef CONFIG_CPU_HAS_NO_MULDIV64
 
 
 #define SI_TYPE_SIZE 32
 #define SI_TYPE_SIZE 32
 #define __BITS4 (SI_TYPE_SIZE / 4)
 #define __BITS4 (SI_TYPE_SIZE / 4)

+ 1 - 1
arch/m68k/mm/init_mm.c

@@ -104,7 +104,7 @@ void __init print_memmap(void)
 		MLK_ROUNDUP(__init_begin, __init_end),
 		MLK_ROUNDUP(__init_begin, __init_end),
 		MLK_ROUNDUP(_stext, _etext),
 		MLK_ROUNDUP(_stext, _etext),
 		MLK_ROUNDUP(_sdata, _edata),
 		MLK_ROUNDUP(_sdata, _edata),
-		MLK_ROUNDUP(_sbss, _ebss));
+		MLK_ROUNDUP(__bss_start, __bss_stop));
 }
 }
 
 
 void __init mem_init(void)
 void __init mem_init(void)

+ 1 - 1
arch/m68k/mm/init_no.c

@@ -91,7 +91,7 @@ void __init mem_init(void)
 	totalram_pages = free_all_bootmem();
 	totalram_pages = free_all_bootmem();
 
 
 	codek = (_etext - _stext) >> 10;
 	codek = (_etext - _stext) >> 10;
-	datak = (_ebss - _sdata) >> 10;
+	datak = (__bss_stop - _sdata) >> 10;
 	initk = (__init_begin - __init_end) >> 10;
 	initk = (__init_begin - __init_end) >> 10;
 
 
 	tmp = nr_free_pages() << PAGE_SHIFT;
 	tmp = nr_free_pages() << PAGE_SHIFT;

+ 4 - 4
arch/m68k/platform/68328/head-de2.S

@@ -60,8 +60,8 @@ _start:
  *	Move ROM filesystem above bss :-)
  *	Move ROM filesystem above bss :-)
  */
  */
 
 
-	moveal	#_sbss, %a0			/* romfs at the start of bss */
-	moveal	#_ebss, %a1			/* Set up destination  */
+	moveal	#__bss_start, %a0		/* romfs at the start of bss */
+	moveal	#__bss_stop, %a1		/* Set up destination  */
 	movel	%a0, %a2			/* Copy of bss start */
 	movel	%a0, %a2			/* Copy of bss start */
 
 
 	movel	8(%a0), %d1			/* Get size of ROMFS */
 	movel	8(%a0), %d1			/* Get size of ROMFS */
@@ -84,8 +84,8 @@ _start:
  * Initialize BSS segment to 0
  * Initialize BSS segment to 0
  */
  */
 
 
-	lea	_sbss, %a0
-	lea	_ebss, %a1
+	lea	__bss_start, %a0
+	lea	__bss_stop, %a1
 
 
 	/* Copy 0 to %a0 until %a0 == %a1 */
 	/* Copy 0 to %a0 until %a0 == %a1 */
 2:	cmpal	%a0, %a1
 2:	cmpal	%a0, %a1

+ 5 - 5
arch/m68k/platform/68328/head-pilot.S

@@ -110,7 +110,7 @@ L0:
 	movel	#CONFIG_VECTORBASE, %d7
 	movel	#CONFIG_VECTORBASE, %d7
 	addl	#16, %d7
 	addl	#16, %d7
 	moveal	%d7, %a0
 	moveal	%d7, %a0
-	moveal	#_ebss, %a1
+	moveal	#__bss_stop, %a1
 	lea	%a1@(512), %a2
 	lea	%a1@(512), %a2
 
 
 	DBG_PUTC('C')
 	DBG_PUTC('C')
@@ -138,8 +138,8 @@ LD1:
 
 
 	DBG_PUTC('E')
 	DBG_PUTC('E')
 
 
-	moveal	#_sbss, %a0
-	moveal	#_ebss, %a1
+	moveal	#__bss_start, %a0
+	moveal	#__bss_stop, %a1
 
 
 	/* Copy 0 to %a0 until %a0 == %a1 */
 	/* Copy 0 to %a0 until %a0 == %a1 */
 L1:
 L1:
@@ -150,7 +150,7 @@ L1:
 	DBG_PUTC('F')
 	DBG_PUTC('F')
 
 
 	/* Copy command line from end of bss to command line */
 	/* Copy command line from end of bss to command line */
-	moveal	#_ebss, %a0
+	moveal	#__bss_stop, %a0
 	moveal	#command_line, %a1
 	moveal	#command_line, %a1
 	lea	%a1@(512), %a2
 	lea	%a1@(512), %a2
 
 
@@ -165,7 +165,7 @@ L3:
 
 
 	movel	#_sdata, %d0	
 	movel	#_sdata, %d0	
 	movel	%d0, _rambase	
 	movel	%d0, _rambase	
-	movel	#_ebss,	%d0
+	movel	#__bss_stop, %d0
 	movel	%d0, _ramstart
 	movel	%d0, _ramstart
 
 
 	movel	%a4, %d0
 	movel	%a4, %d0

+ 2 - 2
arch/m68k/platform/68328/head-ram.S

@@ -76,8 +76,8 @@ pclp3:
 	beq	pclp3
 	beq	pclp3
 #endif /* DEBUG */
 #endif /* DEBUG */
 	moveal	#0x007ffff0, %ssp
 	moveal	#0x007ffff0, %ssp
-	moveal	#_sbss, %a0
-	moveal	#_ebss, %a1
+	moveal	#__bss_start, %a0
+	moveal	#__bss_stop, %a1
 
 
 	/* Copy 0 to %a0 until %a0 >= %a1 */
 	/* Copy 0 to %a0 until %a0 >= %a1 */
 L1:
 L1:

+ 3 - 3
arch/m68k/platform/68328/head-rom.S

@@ -59,8 +59,8 @@ _stext:	movew	#0x2700,%sr
 	cmpal	%a1, %a2
 	cmpal	%a1, %a2
 	bhi	1b
 	bhi	1b
 
 
-	moveal	#_sbss, %a0
-	moveal	#_ebss, %a1
+	moveal	#__bss_start, %a0
+	moveal	#__bss_stop, %a1
 	/* Copy 0 to %a0 until %a0 == %a1 */
 	/* Copy 0 to %a0 until %a0 == %a1 */
 	
 	
 1:
 1:
@@ -70,7 +70,7 @@ _stext:	movew	#0x2700,%sr
 
 
         movel   #_sdata, %d0    
         movel   #_sdata, %d0    
         movel   %d0, _rambase        
         movel   %d0, _rambase        
-        movel   #_ebss, %d0
+        movel   #__bss_stop, %d0
         movel   %d0, _ramstart
         movel   %d0, _ramstart
 	movel	#RAMEND-CONFIG_MEMORY_RESERVE*0x100000, %d0
 	movel	#RAMEND-CONFIG_MEMORY_RESERVE*0x100000, %d0
 	movel	%d0, _ramend
 	movel	%d0, _ramend

+ 3 - 3
arch/m68k/platform/68360/head-ram.S

@@ -219,8 +219,8 @@ LD1:
 	cmp.l	#_edata, %a1
 	cmp.l	#_edata, %a1
 	blt     LD1
 	blt     LD1
 
 
-	moveal	#_sbss, %a0
-	moveal	#_ebss, %a1
+	moveal	#__bss_start, %a0
+	moveal	#__bss_stop, %a1
 
 
 	/* Copy 0 to %a0 until %a0 == %a1 */
 	/* Copy 0 to %a0 until %a0 == %a1 */
 L1:
 L1:
@@ -234,7 +234,7 @@ load_quicc:
 store_ram_size:
 store_ram_size:
 	/* Set ram size information */
 	/* Set ram size information */
 	move.l	#_sdata, _rambase
 	move.l	#_sdata, _rambase
-	move.l	#_ebss, _ramstart
+	move.l	#__bss_stop, _ramstart
 	move.l	#RAMEND, %d0
 	move.l	#RAMEND, %d0
 	sub.l	#0x1000, %d0			/* Reserve 4K for stack space.*/
 	sub.l	#0x1000, %d0			/* Reserve 4K for stack space.*/
 	move.l	%d0, _ramend			/* Different from RAMEND.*/
 	move.l	%d0, _ramend			/* Different from RAMEND.*/

+ 4 - 4
arch/m68k/platform/68360/head-rom.S

@@ -13,7 +13,7 @@
  */
  */
 
 
 .global _stext
 .global _stext
-.global _sbss
+.global __bss_start
 .global _start
 .global _start
 
 
 .global _rambase
 .global _rambase
@@ -229,8 +229,8 @@ LD1:
 	cmp.l	#_edata, %a1
 	cmp.l	#_edata, %a1
 	blt	LD1
 	blt	LD1
 
 
-	moveal	#_sbss, %a0
-	moveal	#_ebss, %a1
+	moveal	#__bss_start, %a0
+	moveal	#__bss_stop, %a1
 
 
 	/* Copy 0 to %a0 until %a0 == %a1 */
 	/* Copy 0 to %a0 until %a0 == %a1 */
 L1:
 L1:
@@ -244,7 +244,7 @@ load_quicc:
 store_ram_size:
 store_ram_size:
 	/* Set ram size information */
 	/* Set ram size information */
 	move.l	#_sdata, _rambase
 	move.l	#_sdata, _rambase
-	move.l	#_ebss, _ramstart
+	move.l	#__bss_stop, _ramstart
 	move.l	#RAMEND, %d0
 	move.l	#RAMEND, %d0
 	sub.l	#0x1000, %d0			/* Reserve 4K for stack space.*/
 	sub.l	#0x1000, %d0			/* Reserve 4K for stack space.*/
 	move.l	%d0, _ramend			/* Different from RAMEND.*/
 	move.l	%d0, _ramend			/* Different from RAMEND.*/

+ 5 - 5
arch/m68k/platform/coldfire/head.S

@@ -230,8 +230,8 @@ _vstart:
 	/*
 	/*
 	 *	Move ROM filesystem above bss :-)
 	 *	Move ROM filesystem above bss :-)
 	 */
 	 */
-	lea	_sbss,%a0			/* get start of bss */
-	lea	_ebss,%a1			/* set up destination  */
+	lea	__bss_start,%a0			/* get start of bss */
+	lea	__bss_stop,%a1			/* set up destination  */
 	movel	%a0,%a2				/* copy of bss start */
 	movel	%a0,%a2				/* copy of bss start */
 
 
 	movel	8(%a0),%d0			/* get size of ROMFS */
 	movel	8(%a0),%d0			/* get size of ROMFS */
@@ -249,7 +249,7 @@ _copy_romfs:
 	bne	_copy_romfs
 	bne	_copy_romfs
 
 
 #else /* CONFIG_ROMFS_FS */
 #else /* CONFIG_ROMFS_FS */
-	lea	_ebss,%a1
+	lea	__bss_stop,%a1
 	movel	%a1,_ramstart
 	movel	%a1,_ramstart
 #endif /* CONFIG_ROMFS_FS */
 #endif /* CONFIG_ROMFS_FS */
 
 
@@ -257,8 +257,8 @@ _copy_romfs:
 	/*
 	/*
 	 *	Zero out the bss region.
 	 *	Zero out the bss region.
 	 */
 	 */
-	lea	_sbss,%a0			/* get start of bss */
-	lea	_ebss,%a1			/* get end of bss */
+	lea	__bss_start,%a0			/* get start of bss */
+	lea	__bss_stop,%a1			/* get end of bss */
 	clrl	%d0				/* set value */
 	clrl	%d0				/* set value */
 _clear_bss:
 _clear_bss:
 	movel	%d0,(%a0)+			/* clear each word */
 	movel	%d0,(%a0)+			/* clear each word */

+ 2 - 46
arch/m68k/sun3/prom/init.c

@@ -22,57 +22,13 @@ int prom_root_node;
 struct linux_nodeops *prom_nodeops;
 struct linux_nodeops *prom_nodeops;
 
 
 /* You must call prom_init() before you attempt to use any of the
 /* You must call prom_init() before you attempt to use any of the
- * routines in the prom library.  It returns 0 on success, 1 on
- * failure.  It gets passed the pointer to the PROM vector.
+ * routines in the prom library.
+ * It gets passed the pointer to the PROM vector.
  */
  */
 
 
-extern void prom_meminit(void);
-extern void prom_ranges_init(void);
-
 void __init prom_init(struct linux_romvec *rp)
 void __init prom_init(struct linux_romvec *rp)
 {
 {
 	romvec = rp;
 	romvec = rp;
-#ifndef CONFIG_SUN3
-	switch(romvec->pv_romvers) {
-	case 0:
-		prom_vers = PROM_V0;
-		break;
-	case 2:
-		prom_vers = PROM_V2;
-		break;
-	case 3:
-		prom_vers = PROM_V3;
-		break;
-	case 4:
-		prom_vers = PROM_P1275;
-		prom_printf("PROMLIB: Sun IEEE Prom not supported yet\n");
-		prom_halt();
-		break;
-	default:
-		prom_printf("PROMLIB: Bad PROM version %d\n",
-			    romvec->pv_romvers);
-		prom_halt();
-		break;
-	};
-
-	prom_rev = romvec->pv_plugin_revision;
-	prom_prev = romvec->pv_printrev;
-	prom_nodeops = romvec->pv_nodeops;
-
-	prom_root_node = prom_getsibling(0);
-	if((prom_root_node == 0) || (prom_root_node == -1))
-		prom_halt();
-
-	if((((unsigned long) prom_nodeops) == 0) ||
-	   (((unsigned long) prom_nodeops) == -1))
-		prom_halt();
-
-	prom_meminit();
-
-	prom_ranges_init();
-#endif
-//	printk("PROMLIB: Sun Boot Prom Version %d Revision %d\n",
-//	       romvec->pv_romvers, prom_rev);
 
 
 	/* Initialization successful. */
 	/* Initialization successful. */
 	return;
 	return;

+ 0 - 4
arch/microblaze/include/asm/sections.h

@@ -18,10 +18,6 @@ extern char _ssbss[], _esbss[];
 extern unsigned long __ivt_start[], __ivt_end[];
 extern unsigned long __ivt_start[], __ivt_end[];
 extern char _etext[], _stext[];
 extern char _etext[], _stext[];
 
 
-#  ifdef CONFIG_MTD_UCLINUX
-extern char *_ebss;
-#  endif
-
 extern u32 _fdt_start[], _fdt_end[];
 extern u32 _fdt_start[], _fdt_end[];
 
 
 # endif /* !__ASSEMBLY__ */
 # endif /* !__ASSEMBLY__ */

+ 0 - 3
arch/microblaze/kernel/microblaze_ksyms.c

@@ -21,9 +21,6 @@
 #include <linux/ftrace.h>
 #include <linux/ftrace.h>
 #include <linux/uaccess.h>
 #include <linux/uaccess.h>
 
 
-extern char *_ebss;
-EXPORT_SYMBOL_GPL(_ebss);
-
 #ifdef CONFIG_FUNCTION_TRACER
 #ifdef CONFIG_FUNCTION_TRACER
 extern void _mcount(void);
 extern void _mcount(void);
 EXPORT_SYMBOL(_mcount);
 EXPORT_SYMBOL(_mcount);

+ 2 - 2
arch/microblaze/kernel/setup.c

@@ -121,7 +121,7 @@ void __init machine_early_init(const char *cmdline, unsigned int ram,
 
 
 	/* Move ROMFS out of BSS before clearing it */
 	/* Move ROMFS out of BSS before clearing it */
 	if (romfs_size > 0) {
 	if (romfs_size > 0) {
-		memmove(&_ebss, (int *)romfs_base, romfs_size);
+		memmove(&__bss_stop, (int *)romfs_base, romfs_size);
 		klimit += romfs_size;
 		klimit += romfs_size;
 	}
 	}
 #endif
 #endif
@@ -165,7 +165,7 @@ void __init machine_early_init(const char *cmdline, unsigned int ram,
 	BUG_ON(romfs_size < 0); /* What else can we do? */
 	BUG_ON(romfs_size < 0); /* What else can we do? */
 
 
 	printk("Moved 0x%08x bytes from 0x%08x to 0x%08x\n",
 	printk("Moved 0x%08x bytes from 0x%08x to 0x%08x\n",
-			romfs_size, romfs_base, (unsigned)&_ebss);
+			romfs_size, romfs_base, (unsigned)&__bss_stop);
 
 
 	printk("New klimit: 0x%08x\n", (unsigned)klimit);
 	printk("New klimit: 0x%08x\n", (unsigned)klimit);
 #endif
 #endif

+ 0 - 1
arch/microblaze/kernel/vmlinux.lds.S

@@ -131,7 +131,6 @@ SECTIONS {
 			*(COMMON)
 			*(COMMON)
 		. = ALIGN (4) ;
 		. = ALIGN (4) ;
 		__bss_stop = . ;
 		__bss_stop = . ;
-		_ebss = . ;
 	}
 	}
 	. = ALIGN(PAGE_SIZE);
 	. = ALIGN(PAGE_SIZE);
 	_end = .;
 	_end = .;

+ 1 - 0
arch/s390/Kconfig

@@ -124,6 +124,7 @@ config S390
 	select GENERIC_TIME_VSYSCALL
 	select GENERIC_TIME_VSYSCALL
 	select GENERIC_CLOCKEVENTS
 	select GENERIC_CLOCKEVENTS
 	select KTIME_SCALAR if 32BIT
 	select KTIME_SCALAR if 32BIT
+	select HAVE_ARCH_SECCOMP_FILTER
 
 
 config SCHED_OMIT_FRAME_POINTER
 config SCHED_OMIT_FRAME_POINTER
 	def_bool y
 	def_bool y

+ 0 - 2
arch/s390/include/asm/sparsemem.h

@@ -4,13 +4,11 @@
 #ifdef CONFIG_64BIT
 #ifdef CONFIG_64BIT
 
 
 #define SECTION_SIZE_BITS	28
 #define SECTION_SIZE_BITS	28
-#define MAX_PHYSADDR_BITS	46
 #define MAX_PHYSMEM_BITS	46
 #define MAX_PHYSMEM_BITS	46
 
 
 #else
 #else
 
 
 #define SECTION_SIZE_BITS	25
 #define SECTION_SIZE_BITS	25
-#define MAX_PHYSADDR_BITS	31
 #define MAX_PHYSMEM_BITS	31
 #define MAX_PHYSMEM_BITS	31
 
 
 #endif /* CONFIG_64BIT */
 #endif /* CONFIG_64BIT */

部分文件因为文件数量过多而无法显示