[][openwrt][mt7988][tops][add cpu utilization fetching]
[Description]
Add cpu utilization fetching and refactor debugfs of trm and tops
Via reading debugfs file(/sys/kernel/debug/tops/trm/cpu-utilization)
to fetch each core's cpu utilization
[Release-log]
N/A
Change-Id: Iff4c965294c3054a54ba92263191856cd5c722c7
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7907085
diff --git a/package-21.02/kernel/tops/src/trm-fs.c b/package-21.02/kernel/tops/src/trm-fs.c
index 3728ee1..81ae77a 100644
--- a/package-21.02/kernel/tops/src/trm-fs.c
+++ b/package-21.02/kernel/tops/src/trm-fs.c
@@ -11,13 +11,13 @@
#include <linux/err.h>
#include <linux/relay.h>
+#include "trm-debugfs.h"
#include "trm-fs.h"
#include "trm-mcu.h"
#include "trm.h"
#define RLY_RETRY_NUM 3
-static struct dentry *debugfs_dir;
static struct rchan *relay;
static bool trm_fs_is_init;
@@ -56,7 +56,7 @@
{
struct dentry *debugfs_file;
- debugfs_file = debugfs_create_file("dump_data", mode,
+ debugfs_file = debugfs_create_file("dump-data", mode,
parent, buf,
&relay_file_operations);
@@ -80,39 +80,22 @@
};
int ret = 0;
- if (!debugfs_dir) {
- debugfs_dir = debugfs_create_dir("tops", NULL);
- if (IS_ERR(debugfs_dir)) {
- ret = PTR_ERR(debugfs_dir);
- goto out;
- }
- }
+ if (!trm_debugfs_root)
+ return -ENOENT;
if (!relay) {
- relay = relay_open("dump_data", debugfs_dir,
+ relay = relay_open("dump-data", trm_debugfs_root,
RLY_DUMP_SUBBUF_SZ,
RLY_DUMP_SUBBUF_NUM,
&relay_cb, NULL);
- if (!relay) {
- ret = -EINVAL;
- goto err_debugfs_remove;
- }
+ if (!relay)
+ return -EINVAL;
}
relay_reset(relay);
trm_fs_is_init = true;
-out:
- return ret;
-
-err_debugfs_remove:
- trm_fs_is_init = false;
-
- debugfs_remove(debugfs_dir);
-
- debugfs_dir = NULL;
-
return ret;
}
@@ -121,6 +104,4 @@
trm_fs_is_init = false;
relay_close(relay);
-
- debugfs_remove(debugfs_dir);
}