Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

docs: add ABI documentation to the admin-guide book

As we don't want a generic Sphinx extension to execute commands,
change the one proposed to Markus to call the abi_book.pl
script.

Use a script to parse the Documentation/ABI directory and output
it at the admin-guide.

Acked-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/5651482b06500e69a1acdf92152f90a203e6521d.1604042072.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Mauro Carvalho Chehab and committed by
Greg Kroah-Hartman
a7ee04b3 3c543d29

+61 -1
+10
Documentation/admin-guide/abi-obsolete.rst
··· 1 + ABI obsolete symbols 2 + ==================== 3 + 4 + Documents interfaces that are still remaining in the kernel, but are 5 + marked to be removed at some later point in time. 6 + 7 + The description of the interface will document the reason why it is 8 + obsolete and when it can be expected to be removed. 9 + 10 + .. kernel-abi:: $srctree/Documentation/ABI/obsolete
+4
Documentation/admin-guide/abi-removed.rst
··· 1 + ABI removed symbols 2 + =================== 3 + 4 + .. kernel-abi:: $srctree/Documentation/ABI/removed
+13
Documentation/admin-guide/abi-stable.rst
··· 1 + ABI stable symbols 2 + ================== 3 + 4 + Documents the interfaces that the developer has defined to be stable. 5 + 6 + Userspace programs are free to use these interfaces with no 7 + restrictions, and backward compatibility for them will be guaranteed 8 + for at least 2 years. 9 + 10 + Most interfaces (like syscalls) are expected to never change and always 11 + be available. 12 + 13 + .. kernel-abi:: $srctree/Documentation/ABI/stable
+19
Documentation/admin-guide/abi-testing.rst
··· 1 + ABI testing symbols 2 + =================== 3 + 4 + Documents interfaces that are felt to be stable, 5 + as the main development of this interface has been completed. 6 + 7 + The interface can be changed to add new features, but the 8 + current interface will not break by doing this, unless grave 9 + errors or security problems are found in them. 10 + 11 + Userspace programs can start to rely on these interfaces, but they must 12 + be aware of changes that can occur before these interfaces move to 13 + be marked stable. 14 + 15 + Programs that use these interfaces are strongly encouraged to add their 16 + name to the description of these interfaces, so that the kernel 17 + developers can easily notify them if any changes occur. 18 + 19 + .. kernel-abi:: $srctree/Documentation/ABI/testing
+11
Documentation/admin-guide/abi.rst
··· 1 + ===================== 2 + Linux ABI description 3 + ===================== 4 + 5 + .. toctree:: 6 + :maxdepth: 1 7 + 8 + abi-stable 9 + abi-testing 10 + abi-obsolete 11 + abi-removed
+2
Documentation/admin-guide/index.rst
··· 18 18 devices 19 19 sysctl/index 20 20 21 + abi 22 + 21 23 This section describes CPU vulnerabilities and their mitigations. 22 24 23 25 .. toctree::
+2 -1
Documentation/conf.py
··· 38 38 # ones. 39 39 extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', 40 40 'kfigure', 'sphinx.ext.ifconfig', 'automarkup', 41 - 'maintainers_include', 'sphinx.ext.autosectionlabel' ] 41 + 'maintainers_include', 'sphinx.ext.autosectionlabel', 42 + 'kernel_abi'] 42 43 43 44 # 44 45 # cdomain is badly broken in Sphinx 3+. Leaving it out generates *most*