From 505b5e65298e7b25aa2fe3d8ee0799ca8712a629 Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Fri, 20 Apr 2018 18:05:29 -0700 Subject: common: reset_source: Add the notion of "reset source instance" In order to accomodate SoCs that come with multiple watchdogs (or any other reset sources of the same kind) add a notion of "reset source instance", similar to what we already have for bootsource API. Signed-off-by: Andrey Smirnov Signed-off-by: Sascha Hauer --- include/reset_source.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'include') diff --git a/include/reset_source.h b/include/reset_source.h index 3ff06b70ad..c9911c008c 100644 --- a/include/reset_source.h +++ b/include/reset_source.h @@ -27,6 +27,8 @@ enum reset_src_type { #ifdef CONFIG_RESET_SOURCE void reset_source_set_priority(enum reset_src_type, unsigned int priority); enum reset_src_type reset_source_get(void); +void reset_source_set_instance(enum reset_src_type type, int instance); +int reset_source_get_instance(void); unsigned int of_get_reset_source_priority(struct device_node *node); #else static inline void reset_source_set_priority(enum reset_src_type type, @@ -34,11 +36,20 @@ static inline void reset_source_set_priority(enum reset_src_type type, { } +static inline void reset_source_set_instance(enum reset_src_type type, int instance) +{ +} + static inline enum reset_src_type reset_source_get(void) { return RESET_UKWN; } +static inline int reset_source_get_instance(void) +{ + return 0; +} + static inline unsigned int of_get_reset_source_priority(struct device_node *node) { return 0; -- cgit v1.2.3 From 307da7d4ffabd1ab514742259744ad09f0bdeddd Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Fri, 20 Apr 2018 18:05:33 -0700 Subject: common: reset_source: Introduce reset_source_name() Introduce reset_source_name() to get string representation of current reset source. Signed-off-by: Andrey Smirnov Signed-off-by: Sascha Hauer --- common/reset_source.c | 6 ++++++ include/reset_source.h | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'include') diff --git a/common/reset_source.c b/common/reset_source.c index 6a6c4f5daf..338d7b9acb 100644 --- a/common/reset_source.c +++ b/common/reset_source.c @@ -60,6 +60,12 @@ void reset_source_set_priority(enum reset_src_type st, unsigned int priority) } EXPORT_SYMBOL(reset_source_set_priority); +const char *reset_source_name(void) +{ + return reset_src_names[reset_source]; +} +EXPORT_SYMBOL(reset_source_name); + void reset_source_set_instance(enum reset_src_type type, int instance) { if (reset_source == type) diff --git a/include/reset_source.h b/include/reset_source.h index c9911c008c..86e415abcf 100644 --- a/include/reset_source.h +++ b/include/reset_source.h @@ -30,6 +30,7 @@ enum reset_src_type reset_source_get(void); void reset_source_set_instance(enum reset_src_type type, int instance); int reset_source_get_instance(void); unsigned int of_get_reset_source_priority(struct device_node *node); +const char *reset_source_name(void); #else static inline void reset_source_set_priority(enum reset_src_type type, unsigned int priority) @@ -54,6 +55,11 @@ static inline unsigned int of_get_reset_source_priority(struct device_node *node { return 0; } + +static inline const char *reset_source_name(void) +{ + return "unknown"; +} #endif #define RESET_SOURCE_DEFAULT_PRIORITY 100 -- cgit v1.2.3