Skip to content

Commit

Permalink
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-…
Browse files Browse the repository at this point in the history
…linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (53 commits)
  [MIPS] sparsemem: fix crash in show_mem
  [MIPS] vr41xx: Update workpad setup function
  [MIPS] vr41xx: Update e55 setup function
  [MIPS] vr41xx: Removed old v2.4 VRC4173 driver
  [MIPS] vr41xx: Move IRQ numbers to asm-mips/vr41xx/irq.h
  [MIPS] MIPSsim: Build fix, rename sim_timer_setup -> plat_timer_setup.
  [MIPS] Remove unused code.
  [MIPS] IP22 Fix brown paper bag in RTC code.
  [MIPS] Atlas, Malta, SEAD: Don't disable interrupts in mips_time_init().
  [MIPS] Replace board_timer_setup function pointer by plat_timer_setup.
  [MIPS] Nuke redeclarations of board_time_init.
  [MIPS] Remove redeclarations of setup_irq().
  [MIPS] Nuke redeclarations of board_timer_setup.
  [MIPS] Print out TLB handler assembly for debugging.
  [MIPS] SMTC: Reformat to Linux style.
  [MIPS] MIPSsim: Delete redeclaration of ll_local_timer_interrupt.
  [MIPS] IP27: Reformatting.
  [MIPS] IP27: Invoke setup_irq for timer interrupt so proc stats will be shown.
  [MIPS] IP27: irq_chip startup method returns unsigned int.
  [MIPS] IP27: struct irq_desc member handler was renamed to chip.
  ...
  • Loading branch information
Linus Torvalds committed Jul 13, 2006
2 parents 0d10e47 + f4dee85 commit ab6cf0d
Show file tree
Hide file tree
Showing 216 changed files with 3,041 additions and 3,239 deletions.
10 changes: 4 additions & 6 deletions Documentation/mips/time.README
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ the following functions or values:
1. (optional) set up RTC routines
2. (optional) calibrate and set the mips_counter_frequency

b) board_timer_setup - a function pointer. Invoked at the end of time_init()
b) plat_timer_setup - a function pointer. Invoked at the end of time_init()
1. (optional) over-ride any decisions made in time_init()
2. set up the irqaction for timer interrupt.
3. enable the timer interrupt
Expand Down Expand Up @@ -116,19 +116,17 @@ Step 2: the machine setup() function

If you supply board_time_init(), set the function poointer.

Set the function pointer board_timer_setup() (mandatory)


Step 3: implement rtc routines, board_time_init() and board_timer_setup()
Step 3: implement rtc routines, board_time_init() and plat_timer_setup()
if needed.

board_time_init() -
board_time_init() -
a) (optional) set up RTC routines,
b) (optional) calibrate and set the mips_counter_frequency
(only needed if you intended to use fixed_rate_gettimeoffset
or use cpu counter as timer interrupt source)

board_timer_setup() -
plat_timer_setup() -
a) (optional) over-write any choices made above by time_init().
b) machine specific code should setup the timer irqaction.
c) enable the timer interrupt
Expand Down
10 changes: 9 additions & 1 deletion arch/mips/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,7 @@ config MOMENCO_OCELOT_G
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_64BIT_KERNEL
select SYS_SUPPORTS_BIG_ENDIAN
select ARCH_SPARSEMEM_ENABLE
help
The Ocelot is a MIPS-based Single Board Computer (SBC) made by
Momentum Computer <http://www.momenco.com/>.
Expand Down Expand Up @@ -556,6 +557,7 @@ config QEMU
select SYS_HAS_CPU_MIPS32_R1
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_BIG_ENDIAN
select ARCH_SPARSEMEM_ENABLE
help
Qemu is a software emulator which among other architectures also
can simulate a MIPS32 4Kc system. This patch adds support for the
Expand Down Expand Up @@ -594,7 +596,6 @@ config SGI_IP22
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_64BIT_KERNEL
select SYS_SUPPORTS_BIG_ENDIAN
select SYS_SUPPORTS_SMP
help
This are the SGI Indy, Challenge S and Indigo2, as well as certain
OEM variants like the Tandem CMN B006S. To compile a Linux kernel
Expand Down Expand Up @@ -1688,6 +1689,13 @@ config ARCH_DISCONTIGMEM_ENABLE
or have huge holes in the physical address space for other reasons.
See <file:Documentation/vm/numa> for more.

config ARCH_SPARSEMEM_ENABLE
bool

config ARCH_SPARSEMEM_ENABLE
bool
select SPARSEMEM_STATIC

config NUMA
bool "NUMA Support"
depends on SYS_SUPPORTS_NUMA
Expand Down
4 changes: 4 additions & 0 deletions arch/mips/Kconfig.debug
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
menu "Kernel hacking"

config TRACE_IRQFLAGS_SUPPORT
bool
default y

source "lib/Kconfig.debug"

config CROSSCOMPILE
Expand Down
6 changes: 2 additions & 4 deletions arch/mips/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -712,16 +712,14 @@ endif
vmlinux.bin: $(vmlinux-32)
+@$(call makeboot,$@)

vmlinux.ecoff vmlinux.rm200: $(vmlinux-32)
vmlinux.ecoff: $(vmlinux-32)
+@$(call makeboot,$@)

vmlinux.srec: $(vmlinux-32)
+@$(call makeboot,$@)

CLEAN_FILES += vmlinux.ecoff \
vmlinux.srec \
vmlinux.rm200.tmp \
vmlinux.rm200
vmlinux.srec

archclean:
@$(MAKE) $(clean)=arch/mips/boot
Expand Down
8 changes: 4 additions & 4 deletions arch/mips/au1000/common/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ void restore_local_and_enable(int controller, unsigned long mask)
}


static struct hw_interrupt_type rise_edge_irq_type = {
static struct irq_chip rise_edge_irq_type = {
.typename = "Au1000 Rise Edge",
.startup = startup_irq,
.shutdown = shutdown_irq,
Expand All @@ -261,7 +261,7 @@ static struct hw_interrupt_type rise_edge_irq_type = {
.end = end_irq,
};

static struct hw_interrupt_type fall_edge_irq_type = {
static struct irq_chip fall_edge_irq_type = {
.typename = "Au1000 Fall Edge",
.startup = startup_irq,
.shutdown = shutdown_irq,
Expand All @@ -271,7 +271,7 @@ static struct hw_interrupt_type fall_edge_irq_type = {
.end = end_irq,
};

static struct hw_interrupt_type either_edge_irq_type = {
static struct irq_chip either_edge_irq_type = {
.typename = "Au1000 Rise or Fall Edge",
.startup = startup_irq,
.shutdown = shutdown_irq,
Expand All @@ -281,7 +281,7 @@ static struct hw_interrupt_type either_edge_irq_type = {
.end = end_irq,
};

static struct hw_interrupt_type level_irq_type = {
static struct irq_chip level_irq_type = {
.typename = "Au1000 Level",
.startup = startup_irq,
.shutdown = shutdown_irq,
Expand Down
26 changes: 14 additions & 12 deletions arch/mips/au1000/common/prom.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
*
* BRIEF MODULE DESCRIPTION
* PROM library initialisation code, assuming YAMON is the boot loader.
* PROM library initialisation code, supports YAMON and U-Boot.
*
* Copyright 2000, 2001, 2006 MontaVista Software Inc.
* Author: MontaVista Software, Inc.
Expand Down Expand Up @@ -46,12 +46,6 @@
extern int prom_argc;
extern char **prom_argv, **prom_envp;

typedef struct
{
char *name;
char *val;
} t_env_var;


char * prom_getcmdline(void)
{
Expand Down Expand Up @@ -84,13 +78,21 @@ char *prom_getenv(char *envname)
{
/*
* Return a pointer to the given environment variable.
* YAMON uses "name", "value" pairs, while U-Boot uses "name=value".
*/

t_env_var *env = (t_env_var *)prom_envp;

while (env->name) {
if (strcmp(envname, env->name) == 0)
return env->val;
char **env = prom_envp;
int i = strlen(envname);
int yamon = (*env && strchr(*env, '=') == NULL);

while (*env) {
if (yamon) {
if (strcmp(envname, *env++) == 0)
return *env;
} else {
if (strncmp(envname, *env, i) == 0 && (*env)[i] == '=')
return *env + i + 1;
}
env++;
}
return NULL;
Expand Down
2 changes: 0 additions & 2 deletions arch/mips/au1000/common/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ extern void au1000_power_off(void);
extern void au1x_time_init(void);
extern void au1x_timer_setup(struct irqaction *irq);
extern void au1xxx_time_init(void);
extern void au1xxx_timer_setup(struct irqaction *irq);
extern void set_cpuspec(void);

void __init plat_mem_setup(void)
Expand Down Expand Up @@ -123,7 +122,6 @@ void __init plat_mem_setup(void)
_machine_halt = au1000_halt;
pm_power_off = au1000_power_off;
board_time_init = au1xxx_time_init;
board_timer_setup = au1xxx_timer_setup;

/* IO/MEM resources. */
set_io_port_base(0);
Expand Down
2 changes: 1 addition & 1 deletion arch/mips/au1000/common/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ static unsigned long do_fast_pm_gettimeoffset(void)
}
#endif

void __init au1xxx_timer_setup(struct irqaction *irq)
void __init plat_timer_setup(struct irqaction *irq)
{
unsigned int est_freq;

Expand Down
8 changes: 0 additions & 8 deletions arch/mips/au1000/csb250/Makefile

This file was deleted.

Loading

0 comments on commit ab6cf0d

Please sign in to comment.