Lines Matching +full:python3 +full:- +full:dev

1 #!/usr/bin/env python3
6 # SPDX-License-Identifier: Apache-2.0
12 This information is encoded in the first-pass binary using identifiers
17 For example the sensor might have a first-pass handle defined by its
26 driver-specific object file.
38 'dts', 'python-devicetree', 'src'))
47 parser.add_argument("-k", "--kernel", required=True,
49 parser.add_argument("--dynamic-deps", action="store_true",
51 parser.add_argument("-d", "--num-dynamic-devices", required=False, default=0,
53 parser.add_argument("-o", "--output-source", required=True,
55 parser.add_argument("-g", "--output-graphviz",
57 parser.add_argument("-z", "--zephyr-base",
61 parser.add_argument("-s", "--start-symbol", required=True,
71 sys.exit("-z / --zephyr-base not provided. Please provide "
72 "--zephyr-base or set ZEPHYR_BASE in environment")
76 def c_handle_comment(dev, handles): argument
77 def dev_path_str(dev): argument
78 return dev.edt_node and dev.edt_node.path or dev.sym.name
81 '/* {:d} : {:s}:'.format(dev.handle, (dev_path_str(dev))),
86 lines.append(' * - {:s}'.format(dev_path_str(dep)))
90 lines.append(' * - {:s}'.format(dev_path_str(dep)))
94 lines.append(' * - {:s}'.format(dev_path_str(sup)))
98 def c_handle_array(dev, handles, dynamic_deps, extra_support_handles=0): argument
116 'extern {:s} {:s}[{:d}];'.format(ctype, dev.ordinals.sym.name, len(handles)),
118 '{:s}[] = {{ {:s} }};'.format(dev.ordinals.sym.name, ', '.join(handles)),
149 for dev in parsed_elf.devices:
151 # specified order. Sort each sub-category of device handle types
155 "depends": sorted(dev.devs_depends_on, key=lambda d: d.handle),
156 "injected": sorted(dev.devs_depends_on_injected, key=lambda d: d.handle),
157 "supports": sorted(dev.devs_supports, key=lambda d: d.handle),
159 extra_sups = args.num_dynamic_devices if dev.pm and dev.pm.is_power_domain else 0
160 lines = c_handle_comment(dev, sorted_handles)
162 c_handle_array(dev, sorted_handles, args.dynamic_deps, extra_sups)