diff -u -p -u -p -r1.1.1.1 Makefile
--- Makefile	21 Mar 2004 02:54:51 -0000	1.1.1.1
+++ Makefile	21 Mar 2004 08:11:46 -0000
@@ -486,6 +486,7 @@ define cmd_vmlinux__
 	$(drivers-y) \
 	$(net-y) \
 	--end-group \
+	-M -Map $@.map \
 	$(filter .tmp_kallsyms%,$^) \
 	-o $@
 endef
diff -u -p -u -p -r1.1.1.1 Kconfig
--- arch/m68knommu/Kconfig	21 Mar 2004 02:54:53 -0000	1.1.1.1
+++ arch/m68knommu/Kconfig	21 Mar 2004 08:11:50 -0000
@@ -288,6 +288,29 @@ config M5282C3
 	help
 	  Support for the Motorola M5282C3 board.
 
+config DEVELER_AMR
+	bool "ISC/Develer AMR board support"
+	depends on M5272
+	help
+	  Support for the ISC/Develer AMR board.
+
+config DEVELER_CDB4
+	bool "AEP/Develer CDB4 board support"
+	depends on M5272
+	help
+	  Support for the AEP/Develer CDB4 board.
+
+config DEVELER_SEAC
+	bool "SEAC/Develer SC board support"
+	depends on M5272
+	help
+	  Support for the SEAC/Develer SC board.
+
+config DEVELER
+	bool
+	default y
+	depends on (DEVELER_AMR || DEVELER_CDB4 || DEVELER_SEAC)
+
 config ARN5307
 	bool "Arnewsh 5307 board support"
 	depends on M5307
diff -u -p -u -p -r1.1.1.1 Makefile
--- arch/m68knommu/Makefile	21 Mar 2004 02:54:53 -0000	1.1.1.1
+++ arch/m68knommu/Makefile	21 Mar 2004 08:11:50 -0000
@@ -28,6 +28,7 @@ board-$(CONFIG_UCQUICC)		:= uCquicc
 board-$(CONFIG_DRAGEN2)		:= de2
 board-$(CONFIG_ARNEWSH)		:= ARNEWSH
 board-$(CONFIG_MOTOROLA)	:= MOTOROLA
+board-$(CONFIG_DEVELER)		:= MOTOROLA
 board-$(CONFIG_ELITE)		:= eLITE
 board-$(CONFIG_eLIA)		:= eLIA
 board-$(CONFIG_NETtel)		:= NETtel
diff -u -p -u -p -r1.1.1.1 vmlinux.lds.S
--- arch/m68knommu/kernel/vmlinux.lds.S	21 Mar 2004 02:54:53 -0000	1.1.1.1
+++ arch/m68knommu/kernel/vmlinux.lds.S	21 Mar 2004 08:11:51 -0000
@@ -128,6 +128,15 @@
 #endif
 
 /*
+ *	Develer boards are similar to M5272C3, but we can grab some
+ *	more RAM because we're using colilo instead of dBUG.
+ */
+#if defined(CONFIG_DEVELER)
+#define	RAM_START	0x400
+#define	RAM_LENGTH	0x3ffc00
+#endif
+
+/*
  *	These flash boot boards use all of ram for operation. Again the
  *	actual memory size is not important here, assume at least 4MiB.
  *	They currently have no support for running in flash.
diff -u -p -u -p -r1.1.1.1 Kconfig
--- drivers/mtd/chips/Kconfig	21 Mar 2004 02:55:02 -0000	1.1.1.1
+++ drivers/mtd/chips/Kconfig	21 Mar 2004 08:11:58 -0000
@@ -168,6 +168,17 @@ config MTD_CFI_STAA
 	  sets which a CFI-compliant chip may claim to implement. This code
 	  provides support for one of those command sets.
 
+config MTD_CFI_BLOCKERASE
+	bool "Use BLOCK ERASE command"
+	depends on MTD_CFI_AMDSTD
+	default n
+	help
+	  Some flash chips such as the SST S71145, have two different erase
+	  commands, one for sectors (4KB) and one for blocks (64KB). Using
+	  larger erase units might be faster and reduce memory usage of JFFS2
+	  for such chips. Note that the chip mapping must be adjusted to
+	  reflect this change.
+
 config MTD_RAM
 	tristate "Support for RAM chips in bus mapping"
 	depends on MTD
diff -u -p -u -p -r1.1.1.1 cfi_cmdset_0002.c
--- drivers/mtd/chips/cfi_cmdset_0002.c	21 Mar 2004 02:55:02 -0000	1.1.1.1
+++ drivers/mtd/chips/cfi_cmdset_0002.c	21 Mar 2004 08:11:58 -0000
@@ -1035,8 +1035,12 @@ static inline int do_erase_oneblock(stru
 	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, CFI_DEVICETYPE_X8, NULL);
 	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, CFI_DEVICETYPE_X8, NULL);
 
-	cfi_write(map, CMD(0x30), adr);
-	
+#if defined(CONFIG_MTD_CFI_BLOCKERASE)
+	cfi_write(map, CMD(0x50), adr);
+#else
+ 	cfi_write(map, CMD(0x30), adr);
+#endif
+
 	timeo = jiffies + (HZ*20);
 
 	/* Wait for the end of programing/erasure by using the toggle method.
diff -u -p -u -p -r1.1.1.1 jedec_probe.c
--- drivers/mtd/chips/jedec_probe.c	21 Mar 2004 02:55:02 -0000	1.1.1.1
+++ drivers/mtd/chips/jedec_probe.c	21 Mar 2004 08:11:58 -0000
@@ -11,13 +11,11 @@
 #include <linux/init.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
-#include <linux/init.h>
 #include <asm/io.h>
 #include <asm/byteorder.h>
 #include <linux/errno.h>
 #include <linux/slab.h>
 #include <linux/interrupt.h>
-#include <linux/init.h>
 
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/map.h>
@@ -1089,6 +1087,28 @@ static const struct amd_flash_info jedec
 		.regions	= {
 			ERASEINFO(0x01000,128),
 		}
+	}, {
+		.mfr_id		= MANUFACTURER_SST,
+		.dev_id		= SST39LF160,
+		.name		= "SST 39LF/VF160",
+		.uaddr		= {
+			[0] = MTD_UADDR_0x5555_0x2AAA /* x8 */
+		},
+		.DevSize	= SIZE_2MiB,
+		.CmdSet		= P_ID_AMD_STD,
+#if CONFIG_MTD_CFI_BLOCKERASE
+		.NumEraseRegions= 1,
+		.regions	= {
+			ERASEINFO(0x10000,32)
+		}
+#else
+		.NumEraseRegions= 2,
+		/* Split into two regions to get around the 256-region restriction */
+		.regions	= {
+			ERASEINFO(0x01000,256),
+			ERASEINFO(0x01000,256),
+		}
+#endif
         }, {
 		.mfr_id		= MANUFACTURER_SST,
 		.dev_id		= SST39SF010A,
diff -u -p -u -p -r1.1.1.1 Kconfig
--- drivers/mtd/maps/Kconfig	21 Mar 2004 02:55:02 -0000	1.1.1.1
+++ drivers/mtd/maps/Kconfig	21 Mar 2004 08:11:58 -0000
@@ -440,6 +440,15 @@ config MTD_FORTUNET
 	  This enables access to the Flash on the FortuNet board.  If you
 	  have such a board, say 'Y'.
 
+config MTD_M5272C3_JFFS2
+	tristate "CFI Flash device on Motorola M5272C3 for JFFS2 usage"
+	depends on M5272 && MTD_CFI
+	help
+	  This enables MTD access to CFI and JEDEC compatible flash devices
+	  on board designs derived from the Motorola M5272C3. The partition
+	  map is suitable for using a JFFS2 root filesystem and a bootloader
+	  such as CoLilo.
+
 config MTD_AUTCPU12
 	tristate "NV-RAM mapping AUTCPU12 board"
 	depends on ARM && ARCH_AUTCPU12
diff -u -p -u -p -r1.1.1.1 Makefile
--- drivers/mtd/maps/Makefile	21 Mar 2004 02:55:02 -0000	1.1.1.1
+++ drivers/mtd/maps/Makefile	21 Mar 2004 08:11:58 -0000
@@ -52,6 +52,7 @@ obj-$(CONFIG_MTD_FORTUNET)	+= fortunet.o
 obj-$(CONFIG_MTD_REDWOOD)	+= redwood.o
 obj-$(CONFIG_MTD_UCLINUX)	+= uclinux.o
 obj-$(CONFIG_MTD_NETtel)	+= nettel.o
+obj-$(CONFIG_MTD_M5272C3_JFFS2)	+= m5272c3_jffs2.o
 obj-$(CONFIG_MTD_SNAPGEODE)	+= snapgeode.o
 obj-$(CONFIG_MTD_SE4000)	+= se4000.o
 obj-$(CONFIG_MTD_SCB2_FLASH)	+= scb2_flash.o
diff -u -p -u -p -r1.1.1.1 physmap.c
--- drivers/mtd/maps/physmap.c	21 Mar 2004 02:55:02 -0000	1.1.1.1
+++ drivers/mtd/maps/physmap.c	21 Mar 2004 08:11:58 -0000
@@ -23,7 +23,7 @@ static struct mtd_info *mymtd;
 
 
 struct map_info physmap_map = {
-	.name = "Physically mapped flash",
+	.name = "physmap",
 	.size = WINDOW_SIZE,
 	.buswidth = BUSWIDTH,
 	.phys = WINDOW_ADDR,
diff -u -p -u -p -r1.1.1.1 atomic.h
--- include/asm-m68knommu/atomic.h	21 Mar 2004 02:55:26 -0000	1.1.1.1
+++ include/asm-m68knommu/atomic.h	21 Mar 2004 08:12:03 -0000
@@ -56,12 +56,12 @@ static __inline__ void atomic_sub(int i,
 
 static __inline__ void atomic_inc(volatile atomic_t *v)
 {
-	__asm__ __volatile__("addql #1,%0" : "=m" (*v): "0" (*v));
+	__asm__ __volatile__("addql #1,%0" : "=m" (*v): "m" (*v));
 }
 
 static __inline__ void atomic_dec(volatile atomic_t *v)
 {
-	__asm__ __volatile__("subql #1,%0" : "=m" (*v): "0" (*v));
+	__asm__ __volatile__("subql #1,%0" : "=m" (*v): "m" (*v));
 }
 
 static __inline__ int atomic_dec_and_test(volatile atomic_t *v)
diff -u -p -u -p -r1.1.1.1 system.h
--- include/asm-m68knommu/system.h	21 Mar 2004 02:55:26 -0000	1.1.1.1
+++ include/asm-m68knommu/system.h	21 Mar 2004 08:12:04 -0000
@@ -232,7 +232,9 @@ cmpxchg(volatile int *p, int old, int ne
 #endif
 
 #ifdef CONFIG_COLDFIRE
-#if defined(CONFIG_M5272) && defined(CONFIG_NETtel)
+#if defined(CONFIG_M5272)
+
+#if defined(CONFIG_NETtel)
 /*
  *	Need to account for broken early mask of 5272 silicon. So don't
  *	jump through the original start address. Jump strait into the
@@ -244,6 +246,15 @@ cmpxchg(volatile int *p, int old, int ne
         jmp 0xf0000400;			\
         ");				\
 })
+#elif defined(CONFIG_DEVELER_AMR) || defined(CONFIG_DEVELER_CDB4) || defined(CONFIG_DEVELER_SEAC)
+#define HARD_RESET_NOW() ({			\
+	asm(					\
+		"movew #0x2700, %sr\n\t"	\
+		"jmp 0xffe00400\n"		\
+	);					\
+})
+#endif /* CONFIG_NETtel || CONFIG_DEVELER */
+
 #elif defined(CONFIG_NETtel) || defined(CONFIG_eLIA) || defined(CONFIG_DISKtel) || defined(CONFIG_SECUREEDGEMP3) || defined(CONFIG_CLEOPATRA)
 #define HARD_RESET_NOW() ({		\
         asm("				\
diff -u -p -u -p -r1.1.1.1 Kconfig
--- net/xfrm/Kconfig	21 Mar 2004 02:55:32 -0000	1.1.1.1
+++ net/xfrm/Kconfig	21 Mar 2004 08:12:07 -0000
@@ -2,7 +2,7 @@
 # XFRM configuration
 #
 config XFRM
-       bool
+       bool "Kick me"
        depends on NET
 
 config XFRM_USER
