summaryrefslogtreecommitdiffstats
path: root/sys/tools/acpi_quirks2h.awk
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2004-06-30 04:40:20 +0000
committernjl <njl@FreeBSD.org>2004-06-30 04:40:20 +0000
commitdc22443bf3d78b6245f02a145e4224606b77eae5 (patch)
treef61e7a2c5a9364007398b35112c7d7946315887b /sys/tools/acpi_quirks2h.awk
parentec6be8bb4ae5427ef43d5c8bdaaf976911f3ac50 (diff)
downloadFreeBSD-src-dc22443bf3d78b6245f02a145e4224606b77eae5.zip
FreeBSD-src-dc22443bf3d78b6245f02a145e4224606b77eae5.tar.gz
Complete quirk handling script by matching the in-kernel table format.
Use a union to properly assign values. Collapse some unnecessary variables in the revision rules.
Diffstat (limited to 'sys/tools/acpi_quirks2h.awk')
-rw-r--r--sys/tools/acpi_quirks2h.awk27
1 files changed, 11 insertions, 16 deletions
diff --git a/sys/tools/acpi_quirks2h.awk b/sys/tools/acpi_quirks2h.awk
index 224bb58..6dad71e 100644
--- a/sys/tools/acpi_quirks2h.awk
+++ b/sys/tools/acpi_quirks2h.awk
@@ -55,7 +55,7 @@ NR == 1 {
#
$1 == "name:" {
ENTRY_NAME = $2;
- printf("const struct acpi_table %s[] = {\n", ENTRY_NAME) > OUTPUT;
+ printf("const struct acpi_q_rule %s[] = {\n", ENTRY_NAME) > OUTPUT;
}
#
@@ -77,7 +77,7 @@ $1 == "oem:" {
M = match (REMAINDER, /\"[^\"]*\"/);
OEM_TABLE_ID = substr(REMAINDER, M, RLENGTH);
- printf("\t{ ACPI_TABLE_%s, OEM, %s, %s },\n",
+ printf("\t{ ACPI_TABLE_%s, OEM, {%s}, {%s} },\n",
TABLE, OEM_ID, OEM_TABLE_ID) > OUTPUT;
}
@@ -91,43 +91,38 @@ $1 == "creator:" {
M = match ($0, /\"[^\"]*\"/);
CREATOR = substr($0, M, RLENGTH);
- printf("\t{ ACPI_TABLE_%s, CREATOR, %s },\n", TABLE, CREATOR) > OUTPUT;
+ printf("\t{ ACPI_TABLE_%s, CREATOR, {%s} },\n",
+ TABLE, CREATOR) > OUTPUT;
}
#
# OEM REVISION field
#
$1 == "oem_rev:" {
- TYPE = $2;
+ TABLE = $2;
SIGN = $3;
VALUE = $4;
# Parse operand
OPERAND = trans_sign(SIGN);
- # Parse OEM revision ID
- REV = "OEM_REV";
-
- printf("\t{ ACPI_TABLE_%s, %s, %s, %s },\n",
- TYPE, REV, OPERAND, VALUE) > OUTPUT;
+ printf("\t{ ACPI_TABLE_%s, OEM_REV, {.op = %s}, {.rev = %s} },\n",
+ TABLE, OPERAND, VALUE) > OUTPUT;
}
#
# CREATOR REVISION field
#
$1 == "creator_rev:" {
- TYPE = $2;
+ TABLE = $2;
SIGN = $3;
VALUE = $4;
# Parse operand
OPERAND = trans_sign(SIGN);
- # Parse creator revision ID
- REV = "CREATOR_REV";
-
- printf("\t{ ACPI_TABLE_%s, %s, %s, %s },\n",
- TYPE, REV, OPERAND, VALUE) > OUTPUT;
+ printf("\t{ ACPI_TABLE_%s, CREATOR_REV, {.op = %s}, {.rev = %s} },\n",
+ TABLE, OPERAND, VALUE) > OUTPUT;
}
#
@@ -149,7 +144,7 @@ $1 == "quirks:" {
#
END {
# Header
- printf("const struct acpi_blacklist acpi_quirks_table[] = {\n") \
+ printf("const struct acpi_q_entry acpi_quirks_table[] = {\n") \
> OUTPUT;
# Array of all quirks
OpenPOWER on IntegriCloud