dm: core: Add a command to show driver model statistics
This command shows the memory used by driver model along with various
hints as to what it might be if some 'core' tags were moved to use the
tag list instead of a core (i.e. always-there) pointer.
This may help with future work to reduce memory usage.
Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/include/dm/root.h b/include/dm/root.h
index 382f83c..b2f30a8 100644
--- a/include/dm/root.h
+++ b/include/dm/root.h
@@ -182,7 +182,7 @@
/**
* dm_get_mem() - Get stats on memory usage in driver model
*
- * @mem: Place to put the information
+ * @stats: Place to put the information
*/
void dm_get_mem(struct dm_stats *stats);
diff --git a/include/dm/tag.h b/include/dm/tag.h
index 1ea3c9f..745088f 100644
--- a/include/dm/tag.h
+++ b/include/dm/tag.h
@@ -129,4 +129,12 @@
*/
void dev_tag_collect_stats(struct dm_stats *stats);
+/**
+ * tag_get_name() - Get the name of a tag
+ *
+ * @tag: Tag to look up, which must be valid
+ * Returns: Name of tag
+ */
+const char *tag_get_name(enum dm_tag_t tag);
+
#endif /* _DM_TAG_H */
diff --git a/include/dm/util.h b/include/dm/util.h
index c52daa8..e10c606 100644
--- a/include/dm/util.h
+++ b/include/dm/util.h
@@ -6,6 +6,8 @@
#ifndef __DM_UTIL_H
#define __DM_UTIL_H
+struct dm_stats;
+
#if CONFIG_IS_ENABLED(DM_WARN)
#define dm_warn(fmt...) log(LOGC_DM, LOGL_WARNING, ##fmt)
#else
@@ -48,6 +50,13 @@
/* Dump out a list of drivers with static platform data */
void dm_dump_static_driver_info(void);
+/**
+ * dm_dump_mem() - Dump stats on memory usage in driver model
+ *
+ * @mem: Stats to dump
+ */
+void dm_dump_mem(struct dm_stats *stats);
+
#if CONFIG_IS_ENABLED(OF_PLATDATA_INST) && CONFIG_IS_ENABLED(READ_ONLY)
void *dm_priv_to_rw(void *priv);
#else