MIPS: Loongson32: Remove reset.c
Commit 2a31bf2080
("watchdog: loongson1_wdt: Implement restart handler")
implmented .restart ops, Then, _machine_restart is no longer needed.
The _machine_halt and pm_power_off are also unnecessary,
which contain no hardware operations.
Therefore, remove the entire reset.c and related header file.
Update the Makefile accordingly.
Signed-off-by: Keguang Zhang <keguang.zhang@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
This commit is contained in:
parent
745b7908ec
commit
1004be040f
@ -49,6 +49,5 @@
|
||||
#include <regs-mux.h>
|
||||
#include <regs-pwm.h>
|
||||
#include <regs-rtc.h>
|
||||
#include <regs-wdt.h>
|
||||
|
||||
#endif /* __ASM_MACH_LOONGSON32_LOONGSON1_H */
|
||||
|
@ -1,15 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
/*
|
||||
* Copyright (c) 2011 Zhang, Keguang <keguang.zhang@gmail.com>
|
||||
*
|
||||
* Loongson 1 Watchdog Register Definitions.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_MACH_LOONGSON32_REGS_WDT_H
|
||||
#define __ASM_MACH_LOONGSON32_REGS_WDT_H
|
||||
|
||||
#define WDT_EN 0x0
|
||||
#define WDT_TIMER 0x4
|
||||
#define WDT_SET 0x8
|
||||
|
||||
#endif /* __ASM_MACH_LOONGSON32_REGS_WDT_H */
|
@ -3,4 +3,4 @@
|
||||
# Makefile for common code of loongson1 based machines.
|
||||
#
|
||||
|
||||
obj-y += time.o irq.o platform.o prom.o reset.o setup.o
|
||||
obj-y += time.o irq.o platform.o prom.o setup.o
|
||||
|
@ -1,51 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
/*
|
||||
* Copyright (c) 2011 Zhang, Keguang <keguang.zhang@gmail.com>
|
||||
*/
|
||||
|
||||
#include <linux/io.h>
|
||||
#include <linux/pm.h>
|
||||
#include <linux/sizes.h>
|
||||
#include <asm/idle.h>
|
||||
#include <asm/reboot.h>
|
||||
|
||||
#include <loongson1.h>
|
||||
|
||||
static void __iomem *wdt_reg_base;
|
||||
|
||||
static void ls1x_halt(void)
|
||||
{
|
||||
while (1) {
|
||||
if (cpu_wait)
|
||||
cpu_wait();
|
||||
}
|
||||
}
|
||||
|
||||
static void ls1x_restart(char *command)
|
||||
{
|
||||
__raw_writel(0x1, wdt_reg_base + WDT_EN);
|
||||
__raw_writel(0x1, wdt_reg_base + WDT_TIMER);
|
||||
__raw_writel(0x1, wdt_reg_base + WDT_SET);
|
||||
|
||||
ls1x_halt();
|
||||
}
|
||||
|
||||
static void ls1x_power_off(void)
|
||||
{
|
||||
ls1x_halt();
|
||||
}
|
||||
|
||||
static int __init ls1x_reboot_setup(void)
|
||||
{
|
||||
wdt_reg_base = ioremap(LS1X_WDT_BASE, (SZ_4 + SZ_8));
|
||||
if (!wdt_reg_base)
|
||||
panic("Failed to remap watchdog registers");
|
||||
|
||||
_machine_restart = ls1x_restart;
|
||||
_machine_halt = ls1x_halt;
|
||||
pm_power_off = ls1x_power_off;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
arch_initcall(ls1x_reboot_setup);
|
Loading…
Reference in New Issue
Block a user