Fu Wei wrote:
sorry, are you saying : using pre-timeout instead of this half timeout?

But even we have pre-timeout support, pre-timeout  == timeout / 2, it
can not be configured without touch timeout.

if you want pre-timeout  != timeout / 2, we have to modify WCV in the
interrupt routine.
  (because of the explicit watchdog refresh  mechanism)

Could you let me know why we need pre-timeout  here ??:-)

What I meant was that if we had full-blown pre-timeout support in the watchdog layer, then you could use that to implement the panic-on-half-timeout feature.

When pre-timeout is implemented, will you modify the interrupt handler to use it?

>belong upstream.  But like I said, it's just my opinion, and I won't
>complain if I'm outvoted.
  I think this debugging feature is the  purpose of the two-stage
watchdog, if I understand correctly

Hmmm... that make sense. I think maybe you should drop the Kconfig option, and just have "static bool panic_enabled = false;" Also, then do this:

if (panic_enabled) {
        ret = devm_request_irq(dev, irq, sbsa_gwdt_interrupt, 0,
                               pdev->name, gwdt);
        if (ret) {
                dev_err(dev, "unable to request IRQ %d\n", irq);
                return ret;
        }
}

That way, the interrupt handler is never registered if the command-line parameter is not specified.

Reply via email to