mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-27 23:20:26 +09:00
dtoc: remove compatible string aliases support
After latest improvements in dtoc, compatible strings are checked against driver and driver alias list to get a valid driver name. With this new feature the list of compatible string aliases seems not useful any more. Signed-off-by: Walter Lozano <walter.lozano@collabora.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
df17cdc9cf
commit
e9ab331ca6
@ -141,9 +141,6 @@ class DtbPlatdata(object):
|
|||||||
_outfile: The current output file (sys.stdout or a real file)
|
_outfile: The current output file (sys.stdout or a real file)
|
||||||
_warning_disabled: true to disable warnings about driver names not found
|
_warning_disabled: true to disable warnings about driver names not found
|
||||||
_lines: Stashed list of output lines for outputting in the future
|
_lines: Stashed list of output lines for outputting in the future
|
||||||
_aliases: Dict that hold aliases for compatible strings
|
|
||||||
key: First compatible string declared in a node
|
|
||||||
value: List of additional compatible strings declared in a node
|
|
||||||
_drivers: List of valid driver names found in drivers/
|
_drivers: List of valid driver names found in drivers/
|
||||||
_driver_aliases: Dict that holds aliases for driver names
|
_driver_aliases: Dict that holds aliases for driver names
|
||||||
key: Driver alias declared with
|
key: Driver alias declared with
|
||||||
@ -161,7 +158,6 @@ class DtbPlatdata(object):
|
|||||||
self._outfile = None
|
self._outfile = None
|
||||||
self._warning_disabled = warning_disabled
|
self._warning_disabled = warning_disabled
|
||||||
self._lines = []
|
self._lines = []
|
||||||
self._aliases = {}
|
|
||||||
self._drivers = []
|
self._drivers = []
|
||||||
self._driver_aliases = {}
|
self._driver_aliases = {}
|
||||||
self._links = []
|
self._links = []
|
||||||
@ -496,10 +492,6 @@ class DtbPlatdata(object):
|
|||||||
prop.Widen(struct[name])
|
prop.Widen(struct[name])
|
||||||
upto += 1
|
upto += 1
|
||||||
|
|
||||||
struct_name, aliases = self.get_normalized_compat_name(node)
|
|
||||||
for alias in aliases:
|
|
||||||
self._aliases[alias] = struct_name
|
|
||||||
|
|
||||||
return structs
|
return structs
|
||||||
|
|
||||||
def scan_phandles(self):
|
def scan_phandles(self):
|
||||||
@ -562,11 +554,6 @@ class DtbPlatdata(object):
|
|||||||
self.out(';\n')
|
self.out(';\n')
|
||||||
self.out('};\n')
|
self.out('};\n')
|
||||||
|
|
||||||
for alias, struct_name in self._aliases.items():
|
|
||||||
if alias not in sorted(structs):
|
|
||||||
self.out('#define %s%s %s%s\n'% (STRUCT_PREFIX, alias,
|
|
||||||
STRUCT_PREFIX, struct_name))
|
|
||||||
|
|
||||||
def output_node(self, node):
|
def output_node(self, node):
|
||||||
"""Output the C code for a node
|
"""Output the C code for a node
|
||||||
|
|
||||||
|
@ -294,7 +294,6 @@ struct dtd_sandbox_gpio {
|
|||||||
\tbool\t\tgpio_controller;
|
\tbool\t\tgpio_controller;
|
||||||
\tfdt32_t\t\tsandbox_gpio_count;
|
\tfdt32_t\t\tsandbox_gpio_count;
|
||||||
};
|
};
|
||||||
#define dtd_sandbox_gpio_alias dtd_sandbox_gpio
|
|
||||||
''', data)
|
''', data)
|
||||||
|
|
||||||
self.run_test(['platdata'], dtb_file, output)
|
self.run_test(['platdata'], dtb_file, output)
|
||||||
@ -559,48 +558,6 @@ void dm_populate_phandle_data(void) {
|
|||||||
self.assertIn("Node 'phandle-target' has no cells property",
|
self.assertIn("Node 'phandle-target' has no cells property",
|
||||||
str(e.exception))
|
str(e.exception))
|
||||||
|
|
||||||
def test_aliases(self):
|
|
||||||
"""Test output from a node with multiple compatible strings"""
|
|
||||||
dtb_file = get_dtb_file('dtoc_test_aliases.dts')
|
|
||||||
output = tools.GetOutputFilename('output')
|
|
||||||
self.run_test(['struct'], dtb_file, output)
|
|
||||||
with open(output) as infile:
|
|
||||||
data = infile.read()
|
|
||||||
self._CheckStrings(HEADER + '''
|
|
||||||
struct dtd_compat1 {
|
|
||||||
\tfdt32_t\t\tintval;
|
|
||||||
};
|
|
||||||
struct dtd_simple_bus {
|
|
||||||
\tfdt32_t\t\tintval;
|
|
||||||
};
|
|
||||||
#define dtd_compat2_1_fred dtd_compat1
|
|
||||||
#define dtd_compat3 dtd_compat1
|
|
||||||
''', data)
|
|
||||||
|
|
||||||
self.run_test(['platdata'], dtb_file, output)
|
|
||||||
with open(output) as infile:
|
|
||||||
data = infile.read()
|
|
||||||
self._CheckStrings(C_HEADER + '''
|
|
||||||
static struct dtd_compat1 dtv_spl_test = {
|
|
||||||
\t.intval\t\t\t= 0x1,
|
|
||||||
};
|
|
||||||
U_BOOT_DEVICE(spl_test) = {
|
|
||||||
\t.name\t\t= "compat1",
|
|
||||||
\t.platdata\t= &dtv_spl_test,
|
|
||||||
\t.platdata_size\t= sizeof(dtv_spl_test),
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct dtd_simple_bus dtv_spl_test2 = {
|
|
||||||
\t.intval\t\t\t= 0x1,
|
|
||||||
};
|
|
||||||
U_BOOT_DEVICE(spl_test2) = {
|
|
||||||
\t.name\t\t= "simple_bus",
|
|
||||||
\t.platdata\t= &dtv_spl_test2,
|
|
||||||
\t.platdata_size\t= sizeof(dtv_spl_test2),
|
|
||||||
};
|
|
||||||
|
|
||||||
''' + C_EMPTY_POPULATE_PHANDLE_DATA, data)
|
|
||||||
|
|
||||||
def test_addresses64(self):
|
def test_addresses64(self):
|
||||||
"""Test output from a node with a 'reg' property with na=2, ns=2"""
|
"""Test output from a node with a 'reg' property with na=2, ns=2"""
|
||||||
dtb_file = get_dtb_file('dtoc_test_addr64.dts')
|
dtb_file = get_dtb_file('dtoc_test_addr64.dts')
|
||||||
|
Loading…
Reference in New Issue
Block a user