diff options
author | Andreas Dannenberg <dannenberg@ti.com> | 2018-08-27 15:57:39 +0530 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-09-11 08:32:55 -0400 |
commit | e7012e6e1f9e1c16f093d71bd53b34a6467f07bc (patch) | |
tree | 3ae6f0557351476502ee371cbc4a82c81465e1db /include | |
parent | aec99c9776d33a1c2218f975a02cb1068cdcf579 (diff) |
dm: reset: Update uclass to allow querying reset status
Add a reset operations function pointer to support querying the current
status of a reset control.
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/reset-uclass.h | 8 | ||||
-rw-r--r-- | include/reset.h | 14 |
2 files changed, 22 insertions, 0 deletions
diff --git a/include/reset-uclass.h b/include/reset-uclass.h index c17d738b31..7b5cc3cb3b 100644 --- a/include/reset-uclass.h +++ b/include/reset-uclass.h @@ -76,6 +76,14 @@ struct reset_ops { * @return 0 if OK, or a negative error code. */ int (*rst_deassert)(struct reset_ctl *reset_ctl); + /** + * rst_status - Check reset signal status. + * + * @reset_ctl: The reset signal to check. + * @return 0 if deasserted, positive if asserted, or a negative + * error code. + */ + int (*rst_status)(struct reset_ctl *reset_ctl); }; #endif diff --git a/include/reset.h b/include/reset.h index a7bbc1c331..34ebb096dd 100644 --- a/include/reset.h +++ b/include/reset.h @@ -207,6 +207,15 @@ int reset_deassert(struct reset_ctl *reset_ctl); int reset_deassert_bulk(struct reset_ctl_bulk *bulk); /** + * rst_status - Check reset signal status. + * + * @reset_ctl: The reset signal to check. + * @return 0 if deasserted, positive if asserted, or a negative + * error code. + */ +int reset_status(struct reset_ctl *reset_ctl); + +/** * reset_release_all - Assert/Free an array of previously requested resets. * * For each reset contained in the reset array, this function will check if @@ -279,6 +288,11 @@ static inline int reset_deassert_bulk(struct reset_ctl_bulk *bulk) return 0; } +static inline int reset_status(struct reset_ctl *reset_ctl) +{ + return -ENOTSUPP; +} + static inline int reset_release_all(struct reset_ctl *reset_ctl, int count) { return 0; |