Nokia RX-51: Enable CONFIG_WDT to remove deprecation warning
[platform/kernel/u-boot.git] / board / nokia / rx51 / rx51.c
index 7bd5fbd..fd3cec8 100644 (file)
@@ -26,6 +26,7 @@
 #include <env.h>
 #include <init.h>
 #include <watchdog.h>
+#include <wdt.h>
 #include <malloc.h>
 #include <twl4030.h>
 #include <i2c.h>
@@ -487,20 +488,20 @@ static unsigned long int twl_wd_time; /* last time of watchdog reset */
 static unsigned long int twl_i2c_lock;
 
 /*
- * Routine: hw_watchdog_reset
+ * Routine: rx51_watchdog_reset
  * Description: Reset timeout of twl4030 watchdog.
  */
-void hw_watchdog_reset(void)
+static int rx51_watchdog_reset(struct udevice *dev)
 {
        u8 timeout = 0;
 
        /* do not reset watchdog too often - max every 4s */
        if (get_timer(twl_wd_time) < 4 * CONFIG_SYS_HZ)
-               return;
+               return 0;
 
        /* localy lock twl4030 i2c bus */
        if (test_and_set_bit(0, &twl_i2c_lock))
-               return;
+               return 0;
 
        /* read actual watchdog timeout */
        twl4030_i2c_read_u8(TWL4030_CHIP_PM_RECEIVER,
@@ -517,8 +518,32 @@ void hw_watchdog_reset(void)
 
        /* localy unlock twl4030 i2c bus */
        test_and_clear_bit(0, &twl_i2c_lock);
+
+       return 0;
+}
+
+static int rx51_watchdog_start(struct udevice *dev, u64 timeout_ms, ulong flags)
+{
+       return 0;
 }
 
+static int rx51_watchdog_probe(struct udevice *dev)
+{
+       return 0;
+}
+
+static const struct wdt_ops rx51_watchdog_ops = {
+       .start = rx51_watchdog_start,
+       .reset = rx51_watchdog_reset,
+};
+
+U_BOOT_DRIVER(rx51_watchdog) = {
+       .name = "rx51_watchdog",
+       .id = UCLASS_WDT,
+       .ops = &rx51_watchdog_ops,
+       .probe = rx51_watchdog_probe,
+};
+
 /*
  * TWL4030 keypad handler for cfb_console
  */
@@ -722,3 +747,7 @@ U_BOOT_DRVINFOS(rx51_i2c) = {
        { "i2c_omap", &rx51_i2c[1] },
        { "i2c_omap", &rx51_i2c[2] },
 };
+
+U_BOOT_DRVINFOS(rx51_watchdog) = {
+       { "rx51_watchdog" },
+};