summaryrefslogtreecommitdiff
path: root/scripts/asoc_dapm_graph
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/asoc_dapm_graph')
-rwxr-xr-xscripts/asoc_dapm_graph95
1 files changed, 0 insertions, 95 deletions
diff --git a/scripts/asoc_dapm_graph b/scripts/asoc_dapm_graph
deleted file mode 100755
index fd43736d..00000000
--- a/scripts/asoc_dapm_graph
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Dump DAPM widgets status as a 'dot' graph file.
-
-To generate widget status for a device run
- ssh $REMOTE asoc_dapm_graph > dot.txt && dot -Kfdp -Tpng dot.txt -o widgets.png
-"""
-
-from __future__ import print_function
-import os
-import platform
-import re
-import sys
-import time
-
-ROOTDIR = '/sys/kernel/debug/asoc/'
-# Some widget names are widely used by many codecs, adding them to the graph
-# creates a mess.
-IGNORE_WIDGETS = ('Playback', 'Capture', 'bias_level')
-
-
-def handle_widgets(path):
- """Reads DAPM widget information from sysfs and generates dot graph entry.
-
- Args:
- path: path for sysfs file that exports information about DAPM widget.
- """
- for w in os.listdir(path):
- if w in IGNORE_WIDGETS:
- continue
-
- with open(os.path.join(path, w)) as f:
- lines = f.readlines()
-
- active = lines[0].startswith(w + ': On ')
- color = 'green' if active else 'red'
- print('\t"%s" [color = %s]' % (w, color))
-
- for l in lines[1:]:
- l = l.rstrip()
- # The string format is (in/out) "switch" "widget".
- edge = list(filter(None, re.split(r' (in|out) "(.+)" "(.+)"', l)))
-
- if len(edge) != 3:
- continue
-
- direction = edge[0]
- source = edge[2]
-
- if source in IGNORE_WIDGETS:
- continue
-
- # We need to output the edge only once (e.g. inbound).
- if direction != 'in':
- continue
-
- print('\t"%s" -> "%s"' % (source, w))
-
-
-def handle_card(path):
- """Generates dot graph file for the given card.
-
- Args:
- path: path to sysfs directory that exports DAPM information for a sound card.
- """
- host = platform.uname()[1]
- print('// Generated %s at %s.' % (time.strftime("%c"), host))
- print('// To visualize the graph run "dot -Kfdp -Tpng $SCRIPT_OUTPUT_FILE -o widgets.png".')
- print('digraph G {')
- print('\tbgcolor = grey')
- for root, dirs, files in os.walk(path):
- if 'dapm' in dirs:
- handle_widgets(os.path.join(root, 'dapm'))
- dirs.remove('dapm')
- print('}')
-
-
-def main(argv):
- for c in os.listdir(ROOTDIR):
- path = os.path.join(ROOTDIR, c)
- # We assume that directories in ROOTDIR are cards.
- if os.path.isdir(path):
- handle_card(path)
- sys.exit(0)
-
- print('No cards found', file=sys.stderr)
- sys.exit(1)
-
-
-if __name__ == '__main__':
- main(sys.argv[1:])
-