Skip to content

Commit

Permalink
Merge branch 'restart' into for-linus
Browse files Browse the repository at this point in the history
Conflicts:
	arch/arm/mach-exynos/cpu.c

The changes to arch/arm/mach-exynos/cpu.c were moved to
mach-exynos/common.c.
  • Loading branch information
Russell King committed Jan 5, 2012
2 parents 2e0e943 + 0575fb7 commit 7b9dd47
Show file tree
Hide file tree
Showing 592 changed files with 3,087 additions and 5,513 deletions.
7 changes: 0 additions & 7 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1124,13 +1124,6 @@ S: Supported
F: arch/arm/mach-shmobile/
F: drivers/sh/

ARM/TELECHIPS ARM ARCHITECTURE
M: "Hans J. Koch" <[email protected]>
L: [email protected] (moderated for non-subscribers)
S: Maintained
F: arch/arm/plat-tcc/
F: arch/arm/mach-tcc8k/

ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
M: Lennert Buytenhek <[email protected]>
L: [email protected] (moderated for non-subscribers)
Expand Down
12 changes: 0 additions & 12 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -877,16 +877,6 @@ config ARCH_SHARK
Support for the StrongARM based Digital DNARD machine, also known
as "Shark" (<http://www.shark-linux.de/shark.html>).

config ARCH_TCC_926
bool "Telechips TCC ARM926-based systems"
select CLKSRC_MMIO
select CPU_ARM926T
select HAVE_CLK
select CLKDEV_LOOKUP
select GENERIC_CLOCKEVENTS
help
Support for Telechips TCC ARM926-based systems.

config ARCH_U300
bool "ST-Ericsson U300 Series"
depends on MMU
Expand Down Expand Up @@ -1073,8 +1063,6 @@ source "arch/arm/plat-s5p/Kconfig"

source "arch/arm/plat-spear/Kconfig"

source "arch/arm/plat-tcc/Kconfig"

if ARCH_S3C2410
source "arch/arm/mach-s3c2410/Kconfig"
source "arch/arm/mach-s3c2412/Kconfig"
Expand Down
2 changes: 0 additions & 2 deletions arch/arm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,6 @@ machine-$(CONFIG_ARCH_EXYNOS4) := exynos
machine-$(CONFIG_ARCH_SA1100) := sa1100
machine-$(CONFIG_ARCH_SHARK) := shark
machine-$(CONFIG_ARCH_SHMOBILE) := shmobile
machine-$(CONFIG_ARCH_TCC8K) := tcc8k
machine-$(CONFIG_ARCH_TEGRA) := tegra
machine-$(CONFIG_ARCH_U300) := u300
machine-$(CONFIG_ARCH_U8500) := ux500
Expand All @@ -204,7 +203,6 @@ machine-$(CONFIG_ARCH_ZYNQ) := zynq
plat-$(CONFIG_ARCH_MXC) := mxc
plat-$(CONFIG_ARCH_OMAP) := omap
plat-$(CONFIG_ARCH_S3C64XX) := samsung
plat-$(CONFIG_ARCH_TCC_926) := tcc
plat-$(CONFIG_ARCH_ZYNQ) := versatile
plat-$(CONFIG_PLAT_IOP) := iop
plat-$(CONFIG_PLAT_NOMADIK) := nomadik
Expand Down
1 change: 1 addition & 0 deletions arch/arm/include/asm/hardware/iop3xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@ extern int iop3xx_get_init_atu(void);
void iop3xx_map_io(void);
void iop_init_cp6_handler(void);
void iop_init_time(unsigned long tickrate);
void iop3xx_restart(char, const char *);

static inline u32 read_tmr0(void)
{
Expand Down
1 change: 0 additions & 1 deletion arch/arm/include/asm/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,6 @@ extern void __show_regs(struct pt_regs *);
extern int __pure cpu_architecture(void);
extern void cpu_init(void);

void arm_machine_restart(char mode, const char *cmd);
void soft_restart(unsigned long);
extern void (*arm_pm_restart)(char str, const char *cmd);

Expand Down
10 changes: 2 additions & 8 deletions arch/arm/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,14 +147,8 @@ void soft_restart(unsigned long addr)
BUG();
}

void arm_machine_restart(char mode, const char *cmd)
static void null_restart(char mode, const char *cmd)
{
/* Disable interrupts first */
local_irq_disable();
local_fiq_disable();

/* Call the architecture specific reboot code. */
arch_reset(mode, cmd);
}

/*
Expand All @@ -163,7 +157,7 @@ void arm_machine_restart(char mode, const char *cmd)
void (*pm_power_off)(void);
EXPORT_SYMBOL(pm_power_off);

void (*arm_pm_restart)(char str, const char *cmd) = arm_machine_restart;
void (*arm_pm_restart)(char str, const char *cmd) = null_restart;
EXPORT_SYMBOL_GPL(arm_pm_restart);

static void do_nothing(void *unused)
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mach-at91/at91cap9.c
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ static struct at91_gpio_bank at91cap9_gpio[] = {
}
};

static void at91cap9_reset(void)
static void at91cap9_restart(char mode, const char *cmd)
{
at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
}
Expand All @@ -335,7 +335,7 @@ static void __init at91cap9_map_io(void)

static void __init at91cap9_initialize(void)
{
at91_arch_reset = at91cap9_reset;
arm_pm_restart = at91cap9_restart;
pm_power_off = at91cap9_poweroff;
at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1);

Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mach-at91/at91rm9200.c
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ static struct at91_gpio_bank at91rm9200_gpio[] = {
}
};

static void at91rm9200_reset(void)
static void at91rm9200_restart(char mode, const char *cmd)
{
/*
* Perform a hardware reset with the use of the Watchdog timer.
Expand All @@ -309,7 +309,7 @@ static void __init at91rm9200_map_io(void)

static void __init at91rm9200_initialize(void)
{
at91_arch_reset = at91rm9200_reset;
arm_pm_restart = at91rm9200_restart;
at91_extern_irq = (1 << AT91RM9200_ID_IRQ0) | (1 << AT91RM9200_ID_IRQ1)
| (1 << AT91RM9200_ID_IRQ2) | (1 << AT91RM9200_ID_IRQ3)
| (1 << AT91RM9200_ID_IRQ4) | (1 << AT91RM9200_ID_IRQ5)
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-at91/at91sam9260.c
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ static void __init at91sam9260_map_io(void)

static void __init at91sam9260_initialize(void)
{
at91_arch_reset = at91sam9_alt_reset;
arm_pm_restart = at91sam9_alt_restart;
pm_power_off = at91sam9260_poweroff;
at91_extern_irq = (1 << AT91SAM9260_ID_IRQ0) | (1 << AT91SAM9260_ID_IRQ1)
| (1 << AT91SAM9260_ID_IRQ2);
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-at91/at91sam9261.c
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ static void __init at91sam9261_map_io(void)

static void __init at91sam9261_initialize(void)
{
at91_arch_reset = at91sam9_alt_reset;
arm_pm_restart = at91sam9_alt_restart;
pm_power_off = at91sam9261_poweroff;
at91_extern_irq = (1 << AT91SAM9261_ID_IRQ0) | (1 << AT91SAM9261_ID_IRQ1)
| (1 << AT91SAM9261_ID_IRQ2);
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-at91/at91sam9263.c
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ static void __init at91sam9263_map_io(void)

static void __init at91sam9263_initialize(void)
{
at91_arch_reset = at91sam9_alt_reset;
arm_pm_restart = at91sam9_alt_restart;
pm_power_off = at91sam9263_poweroff;
at91_extern_irq = (1 << AT91SAM9263_ID_IRQ0) | (1 << AT91SAM9263_ID_IRQ1);

Expand Down
9 changes: 2 additions & 7 deletions arch/arm/mach-at91/at91sam9_alt_reset.S
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,15 @@
*/

#include <linux/linkage.h>
#include <asm/system.h>
#include <mach/hardware.h>
#include <mach/at91sam9_sdramc.h>
#include <mach/at91_rstc.h>

.arm

.globl at91sam9_alt_reset
.globl at91sam9_alt_restart

at91sam9_alt_reset: mrc p15, 0, r0, c1, c0, 0
orr r0, r0, #CR_I
mcr p15, 0, r0, c1, c0, 0 @ enable I-cache

ldr r0, .at91_va_base_sdramc @ preload constants
at91sam9_alt_restart: ldr r0, .at91_va_base_sdramc @ preload constants
ldr r1, .at91_va_base_rstc_cr

mov r2, #1
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mach-at91/at91sam9g45.c
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ static struct at91_gpio_bank at91sam9g45_gpio[] = {
}
};

static void at91sam9g45_reset(void)
static void at91sam9g45_restart(char mode, const char *cmd)
{
at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
}
Expand All @@ -340,7 +340,7 @@ static void __init at91sam9g45_map_io(void)

static void __init at91sam9g45_initialize(void)
{
at91_arch_reset = at91sam9g45_reset;
arm_pm_restart = at91sam9g45_restart;
pm_power_off = at91sam9g45_poweroff;
at91_extern_irq = (1 << AT91SAM9G45_ID_IRQ0);

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-at91/at91sam9rl.c
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ static void __init at91sam9rl_map_io(void)

static void __init at91sam9rl_initialize(void)
{
at91_arch_reset = at91sam9_alt_reset;
arm_pm_restart = at91sam9_alt_restart;
pm_power_off = at91sam9rl_poweroff;
at91_extern_irq = (1 << AT91SAM9RL_ID_IRQ0);

Expand Down
3 changes: 1 addition & 2 deletions arch/arm/mach-at91/generic.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ extern void at91_irq_suspend(void);
extern void at91_irq_resume(void);

/* reset */
extern void at91sam9_alt_reset(void);
extern void at91sam9_alt_restart(char, const char *);

/* GPIO */
#define AT91RM9200_PQFP 3 /* AT91RM9200 PQFP package has 3 banks */
Expand All @@ -71,5 +71,4 @@ struct at91_gpio_bank {
extern void __init at91_gpio_init(struct at91_gpio_bank *, int nr_banks);
extern void __init at91_gpio_irq_setup(void);

extern void (*at91_arch_reset)(void);
extern int at91_extern_irq;
9 changes: 0 additions & 9 deletions arch/arm/mach-at91/include/mach/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,4 @@ static inline void arch_idle(void)
#endif
}

void (*at91_arch_reset)(void);

static inline void arch_reset(char mode, const char *cmd)
{
/* call the CPU-specific reset function */
if (at91_arch_reset)
(at91_arch_reset)();
}

#endif
25 changes: 24 additions & 1 deletion arch/arm/mach-bcmring/arch.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,29 @@ HW_DECLARE_SPINLOCK(gpio)
#endif

/* sysctl */
int bcmring_arch_warm_reboot; /* do a warm reboot on hard reset */
static int bcmring_arch_warm_reboot; /* do a warm reboot on hard reset */

static void bcmring_restart(char mode, const char *cmd)
{
printk("arch_reset:%c %x\n", mode, bcmring_arch_warm_reboot);

if (mode == 'h') {
/* Reboot configured in proc entry */
if (bcmring_arch_warm_reboot) {
printk("warm reset\n");
/* Issue Warm reset (do not reset ethernet switch, keep alive) */
chipcHw_reset(chipcHw_REG_SOFT_RESET_CHIP_WARM);
} else {
/* Force reset of everything */
printk("force reset\n");
chipcHw_reset(chipcHw_REG_SOFT_RESET_CHIP_SOFT);
}
} else {
/* Force reset of everything */
printk("force reset\n");
chipcHw_reset(chipcHw_REG_SOFT_RESET_CHIP_SOFT);
}
}

static struct ctl_table_header *bcmring_sysctl_header;

Expand Down Expand Up @@ -173,4 +195,5 @@ MACHINE_START(BCMRING, "BCMRING")
.init_irq = bcmring_init_irq,
.timer = &bcmring_timer,
.init_machine = bcmring_init_machine
.restart = bcmring_restart,
MACHINE_END
26 changes: 0 additions & 26 deletions arch/arm/mach-bcmring/include/mach/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,35 +20,9 @@
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H

#include <mach/csp/chipcHw_inline.h>

extern int bcmring_arch_warm_reboot;

static inline void arch_idle(void)
{
cpu_do_idle();
}

static inline void arch_reset(char mode, const char *cmd)
{
printk("arch_reset:%c %x\n", mode, bcmring_arch_warm_reboot);

if (mode == 'h') {
/* Reboot configured in proc entry */
if (bcmring_arch_warm_reboot) {
printk("warm reset\n");
/* Issue Warm reset (do not reset ethernet switch, keep alive) */
chipcHw_reset(chipcHw_REG_SOFT_RESET_CHIP_WARM);
} else {
/* Force reset of everything */
printk("force reset\n");
chipcHw_reset(chipcHw_REG_SOFT_RESET_CHIP_SOFT);
}
} else {
/* Force reset of everything */
printk("force reset\n");
chipcHw_reset(chipcHw_REG_SOFT_RESET_CHIP_SOFT);
}
}

#endif
1 change: 1 addition & 0 deletions arch/arm/mach-clps711x/autcpu12.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,5 +68,6 @@ MACHINE_START(AUTCPU12, "autronix autcpu12")
.map_io = autcpu12_map_io,
.init_irq = clps711x_init_irq,
.timer = &clps711x_timer,
.restart = clps711x_restart,
MACHINE_END

1 change: 1 addition & 0 deletions arch/arm/mach-clps711x/cdb89712.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,5 @@ MACHINE_START(CDB89712, "Cirrus-CDB89712")
.map_io = cdb89712_map_io,
.init_irq = clps711x_init_irq,
.timer = &clps711x_timer,
.restart = clps711x_restart,
MACHINE_END
1 change: 1 addition & 0 deletions arch/arm/mach-clps711x/ceiva.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,5 @@ MACHINE_START(CEIVA, "CEIVA/Polaroid Photo MAX Digital Picture Frame")
.map_io = ceiva_map_io,
.init_irq = clps711x_init_irq,
.timer = &clps711x_timer,
.restart = clps711x_restart,
MACHINE_END
1 change: 1 addition & 0 deletions arch/arm/mach-clps711x/clep7312.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,6 @@ MACHINE_START(CLEP7212, "Cirrus Logic 7212/7312")
.map_io = clps711x_map_io,
.init_irq = clps711x_init_irq,
.timer = &clps711x_timer,
.restart = clps711x_restart,
MACHINE_END

5 changes: 5 additions & 0 deletions arch/arm/mach-clps711x/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -220,3 +220,8 @@ struct sys_timer clps711x_timer = {
.init = clps711x_timer_init,
.offset = clps711x_gettimeoffset,
};

void clps711x_restart(char mode, const char *cmd)
{
soft_restart(0);
}
1 change: 1 addition & 0 deletions arch/arm/mach-clps711x/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ struct sys_timer;
extern void clps711x_map_io(void);
extern void clps711x_init_irq(void);
extern struct sys_timer clps711x_timer;
extern void clps711x_restart(char mode, const char *cmd);
1 change: 1 addition & 0 deletions arch/arm/mach-clps711x/edb7211-arch.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,5 @@ MACHINE_START(EDB7211, "CL-EDB7211 (EP7211 eval board)")
.reserve = edb7211_reserve,
.init_irq = clps711x_init_irq,
.timer = &clps711x_timer,
.restart = clps711x_restart,
MACHINE_END
1 change: 1 addition & 0 deletions arch/arm/mach-clps711x/fortunet.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,5 @@ MACHINE_START(FORTUNET, "ARM-FortuNet")
.map_io = clps711x_map_io,
.init_irq = clps711x_init_irq,
.timer = &clps711x_timer,
.restart = clps711x_restart,
MACHINE_END
5 changes: 0 additions & 5 deletions arch/arm/mach-clps711x/include/mach/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,4 @@ static inline void arch_idle(void)
mov r0, r0");
}

static inline void arch_reset(char mode, const char *cmd)
{
soft_restart(0);
}

#endif
1 change: 1 addition & 0 deletions arch/arm/mach-clps711x/p720t.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ MACHINE_START(P720T, "ARM-Prospector720T")
.map_io = p720t_map_io,
.init_irq = clps711x_init_irq,
.timer = &clps711x_timer,
.restart = clps711x_restart,
MACHINE_END

static int p720t_hw_init(void)
Expand Down
1 change: 1 addition & 0 deletions arch/arm/mach-cns3xxx/cns3420vb.c
Original file line number Diff line number Diff line change
Expand Up @@ -204,4 +204,5 @@ MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
.timer = &cns3xxx_timer,
.handle_irq = gic_handle_irq,
.init_machine = cns3420_init,
.restart = cns3xxx_restart,
MACHINE_END
1 change: 1 addition & 0 deletions arch/arm/mach-cns3xxx/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,6 @@ static inline void cns3xxx_l2x0_init(void) {}
void __init cns3xxx_map_io(void);
void __init cns3xxx_init_irq(void);
void cns3xxx_power_off(void);
void cns3xxx_restart(char, const char *);

#endif /* __CNS3XXX_CORE_H */
Loading

0 comments on commit 7b9dd47

Please sign in to comment.