summaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2023-06-05 08:29:38 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2023-06-06 11:34:36 +0200
commit723587ea0ccf4d1526b0be485b3d07c3d98af740 (patch)
tree17790dca727d174e6174a92902a44ca8d3ad534d /arch/mips
parentac98459ce0897021e5073ce5dc31ef15bcf5a322 (diff)
downloadbarebox-723587ea0ccf4d1526b0be485b3d07c3d98af740.tar.gz
barebox-723587ea0ccf4d1526b0be485b3d07c3d98af740.tar.xz
MIPS: longsoon: restart: hide access to zero page
Watchdog on Longsoon appears to be at address 0. Let's use OPTIMIZER_HIDE_VAR, so GCC doesn't warn about it. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230605062939.242063-6-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/mach-loongson/loongson1_reset.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/mips/mach-loongson/loongson1_reset.c b/arch/mips/mach-loongson/loongson1_reset.c
index 85752f4ab8..9b4da217f8 100644
--- a/arch/mips/mach-loongson/loongson1_reset.c
+++ b/arch/mips/mach-loongson/loongson1_reset.c
@@ -11,9 +11,13 @@
static void __noreturn longhorn_restart_soc(struct restart_handler *rst)
{
- __raw_writel(0x1, WDT_EN);
- __raw_writel(0x1, WDT_SET);
- __raw_writel(0x1, WDT_TIMER);
+ void __iomem *wdt = IOMEM(0);
+
+ OPTIMIZER_HIDE_VAR(wdt);
+
+ __raw_writel(0x1, wdt + WDT_EN);
+ __raw_writel(0x1, wdt + WDT_SET);
+ __raw_writel(0x1, wdt + WDT_TIMER);
hang();
}