From: Takashi Sakamoto Date: Wed, 7 Apr 2021 02:49:22 +0000 (+0900) Subject: hwdb: add parser grammar for IEEE 1394 unit function list X-Git-Tag: v249-rc1~354^2~21 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7713f3fc6a2d6bacbc97c5b064fb35f93c1e7c7a;p=thirdparty%2Fsystemd.git hwdb: add parser grammar for IEEE 1394 unit function list In added IEEE 1394 unit function list, I use custom key to detect unit entries in node context. Although the list is not widely used in the most of systemd users, I would like to add parser grammar for testing, by borrowing a bit time in builders. Signed-off-by: Takashi Sakamoto --- diff --git a/hwdb.d/parse_hwdb.py b/hwdb.d/parse_hwdb.py index 24964ff8d16..26dc415d860 100755 --- a/hwdb.d/parse_hwdb.py +++ b/hwdb.d/parse_hwdb.py @@ -72,6 +72,7 @@ TYPES = {'mouse': ('usb', 'bluetooth', 'ps2', '*'), 'joystick': ('i8042', 'rmi', 'bluetooth', 'usb'), 'keyboard': ('name', ), 'sensor': ('modalias', ), + 'ieee1394-unit-function' : ('node', ), } # Patterns that are used to set general properties on a device @@ -82,6 +83,7 @@ GENERAL_MATCHES = {'acpi', 'sdio', 'vmbus', 'OUI', + 'ieee1394', } def upperhex_word(length): @@ -122,6 +124,9 @@ def property_grammar(): mount_matrix = Group(mount_matrix_row + ';' + mount_matrix_row + ';' + mount_matrix_row)('MOUNT_MATRIX') xkb_setting = Optional(Word(alphanums + '+-/@._')) + # Although this set doesn't cover all of characters in database entries, it's enough for test targets. + name_literal = Word(printables + ' ') + props = (('MOUSE_DPI', Group(OneOrMore(dpi_setting))), ('MOUSE_WHEEL_CLICK_ANGLE', INTEGER), ('MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL', INTEGER), @@ -153,6 +158,11 @@ def property_grammar(): ('ACCEL_MOUNT_MATRIX', mount_matrix), ('ACCEL_LOCATION', Or(('display', 'base'))), ('PROXIMITY_NEAR_LEVEL', INTEGER), + ('IEEE1394_UNIT_FUNCTION_MIDI', Or((Literal('0'), Literal('1')))), + ('IEEE1394_UNIT_FUNCTION_AUDIO', Or((Literal('0'), Literal('1')))), + ('IEEE1394_UNIT_FUNCTION_VIDEO', Or((Literal('0'), Literal('1')))), + ('ID_VENDOR_FROM_DATABASE', name_literal), + ('ID_MODEL_FROM_DATABASE', name_literal), ) fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE') for name, val in props]