|
|
1.1 root 1: #!/usr/bin/python
2: # Copyright (C) 2011 Red Hat, Inc., Michael S. Tsirkin <[email protected]>
3: #
4: # This file may be distributed under the terms of the GNU GPLv3 license.
5:
6: # Read a preprocessed ASL listing and put each ACPI_EXTRACT
7: # directive in a comment, to make iasl skip it.
8: # We also put each directive on a new line, the machinery
9: # in tools/acpi_extract.py requires this.
10:
11: import re;
12: import sys;
13: import fileinput;
14:
15: def die(diag):
16: sys.stderr.write("Error: %s\n" % (diag))
17: sys.exit(1)
18:
19: # Note: () around pattern make split return matched string as part of list
20: psplit = re.compile(r''' (
21: \b # At word boundary
22: ACPI_EXTRACT_\w+ # directive
23: \s+ # some whitespace
24: \w+ # array name
25: )''', re.VERBOSE);
26:
27: lineno = 0
28: for line in fileinput.input():
29: # line number and debug string to output in case of errors
30: lineno = lineno + 1
31: debug = "input line %d: %s" % (lineno, line.rstrip())
32:
33: s = psplit.split(line);
34: # The way split works, each odd item is the matching ACPI_EXTRACT directive.
35: # Put each in a comment, and on a line by itself.
36: for i in range(len(s)):
37: if (i % 2):
38: sys.stdout.write("\n/* %s */\n" % s[i])
39: else:
40: sys.stdout.write(s[i])
41:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.