target: added lsmod method
Added a wrapper for lsmod that parses the output into named tuples.
diff --git a/devlib/target.py b/devlib/target.py
index b0a3737..98d7871 100644
--- a/devlib/target.py
+++ b/devlib/target.py
@@ -437,6 +437,23 @@
def has(self, modname):
return hasattr(self, identifier(modname))
+ def lsmod(self):
+ lines = self.execute('lsmod').splitlines()
+ entries = []
+ for line in lines[1:]: # first line is the header
+ if not line.strip():
+ continue
+ parts = line.split()
+ name = parts[0]
+ size = int(parts[1])
+ use_count = int(parts[2])
+ if len(parts) > 3:
+ used_by = ''.join(parts).split(',')
+ else:
+ used_by = []
+ entries.append(LsmodEntry(name, size, use_count, used_by))
+ return entries
+
def _update_modules(self, stage):
for mod in self.modules:
if isinstance(mod, dict):
@@ -840,6 +857,7 @@
FstabEntry = namedtuple('FstabEntry', ['device', 'mount_point', 'fs_type', 'options', 'dump_freq', 'pass_num'])
PsEntry = namedtuple('PsEntry', 'user pid ppid vsize rss wchan pc state name')
+LsmodEntry = namedtuple('LsmodEntry', ['name', 'size', 'use_count', 'used_by'])
class Cpuinfo(object):