<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/Documentation/watchdog, branch linux-4.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-01-31T19:06:24Z</updated>
<entry>
<title>Add sun4v_wdt watchdog driver</title>
<updated>2016-01-31T19:06:24Z</updated>
<author>
<name>wim.coekaerts@oracle.com</name>
</author>
<published>2016-01-29T17:39:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ca0bb0798022732773752fee97bb633c6f3623d2'/>
<id>urn:sha1:ca0bb0798022732773752fee97bb633c6f3623d2</id>
<content type='text'>
This driver adds sparc hypervisor watchdog support. The default
timeout is 60 seconds and the range is between 1 and
31536000 seconds. Both watchdog-resolution and
watchdog-max-timeout MD properties settings are supported.

Signed-off-by: Wim Coekaerts &lt;wim.coekaerts@oracle.com&gt;
Reviewed-by: Julian Calaby &lt;julian.calaby@gmail.com&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>watchdog: Drop pointer to watchdog device from struct watchdog_device</title>
<updated>2016-01-11T20:53:59Z</updated>
<author>
<name>Guenter Roeck</name>
</author>
<published>2016-01-03T23:11:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0254e953537c92df3e7d0176f401a211e944fd61'/>
<id>urn:sha1:0254e953537c92df3e7d0176f401a211e944fd61</id>
<content type='text'>
The lifetime of the watchdog device pointer is different from the lifetime
of its character device. Remove it entirely to avoid race conditions.

Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@iguana.be&gt;
</content>
</entry>
<entry>
<title>watchdog: Add support for creating driver specific sysfs attributes</title>
<updated>2016-01-11T20:53:57Z</updated>
<author>
<name>Guenter Roeck</name>
</author>
<published>2016-01-03T23:11:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=faa584757b63aad42d19f1c6a6eac2c848618f83'/>
<id>urn:sha1:faa584757b63aad42d19f1c6a6eac2c848618f83</id>
<content type='text'>
The Zodiac watchdog driver attaches additional sysfs attributes to the
watchdog device. This has a number of problems: The watchdog device
lifetime differs from the driver lifetime, and the device structure
should therefore not be accessed from drivers. Also, creating sysfs
attributes after driver registration results in a potential race condition
if user space expects the attributes to exist but they don't exist yet.

Add support for creating driver specific sysfs attributes to the watchdog
core to solve the problems.

Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@iguana.be&gt;
</content>
</entry>
<entry>
<title>watchdog: Separate and maintain variables based on variable lifetime</title>
<updated>2015-12-29T19:36:03Z</updated>
<author>
<name>Guenter Roeck</name>
</author>
<published>2015-12-26T00:01:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b4ffb1909843b28f3b1b60197d517b123b7a9b66'/>
<id>urn:sha1:b4ffb1909843b28f3b1b60197d517b123b7a9b66</id>
<content type='text'>
All variables required by the watchdog core to manage a watchdog are
currently stored in struct watchdog_device. The lifetime of those
variables is determined by the watchdog driver. However, the lifetime
of variables used by the watchdog core differs from the lifetime of
struct watchdog_device. To remedy this situation, watchdog drivers
can implement ref and unref callbacks, to be used by the watchdog
core to lock struct watchdog_device in memory.

While this solves the immediate problem, it depends on watchdog drivers
to actually implement the ref/unref callbacks. This is error prone,
often not implemented in the first place, or not implemented correctly.

To solve the problem without requiring driver support, split the variables
in struct watchdog_device into two data structures - one for variables
associated with the watchdog driver, one for variables associated with
the watchdog core. With this approach, the watchdog core can keep track
of its variable lifetime and no longer depends on ref/unref callbacks
in the driver. As a side effect, some of the variables originally in
struct watchdog_driver are now private to the watchdog core and no longer
visible in watchdog drivers.

As a side effect of the changes made, an ioctl will now always fail
with -ENODEV after a watchdog device was unregistered with the character
device still open. Previously, it would only fail with -ENODEV in some
situations. Also, ioctl operations are now atomic from driver perspective.
With this change, it is now guaranteed that the driver will not unregister
a watchdog between a timeout change and the subsequent ping.

The 'ref' and 'unref' callbacks in struct watchdog_driver are no longer
used and marked as deprecated.

Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@iguana.be&gt;
</content>
</entry>
<entry>
<title>watchdog: core: add reboot notifier support</title>
<updated>2015-12-13T14:55:51Z</updated>
<author>
<name>Damien Riegel</name>
</author>
<published>2015-11-20T21:54:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e131319669e0ef5e6fcd75174daeffa40492135c'/>
<id>urn:sha1:e131319669e0ef5e6fcd75174daeffa40492135c</id>
<content type='text'>
Many watchdog drivers register a reboot notifier in order to stop the
watchdog on system reboot. Thus we can factorize this code in the
watchdog core.

For that purpose, a new notifier block is added in watchdog_device for
internal use only, as well as a new watchdog_stop_on_reboot helper
function.

If this helper is called, watchdog core registers the related notifier
block and will stop the watchdog when SYS_HALT or SYS_DOWN is received.

Since this operation can be critical on some platforms, abort the device
registration if the reboot notifier registration fails.

Suggested-by: Vivien Didelot &lt;vivien.didelot@savoirfairelinux.com&gt;
Signed-off-by: Damien Riegel &lt;damien.riegel@savoirfairelinux.com&gt;
Reviewed-by: Vivien Didelot &lt;vivien.didelot@savoirfairelinux.com&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@iguana.be&gt;
</content>
</entry>
<entry>
<title>watchdog: core: add restart handler support</title>
<updated>2015-12-13T14:27:10Z</updated>
<author>
<name>Damien Riegel</name>
</author>
<published>2015-11-16T17:27:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2165bf524da5f5e496d1cdb8c5afae1345ecce1e'/>
<id>urn:sha1:2165bf524da5f5e496d1cdb8c5afae1345ecce1e</id>
<content type='text'>
Many watchdog drivers implement the same code to register a restart
handler. This patch provides a generic way to set such a function.

The patch adds a new restart watchdog operation. If a restart priority
greater than 0 is needed, the driver can call
watchdog_set_restart_priority to set it.

Suggested-by: Vivien Didelot &lt;vivien.didelot@savoirfairelinux.com&gt;
Signed-off-by: Damien Riegel &lt;damien.riegel@savoirfairelinux.com&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Reviewed-by: Vivien Didelot &lt;vivien.didelot@savoirfairelinux.com&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@iguana.be&gt;
</content>
</entry>
<entry>
<title>Documentation/watchdog: add timeout and ping rate control to watchdog-test.c</title>
<updated>2015-09-09T19:33:36Z</updated>
<author>
<name>Timur Tabi</name>
</author>
<published>2015-06-29T16:46:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f15d7114bbdd594f1d8b644a44f647d2b6e9772e'/>
<id>urn:sha1:f15d7114bbdd594f1d8b644a44f647d2b6e9772e</id>
<content type='text'>
The watchdog test program is much more useful if it can configure the
timeout value and ping rate.  This will allow you to test actual timeouts.

Adds the -t parameter to set the timeout value (in seconds), and -p to set
the ping rate (number of seconds between pings).

Signed-off-by: Timur Tabi &lt;timur@codeaurora.org&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@iguana.be&gt;
</content>
</entry>
<entry>
<title>watchdog: omap_wdt: early_enable module parameter</title>
<updated>2015-07-01T14:43:17Z</updated>
<author>
<name>Lars Poeschel</name>
</author>
<published>2015-06-25T10:21:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b2102eb36e7909c779e46f66595fda75aa219f4c'/>
<id>urn:sha1:b2102eb36e7909c779e46f66595fda75aa219f4c</id>
<content type='text'>
Add a early_enable module parameter to the omap_wdt that starts the
watchdog on module insertion. The default value is 0 which does not
start the watchdog - which also does not change the behavior if the
parameter is not given.

Signed-off-by: Lars Poeschel &lt;poeschel@lemonage.de&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@iguana.be&gt;
</content>
</entry>
<entry>
<title>watchdog: watchdog_core: Add watchdog registration deferral mechanism</title>
<updated>2015-06-29T09:51:06Z</updated>
<author>
<name>Jean-Baptiste Theou</name>
</author>
<published>2015-06-09T16:55:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ef90174f821041313d42d99c1c8b35a3af64a910'/>
<id>urn:sha1:ef90174f821041313d42d99c1c8b35a3af64a910</id>
<content type='text'>
Currently, watchdog subsystem require the misc subsystem to
register a watchdog. This may not be the case in case of an
early registration of a watchdog, which can be required when
the watchdog cannot be disabled.

This patch introduces a deferral mechanism to remove this requirement.

Signed-off-by: Jean-Baptiste Theou &lt;jtheou@adeneo-embedded.us&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@iguana.be&gt;
</content>
</entry>
<entry>
<title>watchdog: docs: omap_wdt also understands nowayout</title>
<updated>2015-06-22T13:54:36Z</updated>
<author>
<name>Lars Poeschel</name>
</author>
<published>2015-06-17T09:13:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a47911e99fe8d2080426951711a7e776d331ba77'/>
<id>urn:sha1:a47911e99fe8d2080426951711a7e776d331ba77</id>
<content type='text'>
The omap_wdt kernel driver also understands the nowayout module
parameter. This updates the watchdog-parameters.txt to reflect this fact.

Signed-off-by: Lars Poeschel &lt;poeschel@lemonage.de&gt;
Reviewed-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Wim Van Sebroeck &lt;wim@iguana.be&gt;
</content>
</entry>
</feed>
