|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5, v6.14-rc4, v6.14-rc3 |
|
| #
0d5fd968 |
| 10-Feb-2025 |
Mauro Carvalho Chehab <[email protected]> |
scripts/get_abi.py: add support for undefined ABIs
The undefined logic is complex and has lots of magic on it.
Implement it, using the same algorithm we have at get_abi.pl. Yet, some tweaks to opti
scripts/get_abi.py: add support for undefined ABIs
The undefined logic is complex and has lots of magic on it.
Implement it, using the same algorithm we have at get_abi.pl. Yet, some tweaks to optimize performance and to make the code simpler were added here: - at the perl version, the tree graph had loops, so we had to use BFS to traverse it. On this version, the graph is a tree, so, it simplifies the what group for sysfs aliases; - the logic which splits regular expressions into subgroups was re-written to make it faster; - it may optionally use multiple processes to search for symbol matches; - it has some additional debug levels.
Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]> Link: https://lore.kernel.org/r/1529c255845d117696d5af57d8dc05554663afdf.1739182025.git.mchehab+huawei@kernel.org
show more ...
|
| #
aea5e52d |
| 10-Feb-2025 |
Mauro Carvalho Chehab <[email protected]> |
docs: sphinx/kernel_abi: reduce buffer usage for ABI messages
Instead of producing a big message with all ABI contents and then parse as a whole, simplify the code by handling each ABI symbol in sep
docs: sphinx/kernel_abi: reduce buffer usage for ABI messages
Instead of producing a big message with all ABI contents and then parse as a whole, simplify the code by handling each ABI symbol in separate. As an additional benefit, there's no need to place file/line nubers inlined at the data and use a regex to convert them.
Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]> Link: https://lore.kernel.org/r/15be22955e3c6df49d7256c8fd24f62b397ad0ff.1739182025.git.mchehab+huawei@kernel.org
show more ...
|
| #
9bec7870 |
| 10-Feb-2025 |
Mauro Carvalho Chehab <[email protected]> |
scripts/lib/abi/abi_parser.py: use an interactor for ReST output
Instead of printing all results line per line, use an interactor to return each variable as a separate message.
This won't change mu
scripts/lib/abi/abi_parser.py: use an interactor for ReST output
Instead of printing all results line per line, use an interactor to return each variable as a separate message.
This won't change much when using it via command line, but it will help Sphinx integration by providing an interactor that could be used there to handle ABI symbol by symbol.
Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]> Link: https://lore.kernel.org/r/e3c94b8cdfd5e955aa19a703921f364a89089634.1739182025.git.mchehab+huawei@kernel.org
show more ...
|
| #
6b48bea1 |
| 10-Feb-2025 |
Mauro Carvalho Chehab <[email protected]> |
scripts/get_abi.py: add support for symbol search
Add support for searching symbols from Documentation/ABI using regular expressions to match the symbols' names.
Signed-off-by: Mauro Carvalho Cheha
scripts/get_abi.py: add support for symbol search
Add support for searching symbols from Documentation/ABI using regular expressions to match the symbols' names.
Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]> Link: https://lore.kernel.org/r/21b2c48657dde112d5417dcd7e0aa7cd383b9a0a.1739182025.git.mchehab+huawei@kernel.org
show more ...
|
| #
484e9aa6 |
| 10-Feb-2025 |
Mauro Carvalho Chehab <[email protected]> |
scripts/get_abi.py: add a Python tool to generate ReST output
The get_abi.pl script is requiring some care, but it seems that the number of changes on it since when I originally wrote it was not too
scripts/get_abi.py: add a Python tool to generate ReST output
The get_abi.pl script is requiring some care, but it seems that the number of changes on it since when I originally wrote it was not too high.
Maintaining perl scripts without using classes requires a higher efforted than on python, due to global variables management. Also, it sounds easier to find python developer those days than perl ones.
As a plus, using a Python class to handle ABI allows a better integration with Sphinx extensions, allowing, for instance, to let automarkup to generate cross-references for ABI symbols.
With that in mind, rewrite the core of get_abi.pl in Python, using classes, to help producing documentation. This will allow a better integration in the future with the Sphinx ABI extension.
The algorithms used there are the same as the ones in Perl, with a couple of cleanups to remove redundant variables and to help with cross-reference generation. While doing that, remove some code that were important in the past, where ABI files weren't using ReST format.
Some minor improvements were added like using a fixed seed when generating ABI keys for duplicated names, making its results reproductible.
The end script is a little bit faster than the original one (tested on a machine with ssd disks). That's probably because we're now using only pre-compiled regular expressions, and it is using string replacement methods instead of regex where possible.
The new version is a little bit more conservative when converting text to cross-references to avoid adding them into literal blocks.
To ensure that the ReST output is parsing all variables and files properly, the end result was compared using diff with the one produced by the perl script and showed no regressions. There are minor improvements at the results, as it now properly groups What on some special cases. It also better escape some XREF names.
Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]> Link: https://lore.kernel.org/r/71a894211a8b69664711144d9c4f8a0e73d1ae3c.1739182025.git.mchehab+huawei@kernel.org
show more ...
|