mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-03-18 04:54:52 +00:00
m68k: m68328: remove duplicate code
Building a kernel with multiple dragonball based boards enabled needlessly causes a link failure because of duplicate config_BSP() functions between the CPU versions. Avoid that merging the three almost identical files into one, and hiding the CPU configuration behind the board config. The pr_info() lines are consolidated in one place. It is still not possible to run a kernel configured for more than one board, but at least configurations that can be selected can also be built now. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
This commit is contained in:
parent
a734bbf694
commit
8b22820efb
7 changed files with 43 additions and 151 deletions
|
@ -10,10 +10,7 @@
|
|||
|
||||
# 68328, 68EZ328, 68VZ328
|
||||
|
||||
obj-y += entry.o ints.o timers.o
|
||||
obj-$(CONFIG_M68328) += m68328.o
|
||||
obj-$(CONFIG_M68EZ328) += m68EZ328.o
|
||||
obj-$(CONFIG_M68VZ328) += m68VZ328.o
|
||||
obj-y += entry.o ints.o timers.o m68328.o
|
||||
obj-$(CONFIG_ROM) += romvec.o
|
||||
|
||||
obj-$(CONFIG_DRAGEN2) += dragen2.o
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
/***************************************************************************/
|
||||
|
||||
/*
|
||||
* m68328.c - 68328 specific config
|
||||
* m68328.c - 68328/68EZ328/68VZ328 specific config
|
||||
*
|
||||
* Copyright (C) 1993 Hamish Macdonald
|
||||
* Copyright (C) 1999 D. Jeff Dionne
|
||||
* Copyright (C) 2001 Georges Menie, Ken Desmet
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file COPYING in the main directory of this archive
|
||||
|
@ -20,8 +21,10 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/rtc.h>
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/MC68328.h>
|
||||
#if defined(CONFIG_PILOT) || defined(CONFIG_INIT_LCD)
|
||||
|
||||
#if defined(CONFIG_INIT_LCD) && defined(CONFIG_M68VZ328)
|
||||
#include "bootlogo-vz.h"
|
||||
#elif defined(CONFIG_PILOT) || defined(CONFIG_INIT_LCD)
|
||||
#include "bootlogo.h"
|
||||
#endif
|
||||
|
||||
|
@ -29,10 +32,7 @@
|
|||
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
void m68328_reset (void)
|
||||
static void m68328_reset(void)
|
||||
{
|
||||
local_irq_disable();
|
||||
asm volatile ("moveal #0x10c00000, %a0;\n\t"
|
||||
|
@ -46,12 +46,19 @@ void m68328_reset (void)
|
|||
|
||||
void __init config_BSP(char *command, int len)
|
||||
{
|
||||
pr_info("68328 support D. Jeff Dionne <jeff@uclinux.org>\n");
|
||||
pr_info("68328 support Kenneth Albanowski <kjahds@kjshds.com>\n");
|
||||
pr_info("68328/Pilot support Bernhard Kuhn <kuhn@lpr.e-technik.tu-muenchen.de>\n");
|
||||
mach_sched_init = hw_timer_init;
|
||||
mach_hwclk = m68328_hwclk;
|
||||
mach_reset = m68328_reset;
|
||||
|
||||
mach_hwclk = m68328_hwclk;
|
||||
mach_reset = m68328_reset;
|
||||
#if defined(CONFIG_PILOT) && defined(CONFIG_M68328)
|
||||
mach_sched_init = NULL;
|
||||
#elif defined(CONFIG_UCSIMM)
|
||||
init_ucsimm(command, len);
|
||||
#elif defined(CONFIG_UCDIMM)
|
||||
init_ucsimm(command, len);
|
||||
#elif defined(CONFIG_DRAGEN2)
|
||||
init_dragen2(command, len);
|
||||
#endif
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
|
|
@ -1,58 +0,0 @@
|
|||
/***************************************************************************/
|
||||
|
||||
/*
|
||||
* m68EZ328.c - 68EZ328 specific config
|
||||
*
|
||||
* Copyright (C) 1993 Hamish Macdonald
|
||||
* Copyright (C) 1999 D. Jeff Dionne
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file COPYING in the main directory of this archive
|
||||
* for more details.
|
||||
*/
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/rtc.h>
|
||||
#include <linux/pgtable.h>
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/MC68EZ328.h>
|
||||
#ifdef CONFIG_UCSIMM
|
||||
#include <asm/bootstd.h>
|
||||
#endif
|
||||
|
||||
#include "m68328.h"
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
void m68ez328_reset(void)
|
||||
{
|
||||
local_irq_disable();
|
||||
asm volatile (
|
||||
"moveal #0x10c00000, %a0;\n"
|
||||
"moveb #0, 0xFFFFF300;\n"
|
||||
"moveal 0(%a0), %sp;\n"
|
||||
"moveal 4(%a0), %a0;\n"
|
||||
"jmp (%a0);\n"
|
||||
);
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
void __init config_BSP(char *command, int len)
|
||||
{
|
||||
pr_info("68EZ328 DragonBallEZ support (C) 1999 Rt-Control, Inc\n");
|
||||
|
||||
#ifdef CONFIG_UCSIMM
|
||||
init_ucsimm(command, len);
|
||||
#endif
|
||||
|
||||
mach_sched_init = hw_timer_init;
|
||||
mach_hwclk = m68328_hwclk;
|
||||
mach_reset = m68ez328_reset;
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
|
@ -1,67 +0,0 @@
|
|||
/***************************************************************************/
|
||||
|
||||
/*
|
||||
* m68VZ328.c - 68VZ328 specific config
|
||||
*
|
||||
* Copyright (C) 1993 Hamish Macdonald
|
||||
* Copyright (C) 1999 D. Jeff Dionne
|
||||
* Copyright (C) 2001 Georges Menie, Ken Desmet
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file COPYING in the main directory of this archive
|
||||
* for more details.
|
||||
*/
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/kd.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/rtc.h>
|
||||
#include <linux/pgtable.h>
|
||||
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/MC68VZ328.h>
|
||||
#include <asm/bootstd.h>
|
||||
|
||||
#ifdef CONFIG_INIT_LCD
|
||||
#include "bootlogo-vz.h"
|
||||
#endif
|
||||
|
||||
#include "m68328.h"
|
||||
|
||||
/***************************************************************************/
|
||||
static void m68vz328_reset(void)
|
||||
{
|
||||
local_irq_disable();
|
||||
asm volatile (
|
||||
"moveal #0x10c00000, %a0;\n\t"
|
||||
"moveb #0, 0xFFFFF300;\n\t"
|
||||
"moveal 0(%a0), %sp;\n\t"
|
||||
"moveal 4(%a0), %a0;\n\t"
|
||||
"jmp (%a0);\n"
|
||||
);
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
void __init config_BSP(char *command, int size)
|
||||
{
|
||||
pr_info("68VZ328 DragonBallVZ support (c) 2001 Lineo, Inc.\n");
|
||||
|
||||
mach_sched_init = hw_timer_init;
|
||||
mach_hwclk = m68328_hwclk;
|
||||
mach_reset = m68vz328_reset;
|
||||
|
||||
#ifdef CONFIG_UCDIMM
|
||||
init_ucsimm(command, len);
|
||||
#elif defined(CONFIG_DRAGEN2)
|
||||
init_dragen2(command, len);
|
||||
#endif
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
|
@ -35,7 +35,7 @@ endchoice
|
|||
if M68KCLASSIC
|
||||
|
||||
config M68000
|
||||
bool "MC68000"
|
||||
bool
|
||||
depends on !MMU
|
||||
select CPU_HAS_NO_BITFIELDS
|
||||
select CPU_HAS_NO_MULDIV64
|
||||
|
@ -102,21 +102,21 @@ config M68060
|
|||
processor, say Y. Otherwise, say N.
|
||||
|
||||
config M68328
|
||||
bool "MC68328"
|
||||
bool
|
||||
depends on !MMU
|
||||
select M68000
|
||||
help
|
||||
Motorola 68328 processor support.
|
||||
|
||||
config M68EZ328
|
||||
bool "MC68EZ328"
|
||||
bool
|
||||
depends on !MMU
|
||||
select M68000
|
||||
help
|
||||
Motorola 68EX328 processor support.
|
||||
|
||||
config M68VZ328
|
||||
bool "MC68VZ328"
|
||||
bool
|
||||
depends on !MMU
|
||||
select M68000
|
||||
help
|
||||
|
|
|
@ -136,14 +136,13 @@ config SUN3
|
|||
|
||||
If you don't want to compile a kernel exclusively for a Sun 3, say N.
|
||||
|
||||
endif # M68KCLASSIC
|
||||
|
||||
config PILOT
|
||||
bool
|
||||
|
||||
config PILOT3
|
||||
bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
|
||||
depends on M68328
|
||||
depends on !MMU
|
||||
select M68328
|
||||
select PILOT
|
||||
help
|
||||
Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
|
||||
|
@ -156,19 +155,22 @@ config XCOPILOT_BUGS
|
|||
|
||||
config UCSIMM
|
||||
bool "uCsimm module support"
|
||||
depends on M68EZ328
|
||||
depends on !MMU
|
||||
select M68EZ328
|
||||
help
|
||||
Support for the Arcturus Networks uCsimm module.
|
||||
|
||||
config UCDIMM
|
||||
bool "uDsimm module support"
|
||||
depends on M68VZ328
|
||||
depends on !MMU
|
||||
select M68VZ328
|
||||
help
|
||||
Support for the Arcturus Networks uDsimm module.
|
||||
|
||||
config DRAGEN2
|
||||
bool "DragenEngine II board support"
|
||||
depends on M68VZ328
|
||||
depends on !MMU
|
||||
select M68VZ328
|
||||
help
|
||||
Support for the DragenEngine II board.
|
||||
|
||||
|
@ -191,6 +193,8 @@ config MEMORY_RESERVE
|
|||
help
|
||||
Reserve certain memory regions on 68x328 based boards.
|
||||
|
||||
endif # M68KCLASSIC
|
||||
|
||||
config ARN5206
|
||||
bool "Arnewsh 5206 board support"
|
||||
depends on M5206
|
||||
|
|
|
@ -106,8 +106,16 @@ void __init setup_arch(char **cmdline_p)
|
|||
#ifdef CONFIG_UCDIMM
|
||||
pr_info("uCdimm by Lineo, Inc. <www.lineo.com>\n");
|
||||
#endif
|
||||
#ifdef CONFIG_M68328
|
||||
pr_info("68328 support D. Jeff Dionne <jeff@uclinux.org>\n");
|
||||
pr_info("68328 support Kenneth Albanowski <kjahds@kjshds.com>\n");
|
||||
#endif
|
||||
#ifdef CONFIG_M68EZ328
|
||||
pr_info("68EZ328 DragonBallEZ support (C) 1999 Rt-Control, Inc\n");
|
||||
#endif
|
||||
#ifdef CONFIG_M68VZ328
|
||||
pr_info("M68VZ328 support by Evan Stawnyczy <e@lineo.ca>\n");
|
||||
pr_info("68VZ328 DragonBallVZ support (c) 2001 Lineo, Inc.\n");
|
||||
#endif
|
||||
#ifdef CONFIG_COLDFIRE
|
||||
pr_info("COLDFIRE port done by Greg Ungerer, gerg@snapgear.com\n");
|
||||
|
@ -121,6 +129,7 @@ void __init setup_arch(char **cmdline_p)
|
|||
pr_info("Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne\n");
|
||||
|
||||
#if defined( CONFIG_PILOT ) && defined( CONFIG_M68328 )
|
||||
pr_info("68328/Pilot support Bernhard Kuhn <kuhn@lpr.e-technik.tu-muenchen.de>\n");
|
||||
pr_info("TRG SuperPilot FLASH card support <info@trgnet.com>\n");
|
||||
#endif
|
||||
#if defined( CONFIG_PILOT ) && defined( CONFIG_M68EZ328 )
|
||||
|
|
Loading…
Add table
Reference in a new issue