diff --git a/src/util/drirc_gen.py b/src/util/drirc_gen.py index 0131ddf64ee..9cf7892ece2 100644 --- a/src/util/drirc_gen.py +++ b/src/util/drirc_gen.py @@ -194,15 +194,24 @@ ${driver_prefix}_parse_dri_options(struct ${driver_prefix}_drirc *drirc, } """ -def drirc_validate(conf_paths, sections): +def drirc_validate(conf_paths, sections, driver=None): declared = {opt.name for section in sections for opt in section.options} conf_names = set() for conf_path in conf_paths: tree = ET.parse(conf_path) - for option in tree.iter('option'): - name = option.get('name') - if name: - conf_names.add(name) + if driver is None: + for option in tree.iter('option'): + name = option.get('name') + if name: + conf_names.add(name) + else: + for device in tree.iter('device'): + if device.get('driver') != driver: + continue + for option in device.iter('option'): + name = option.get('name') + if name: + conf_names.add(name) missing = conf_names - declared if missing: print('ERROR: options used in conf but not declared:', file=sys.stderr)