From 914363162019cab74d6e89f47c6cbe5fc7794012 Mon Sep 17 00:00:00 2001 From: Andrea Righi Date: Mon, 30 Jan 2023 09:11:54 +0100 Subject: [PATCH] annotations: make sure to always drop undefined configs Signed-off-by: Andrea Righi --- kconfig/annotations.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/kconfig/annotations.py b/kconfig/annotations.py index 20e7451..84dd4d2 100644 --- a/kconfig/annotations.py +++ b/kconfig/annotations.py @@ -236,6 +236,17 @@ class Annotation(Config): for flavour in arch_flavours: del self.config[conf]['policy'][flavour] self.config[conf]['policy'][arch] = value + # After the first round of compaction we may end up having configs that + # are undefined across all arches, so do another round of compaction to + # drop these settings that are not needed anymore. + for conf in self.config.copy(): + # Remove configs that are all undefined across all arches/flavours + if 'policy' in self.config[conf]: + if list(set(self.config[conf]['policy'].values())) == ['-']: + self.config[conf]['policy'] = {} + # Drop empty rules + if not self.config[conf]['policy']: + del self.config[conf] def save(self, fname: str): """ Save annotations data to the annotation file """ -- 2.31.1