diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2018-05-09 14:17:05 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-05-09 14:17:05 +0200 |
commit | a126440dd736cfbd60ddbdf9e2a9be78abfff4fe (patch) | |
tree | 554c55c784b5464f94b5607319bae3648eea9655 /common | |
parent | 93c5d36b6520b8caed7cedcc5e4f18c8c68dc25c (diff) | |
parent | 046ac573e07cb10987230f281e5c13d32a2a9119 (diff) | |
download | barebox-a126440dd736cfbd60ddbdf9e2a9be78abfff4fe.tar.gz barebox-a126440dd736cfbd60ddbdf9e2a9be78abfff4fe.tar.xz |
Merge branch 'for-next/imx-reset-reason'
Diffstat (limited to 'common')
-rw-r--r-- | common/reset_source.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/common/reset_source.c b/common/reset_source.c index 06e2ca85f5..338d7b9acb 100644 --- a/common/reset_source.c +++ b/common/reset_source.c @@ -32,6 +32,7 @@ static const char * const reset_src_names[] = { static enum reset_src_type reset_source; static unsigned int reset_source_priority; +static int reset_source_instance; enum reset_src_type reset_source_get(void) { @@ -39,6 +40,12 @@ enum reset_src_type reset_source_get(void) } EXPORT_SYMBOL(reset_source_get); +int reset_source_get_instance(void) +{ + return reset_source_instance; +} +EXPORT_SYMBOL(reset_source_get_instance); + void reset_source_set_priority(enum reset_src_type st, unsigned int priority) { if (priority <= reset_source_priority) @@ -46,17 +53,33 @@ void reset_source_set_priority(enum reset_src_type st, unsigned int priority) reset_source = st; reset_source_priority = priority; + reset_source_instance = 0; pr_debug("Setting reset source to %s with priority %d\n", reset_src_names[reset_source], 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) + reset_source_instance = instance; +} +EXPORT_SYMBOL(reset_source_set_instance); + static int reset_source_init(void) { globalvar_add_simple_enum("system.reset", (unsigned int *)&reset_source, reset_src_names, ARRAY_SIZE(reset_src_names)); + globalvar_add_simple_int("system.reset_instance", &reset_source_instance, + "%d"); return 0; } |