<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/tools/dtoc/test_src_scan.py, branch v2022.01</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/tools/dtoc/test_src_scan.py?h=v2022.01</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/tools/dtoc/test_src_scan.py?h=v2022.01'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2021-07-21T16:27:34Z</updated>
<entry>
<title>dtoc: Detect drivers which do not parse correctly</title>
<updated>2021-07-21T16:27:34Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-07-04T18:19:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=43ba4926702ca0c6d896b8d318b4c596979d2f32'/>
<id>urn:sha1:43ba4926702ca0c6d896b8d318b4c596979d2f32</id>
<content type='text'>
At present if a driver is missing a uclass or compatible stirng, this
is silently ignored. This makes sense in most cases, particularly for
the compatible string, since it is not required except when the driver
is used with of-platdata.

But it is also not very helpful. When there is some sort of problem
with a driver, the missing compatible string (for example) may be the
cause.

Add a warning in this case, showing it only for drivers which are used
by the build.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Walter Lozano &lt;walter.lozano@collabora.com&gt;
</content>
</entry>
<entry>
<title>dtoc: Detect unexpected suffix on .of_match</title>
<updated>2021-07-21T16:27:34Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-07-04T18:19:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=86ff01e890a72fb2b8cefab542d4b9123fe83036'/>
<id>urn:sha1:86ff01e890a72fb2b8cefab542d4b9123fe83036</id>
<content type='text'>
Some rockchip drivers use a suffix on the of_match line which is not
strictly valid. At present this causes the parsing to fail. Fix this
and offer a warning.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>dtoc: Add a stdout check in test_normalized_name()</title>
<updated>2021-07-21T16:27:34Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-07-04T18:19:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4f1727a7e31c192d294280b0379b522f57b54d31'/>
<id>urn:sha1:4f1727a7e31c192d294280b0379b522f57b54d31</id>
<content type='text'>
This test captures output but does not always check it. Add the missing
code and drop the old comment.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>dtoc: Show driver warnings once at the end</title>
<updated>2021-04-06T04:33:19Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-03-26T03:17:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0c59acef34434e47e054957108eb4fa7cef93123'/>
<id>urn:sha1:0c59acef34434e47e054957108eb4fa7cef93123</id>
<content type='text'>
At present warnings are shown as soon as they are discovered in the
source scannner. But the function that detects them may be called multiple
times.

Collect all the warnings and show them at the end.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>dtoc: Support processing the root node</title>
<updated>2021-03-22T06:23:27Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-02-03T13:01:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=50aae3e62d57931afcafec7eb973f222cb3131c7'/>
<id>urn:sha1:50aae3e62d57931afcafec7eb973f222cb3131c7</id>
<content type='text'>
The device for the root node is normally bound by driver model on init.
With devices being instantiated at build time, we must handle the root
device also.

Add support for processing the root node, which may not have a compatible
string.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>dtoc: Set up the uclasses that are used</title>
<updated>2021-03-22T06:23:27Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-02-03T13:01:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=337d6972f5f5294971db52809f83c0454cb4e7ba'/>
<id>urn:sha1:337d6972f5f5294971db52809f83c0454cb4e7ba</id>
<content type='text'>
We only care about uclasses that are actually used. This is determined by
the drivers that use them. Check all the used drivers and build a list of
'valid' uclasses.

Also add references to the uclasses so we can generate C code that uses
them. Attach a uclass to each valid driver.

For the tests, now that we have uclasses we must create an explicit test
for the case where a node does not have one. This should only happen if
the source code does not build, or the source-code scanning fails to find
it.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>dtoc: Warn of duplicate drivers</title>
<updated>2021-03-22T06:23:27Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-02-03T13:01:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=1d97269756a60945e3b9690074d1814198ce5a4e'/>
<id>urn:sha1:1d97269756a60945e3b9690074d1814198ce5a4e</id>
<content type='text'>
If drivers have the same name then we cannot distinguish them. This only
matters if the driver is actually used by dtoc, but in that case, issue
a warning.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>dtoc: Support headers needed for drivers</title>
<updated>2021-03-22T06:23:27Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-02-03T13:01:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=735ddfc638bf3ffdf6888f5502bddbbfa6b3636e'/>
<id>urn:sha1:735ddfc638bf3ffdf6888f5502bddbbfa6b3636e</id>
<content type='text'>
Typically dtoc can detect the header file needed for a driver by looking
for the structs that it uses. For example, if a driver as a .priv_auto
that uses 'struct serial_priv', then dtoc can search header files for the
definition of that struct and use the file.

In some cases, enums are used in drivers, typically with the .data field
of struct udevice_id. Since dtoc does not support searching for these,
add a way to tell dtoc which header to use. This works as a macro included
in the driver definition.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>dtoc: Support tracking the phase of U-Boot</title>
<updated>2021-03-22T06:23:27Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-02-03T13:01:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b00f0066e52413e0f8fd4a84681e6e27c4270c26'/>
<id>urn:sha1:b00f0066e52413e0f8fd4a84681e6e27c4270c26</id>
<content type='text'>
U-Boot operates in several phases, typically TPL, SPL and U-Boot proper.
The latter does not use dtoc.

In some rare cases different drivers are used for two phases. For example,
in TPL it may not be necessary to use the full PCI subsystem, so a simple
driver can be used instead.

This works in the build system simply by compiling in one driver or the
other (e.g. PCI driver + uclass for SPL; simple_bus for TPL). But dtoc has
no way of knowing which code is compiled in for which phase, since it does
not inspect Makefiles or dependency graphs.

So to make this work for dtoc, we need to be able to explicitly mark
drivers with their phase. This is done by adding an empty macro to the
driver. Add support for this in dtoc.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>dtoc: Track nodes which are actually used</title>
<updated>2021-03-22T06:23:27Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-02-03T13:01:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b9319c4f9b103b6c5b10e8592471a29bd9645caf'/>
<id>urn:sha1:b9319c4f9b103b6c5b10e8592471a29bd9645caf</id>
<content type='text'>
Mark all nodes that are actually used, so we can perform extra checks on
them.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
</feed>
