Message ID | 20230330102013.545588-2-keguang.zhang@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Move Loongson1 restart handler to watchdog driver | expand |
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>
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 --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);
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