
From: <gerg@snapgear.com>

Fixes to the Motorola ColdFire 5407 setup code:

. fix interrupt routine return types to be irqreturn_t
. add DMA base addresses array
. support compile time setting of kernel boot arguments


---

 25-akpm/arch/m68knommu/platform/5407/config.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletion(-)

diff -puN arch/m68knommu/platform/5407/config.c~use-irqreturn_t-in-coldfire-5407-setup-code arch/m68knommu/platform/5407/config.c
--- 25/arch/m68knommu/platform/5407/config.c~use-irqreturn_t-in-coldfire-5407-setup-code	2004-04-10 15:19:53.076165928 -0700
+++ 25-akpm/arch/m68knommu/platform/5407/config.c	2004-04-10 15:19:53.080165320 -0700
@@ -14,6 +14,7 @@
 #include <linux/sched.h>
 #include <linux/param.h>
 #include <linux/init.h>
+#include <linux/interrupt.h>
 #include <asm/irq.h>
 #include <asm/dma.h>
 #include <asm/traps.h>
@@ -27,7 +28,7 @@
 /***************************************************************************/
 
 void coldfire_tick(void);
-void coldfire_timer_init(void (*handler)(int, void *, struct pt_regs *));
+void coldfire_timer_init(irqreturn_t (*handler)(int, void *, struct pt_regs *));
 unsigned long coldfire_timer_offset(void);
 void coldfire_trap_init(void);
 void coldfire_reset(void);
@@ -48,6 +49,8 @@ unsigned int   dma_base_addr[MAX_M68K_DM
         MCF_MBAR + MCFDMA_BASE3,
 };
 
+unsigned int dma_device_address[MAX_M68K_DMA_CHANNELS];
+
 /***************************************************************************/
 
 void mcf_autovector(unsigned int vec)
@@ -100,7 +103,13 @@ int mcf_timerirqpending(int timer)
 void config_BSP(char *commandp, int size)
 {
 	mcf_setimr(MCFSIM_IMR_MASKALL);
+
+#if defined(CONFIG_BOOTPARAM)
+	strncpy(commandp, CONFIG_BOOTPARAM_STRING, size);
+	commandp[size-1] = 0;
+#else
 	memset(commandp, 0, size);
+#endif
 
 #if defined(CONFIG_CLEOPATRA)
 	/* Different timer setup - to prevent device clash */

_
