diff mbox series

[1/2] MIPS: Loongson32: Remove reset.c

Message ID 20230330102013.545588-2-keguang.zhang@gmail.com
State New
Headers show
Series Move Loongson1 restart handler to watchdog driver | expand

Commit Message

Keguang Zhang March 30, 2023, 10:20 a.m. UTC
The Loongson-1 restart handler will be moved to watchdog driver,
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>
---
 .../include/asm/mach-loongson32/regs-wdt.h    | 15 ------
 arch/mips/loongson32/common/Makefile          |  2 +-
 arch/mips/loongson32/common/reset.c           | 51 -------------------
 3 files changed, 1 insertion(+), 67 deletions(-)
 delete mode 100644 arch/mips/include/asm/mach-loongson32/regs-wdt.h
 delete mode 100644 arch/mips/loongson32/common/reset.c

Comments

Keguang Zhang April 17, 2023, 3:28 a.m. UTC | #1
On Thu, Mar 30, 2023 at 7:33 PM Thomas Bogendoerfer
<tsbogend@alpha.franken.de> wrote:
>
> On Thu, Mar 30, 2023 at 06:20:12PM +0800, Keguang Zhang wrote:
> > The Loongson-1 restart handler will be moved to watchdog driver,
> > 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>
> > ---
> >  .../include/asm/mach-loongson32/regs-wdt.h    | 15 ------
> >  arch/mips/loongson32/common/Makefile          |  2 +-
> >  arch/mips/loongson32/common/reset.c           | 51 -------------------
> >  3 files changed, 1 insertion(+), 67 deletions(-)
> >  delete mode 100644 arch/mips/include/asm/mach-loongson32/regs-wdt.h
> >  delete mode 100644 arch/mips/loongson32/common/reset.c
>
> Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
>
Thomas,
Sorry! I forgot to remove the reference to regs-wdt.h, which will
cause a build error.
Could you please review v2:
https://lore.kernel.org/all/20230330112051.551648-2-keguang.zhang@gmail.com/
Thanks very much!

> --
> Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
> good idea.                                                [ RFC1925, 2.3 ]



--
Best regards,

Keguang Zhang
diff mbox series

Patch

diff --git a/arch/mips/include/asm/mach-loongson32/regs-wdt.h b/arch/mips/include/asm/mach-loongson32/regs-wdt.h
deleted file mode 100644
index c6d345fe13f2..000000000000
--- a/arch/mips/include/asm/mach-loongson32/regs-wdt.h
+++ /dev/null
@@ -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 */
diff --git a/arch/mips/loongson32/common/Makefile b/arch/mips/loongson32/common/Makefile
index 7b49c8260706..f3950d308187 100644
--- a/arch/mips/loongson32/common/Makefile
+++ b/arch/mips/loongson32/common/Makefile
@@ -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
diff --git a/arch/mips/loongson32/common/reset.c b/arch/mips/loongson32/common/reset.c
deleted file mode 100644
index 0c7399b303fb..000000000000
--- a/arch/mips/loongson32/common/reset.c
+++ /dev/null
@@ -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);