mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
tools: ynl: fully inherit attrs in subsets
To avoid having to repeat the entire definition of an attribute
(including the value) use the Attr object from the original set.
In fact this is already the documented expectation.
Fixes: be5bea1cc0
("net: add basic C code generators for Netlink")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
ad93bab6b8
commit
7cf93538e0
@@ -95,15 +95,22 @@ class SpecAttrSet(SpecElement):
|
||||
self.attrs = collections.OrderedDict()
|
||||
self.attrs_by_val = collections.OrderedDict()
|
||||
|
||||
val = 0
|
||||
for elem in self.yaml['attributes']:
|
||||
if 'value' in elem:
|
||||
val = elem['value']
|
||||
if self.subset_of is None:
|
||||
val = 0
|
||||
for elem in self.yaml['attributes']:
|
||||
if 'value' in elem:
|
||||
val = elem['value']
|
||||
|
||||
attr = self.new_attr(elem, val)
|
||||
self.attrs[attr.name] = attr
|
||||
self.attrs_by_val[attr.value] = attr
|
||||
val += 1
|
||||
attr = self.new_attr(elem, val)
|
||||
self.attrs[attr.name] = attr
|
||||
self.attrs_by_val[attr.value] = attr
|
||||
val += 1
|
||||
else:
|
||||
real_set = family.attr_sets[self.subset_of]
|
||||
for elem in self.yaml['attributes']:
|
||||
attr = real_set[elem['name']]
|
||||
self.attrs[attr.name] = attr
|
||||
self.attrs_by_val[attr.value] = attr
|
||||
|
||||
def new_attr(self, elem, value):
|
||||
return SpecAttr(self.family, self, elem, value)
|
||||
|
Reference in New Issue
Block a user