Hi Guenter,

Please forget this implementation of ST LPC Watchdog, Lee has provided a new patchset. Search for "[STLinux Kernel] [PATCH 0/8] mfd: watchdog: rtc: New driver for ST's LPC IP"

    David

On 01/13/2015 03:23 PM, Guenter Roeck wrote:
On Thu, Oct 23, 2014 at 04:18:44PM +0100, Lee Jones wrote:
Signed-off-by: David Paris <david.pa...@st.com>
Signed-off-by: Lee Jones <lee.jo...@linaro.org>
Digging myself out of my hole. Sorry for the laaaate reply.

---
  drivers/watchdog/Kconfig  |  16 +++
  drivers/watchdog/Makefile |   1 +
  drivers/watchdog/st_wdt.c | 317 ++++++++++++++++++++++++++++++++++++++++++++++
  3 files changed, 334 insertions(+)
  create mode 100644 drivers/watchdog/st_wdt.c

diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index f57312f..c8abf57 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -432,6 +432,22 @@ config SIRFSOC_WATCHDOG
          Support for CSR SiRFprimaII and SiRFatlasVI watchdog. When
          the watchdog triggers the system will be reset.
+config ST_WATCHDOG
+       tristate "STMicroelectronics LPC Watchdog"
+       depends on ARCH_STI && OF
+       depends on !RTC_DRV_ST_LPC
RTC_DRV_ST_LPC is not in mainline nor in -next. Is this still current ?

+       select WATCHDOG_CORE
+       help
+        Say Y here to include Watchdog timer support for the watchdog
+        existing in the LPC of STMicroelectronics SOCs.
+        !!! BE CARREFUL !!!
+        This driver shares hardware resources with RTC Alarm part of the
+        LPC. Both LPC Watchdog driver and LPC RTC driver cannot be
+        used together.
+
Arnd has asked if/how this is enforced by the code. Was this ever resolved ?

+        To compile this driver as a module, choose M here: the
+        module will be called st-wdt.
+
[ ... ]

+       watchdog_set_drvdata(&st_wdog_dev, st_wdog);
+       watchdog_set_nowayout(&st_wdog_dev, WATCHDOG_NOWAYOUT);
+
+       /* Init Watchdog timeout with value in DT */
+       ret = watchdog_init_timeout(&st_wdog_dev, 0, &pdev->dev);
+       if (ret) {
+               dev_err(&pdev->dev, "Unable to initialise watchdog timeout\n");
Missing clk_disable_unprepare().

+               return ret;
+       }
+
+       ret = watchdog_register_device(&st_wdog_dev);
+       if (ret) {
+               dev_err(&pdev->dev, "Unable to register watchdog\n");
+               clk_disable_unprepare(clk);
+               return ret;
+       }
+
+       st_wdog_setup(st_wdog, true);
+
+       dev_info(&pdev->dev, "LPC Watchdog driver registered, reset type is %s",
+                st_wdog->warm_reset ? "warm" : "cold");
Missing newline.

Guenter



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to