Skip to content

Commit a7ee04b

Browse files
mchehabgregkh
authored andcommitted
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>
1 parent 3c543d2 commit a7ee04b

7 files changed

Lines changed: 61 additions & 1 deletion

File tree

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
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
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
ABI removed symbols
2+
===================
3+
4+
.. kernel-abi:: $srctree/Documentation/ABI/removed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
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
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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

Documentation/admin-guide/abi.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
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

Documentation/admin-guide/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ etc.
1818
devices
1919
sysctl/index
2020

21+
abi
22+
2123
This section describes CPU vulnerabilities and their mitigations.
2224

2325
.. toctree::

Documentation/conf.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@
3838
# ones.
3939
extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include',
4040
'kfigure', 'sphinx.ext.ifconfig', 'automarkup',
41-
'maintainers_include', 'sphinx.ext.autosectionlabel' ]
41+
'maintainers_include', 'sphinx.ext.autosectionlabel',
42+
'kernel_abi']
4243

4344
#
4445
# cdomain is badly broken in Sphinx 3+. Leaving it out generates *most*

0 commit comments

Comments
 (0)