diff options
author | Mario Six <mario.six@gdsys.cc> | 2018-08-06 10:23:32 +0200 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2018-09-18 00:01:18 -0600 |
commit | 245f5cda69a1332585c2a22a48420f4ca1ab67ad (patch) | |
tree | 6c56d4923d5ec2845ff6d3704321e85a08b46d40 /include/sysreset.h | |
parent | 08f5b0b23a62ac7d1b705241f16df1e3a1cb8ae1 (diff) | |
download | u-boot-245f5cda69a1332585c2a22a48420f4ca1ab67ad.tar.gz |
sysreset: Add get_status method
It's useful to have the reset status of the SoC printed out during reset
(e.g. to learn whether the reset was caused by software or a watchdog).
As a first step to implement this, add a get_status method to the
sysreset class, which enables the caller to get printable information
about the reset status (akin to get_desc in the CPU uclass).
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
Diffstat (limited to 'include/sysreset.h')
-rw-r--r-- | include/sysreset.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/sysreset.h b/include/sysreset.h index 81318bdbf5..a5c0b74a47 100644 --- a/include/sysreset.h +++ b/include/sysreset.h @@ -28,6 +28,14 @@ struct sysreset_ops { * (in which case this method will not actually return) */ int (*request)(struct udevice *dev, enum sysreset_t type); + /** + * get_status() - get printable reset status information + * + * @buf: Buffer to receive the textual reset information + * @size: Size of the passed buffer + * @return 0 if OK, -ve on error + */ + int (*get_status)(struct udevice *dev, char *buf, int size); }; #define sysreset_get_ops(dev) ((struct sysreset_ops *)(dev)->driver->ops) @@ -41,6 +49,15 @@ struct sysreset_ops { int sysreset_request(struct udevice *dev, enum sysreset_t type); /** + * get_status() - get printable reset status information + * + * @buf: Buffer to receive the textual reset information + * @size: Size of the passed buffer + * @return 0 if OK, -ve on error + */ +int sysreset_get_status(struct udevice *dev, char *buf, int size); + +/** * sysreset_walk() - cause a system reset * * This works through the available sysreset devices until it finds one that can |