gemini: drop Linux 4.1 support
[openwrt/openwrt.git] / target / linux / gemini / patches / 111-arm-gemini-add-watchdog-device.patch
diff --git a/target/linux/gemini/patches/111-arm-gemini-add-watchdog-device.patch b/target/linux/gemini/patches/111-arm-gemini-add-watchdog-device.patch
new file mode 100644 (file)
index 0000000..ab32e9e
--- /dev/null
@@ -0,0 +1,33 @@
+--- a/arch/arm/mach-gemini/devices.c
++++ b/arch/arm/mach-gemini/devices.c
+@@ -116,3 +116,20 @@ int __init platform_register_rtc(void)
+       return platform_device_register(&gemini_rtc_device);
+ }
++static struct resource wdt_resource = {
++      .start  = GEMINI_WAQTCHDOG_BASE,
++      .end    = GEMINI_WAQTCHDOG_BASE + 0x18,
++      .flags  = IORESOURCE_MEM,
++};
++
++static struct platform_device wdt_device = {
++      .name           = "gemini-wdt",
++      .id             = 0,
++      .resource       = &wdt_resource,
++      .num_resources  = 1,
++};
++
++int __init platform_register_watchdog(void)
++{
++      return platform_device_register(&wdt_device);
++}
+--- a/arch/arm/mach-gemini/common.h
++++ b/arch/arm/mach-gemini/common.h
+@@ -27,6 +27,7 @@ extern int platform_register_uart(void);
+ extern int platform_register_pflash(unsigned int size,
+                                   struct mtd_partition *parts,
+                                   unsigned int nr_parts);
++extern int platform_register_watchdog(void);
+ extern void gemini_restart(enum reboot_mode mode, const char *cmd);