1. 23 9月, 2016 1 次提交
  2. 17 3月, 2016 1 次提交
  3. 28 12月, 2015 1 次提交
  4. 22 6月, 2015 2 次提交
  5. 18 2月, 2015 2 次提交
    • D
      watchdog: dw_wdt: Try to get a 30 second watchdog by default · b5ade9bc
      Doug Anderson 提交于
      The dw_wdt_set_top() function takes in a value in seconds.  In
      dw_wdt_open() we were calling it with a value that's supposed to
      represent the maximum value programmed into the "top" register with a
      comment saying that we were trying to set the watchdog to its maximum
      value.  Instead we ended up setting the watchdog to ~15 seconds.
      
      Let's fix this.  However, setting things to the "max" gives me an 86
      second watchdog in the system I'm looking at.  86 seconds feels a
      little too long.  We'll explicitly choose 30 seconds as a more
      reasonable value.
      
      NOTE: Ideally this driver should be transitioned to be a real watchdog
      driver.  Then we could use "watchdog_init_timeout" and let the timeout
      be specified in a number of ways (device tree, module parameter, etc).
      This patch should be considered a bit of a stopgap solution.
      Signed-off-by: NDoug Anderson <dianders@chromium.org>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      b5ade9bc
    • D
      watchdog: dw_wdt: pat the watchdog before enabling it · a0085010
      Doug Anderson 提交于
      On some dw_wdt implementations the "top" register may be initted to 0
      at bootup.  In such a case, each "pat" of the watchdog will reset the
      timer to 0xffff.  That's pretty short.
      
      The input clock of the wdt can be any of a wide range of values.  On
      an rk3288 system, I've seen the wdt clock be 24.75 MHz.  That means
      each tick is ~40ns and we'll count to 0xffff in ~2.6ms.
      
      Because of the above two facts, it's a really good idea to pat the
      watchdog after initting the "top" register properly and before
      enabling the watchdog.  If you don't then there's no way we'll get the
      next heartbeat in time.
      
      Jisheng Zhang fixed this problem on some dw_wdt versions by using the
      TOP_INIT feature.  However, the dw_wdt on rk3288 doesn't have TOP_INIT
      so it's a good idea to also pat the watchdog manually.
      Signed-off-by: NDoug Anderson <dianders@chromium.org>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      a0085010
  6. 21 10月, 2014 2 次提交
  7. 20 10月, 2014 1 次提交
  8. 06 8月, 2014 1 次提交
  9. 29 1月, 2014 1 次提交
  10. 18 11月, 2013 5 次提交
  11. 12 7月, 2013 2 次提交
  12. 26 1月, 2013 1 次提交
  13. 29 11月, 2012 3 次提交
  14. 28 3月, 2012 2 次提交
  15. 27 1月, 2012 1 次提交
    • J
      watchdog: dw_wdt.c: use devm_request_and_ioremap · 52ea9a7d
      Julia Lawall 提交于
      Reimplement a call to devm_request_mem_region followed by a call to ioremap
      or ioremap_nocache by a call to devm_request_and_ioremap.
      
      The semantic patch that makes this transformation is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @nm@
      expression myname;
      identifier i;
      @@
      
      struct platform_driver i = { .driver = { .name = myname } };
      
      @@
      expression dev,res,size;
      expression nm.myname;
      @@
      
      -if (!devm_request_mem_region(dev, res->start, size,
      -                              \(res->name\|dev_name(dev)\|myname\))) {
      -   ...
      -   return ...;
      -}
      ... when != res->start
      (
      -devm_ioremap(dev,res->start,size)
      +devm_request_and_ioremap(dev,res)
      |
      -devm_ioremap_nocache(dev,res->start,size)
      +devm_request_and_ioremap(dev,res)
      )
      ... when any
          when != res->start
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      52ea9a7d
  16. 06 1月, 2012 1 次提交
    • A
      watchdog: convert drivers/watchdog/* to use module_platform_driver() · b8ec6118
      Axel Lin 提交于
      This patch converts the drivers in drivers/watchdog/* to use the
      module_platform_driver() macro which makes the code smaller and a bit
      simpler.
      Signed-off-by: NAxel Lin <axel.lin@gmail.com>
      Cc: Nicolas Thill <nico@openwrt.org>
      Cc: Florian Fainelli <florian@openwrt.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Paul Cercueil <paul@crapouillou.net>
      Cc: Marc Zyngier <maz@misterjones.org>
      Cc: Wan ZongShun <mcuos.com@gmail.com>
      Cc: Alejandro Cabrera <aldaya@gmail.com>
      Cc: "George G. Davis" <gdavis@mvista.com>
      Cc: Sylver Bruneau <sylver.bruneau@googlemail.com>
      Cc: Vitaly Wool <vital@embeddedalley.com>
      Cc: Mika Westerberg <mika.westerberg@iki.fi>
      Cc: Timo Kokkonen <timo.t.kokkonen@nokia.com>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      b8ec6118
  17. 22 7月, 2011 1 次提交