diff --git a/drivers/soc/qcom/msm_minidump.c b/drivers/soc/qcom/msm_minidump.c index 3ed713753f1c..7cf2fc95ce99 100644 --- a/drivers/soc/qcom/msm_minidump.c +++ b/drivers/soc/qcom/msm_minidump.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. */ #define pr_fmt(fmt) "Minidump: " fmt @@ -89,6 +89,19 @@ static inline unsigned int set_section_name(const char *name) return ret; } +struct md_region *md_get_region(char *name) +{ + struct md_region *mdr; + int i, regno = minidump_table.num_regions; + + for (i = 0; i < regno; i++) { + mdr = &minidump_table.entry[i]; + if (!strcmp(mdr->name, name)) + return mdr; + } + return NULL; +} + static inline int md_region_num(const char *name, int *seqno) { struct md_ss_region *mde = minidump_table.md_regions; diff --git a/include/soc/qcom/minidump.h b/include/soc/qcom/minidump.h index 5eb78a038608..38676514047f 100644 --- a/include/soc/qcom/minidump.h +++ b/include/soc/qcom/minidump.h @@ -46,6 +46,7 @@ extern int msm_minidump_remove_region(const struct md_region *entry); */ extern int msm_minidump_update_region(int regno, const struct md_region *entry); extern bool msm_minidump_enabled(void); +extern struct md_region *md_get_region(char *name); extern void dump_stack_minidump(u64 sp); extern void md_dump_meminfo(void); extern void md_dump_slabinfo(void); @@ -60,6 +61,7 @@ static inline int msm_minidump_remove_region(const struct md_region *entry) return 0; } static inline bool msm_minidump_enabled(void) { return false; } +static inline struct md_region *md_get_region(char *name) { return NULL; } static inline void dump_stack_minidump(u64 sp) {} static inline void add_trace_event(char *buf, size_t size) {} static inline void md_dump_meminfo(void) {}