38b1f7a15e
Move all Sphinx related content to folders prefixed with an underscore. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
# Copyright (c) 2020 Nordic Semiconductor ASA
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
"""
|
|
A Sphinx extension for documenting devicetree content. It adds a role and a
|
|
directive with the same name, 'dtcompatible'.
|
|
|
|
:dtcompatible:`vnd,foo`
|
|
|
|
This role can be used inline to make a reference to the generated
|
|
documentation for a devicetree
|
|
compatible given as argument.
|
|
|
|
For example, :dtcompatible:`vnd,foo` would create a reference to the
|
|
generated documentation page for the devicetree binding handling
|
|
compatible "vnd,foo".
|
|
|
|
There may be more than one page for a single compatible. For example,
|
|
that happens if a binding behaves differently depending on the bus the
|
|
node is on. If that occurs, the reference points at a "disambiguation"
|
|
page which links out to all the possibilities, similarly to how Wikipedia
|
|
disambiguation pages work.
|
|
|
|
The Zephyr documentation uses the standard :option: role to refer
|
|
to Kconfig options. The :dtcompatible: option is like that, except
|
|
using its own role to avoid using one that already has a standard meaning.
|
|
(The :option: role is meant for documenting options to command-line programs,
|
|
not Kconfig symbols.)
|
|
|
|
.. dtcompatible:: vnd,foo
|
|
|
|
This directive marks the page where the :dtcompatible: role link goes.
|
|
Do not use it directly. The generated bindings documentation puts these
|
|
in the right places.
|
|
"""
|
|
|
|
def setup(app):
|
|
app.add_crossref_type('dtcompatible', 'dtcompatible')
|
|
|
|
return {
|
|
'parallel_read_safe': True,
|
|
'parallel_write_safe': True,
|
|
}
|