Skip to content

Commit 54a4c78

Browse files
committed
Merge tag 'docs/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull documentation updates from Mauro Carvalho Chehab: "A series of patches addressing warnings produced by make htmldocs. This includes: - kernel-doc markup fixes - ReST fixes - Updates at the build system in order to support newer versions of the docs build toolchain (Sphinx) After this series, the number of html build warnings should reduce significantly, and building with Sphinx 3.1 or later should now be supported (although it is still recommended to use Sphinx 2.4.4). As agreed with Jon, I should be sending you a late pull request by the end of the merge window addressing remaining issues with docs build, as there are a number of warning fixes that depends on pull requests that should be happening along the merge window. The end goal is to have a clean htmldocs build on Kernel 5.10. PS. It should be noticed that Sphinx 3.0 is not currently supported, as it lacks support for C domain namespaces. Such feature, needed in order to document uAPI system calls with Sphinx 3.x, was added only on Sphinx 3.1" * tag 'docs/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (75 commits) PM / devfreq: remove a duplicated kernel-doc markup mm/doc: fix a literal block markup workqueue: fix a kernel-doc warning docs: virt: user_mode_linux_howto_v2.rst: fix a literal block markup Input: sparse-keymap: add a description for @sw rcu/tree: docs: document bkvcache new members at struct kfree_rcu_cpu nl80211: docs: add a description for s1g_cap parameter usb: docs: document altmode register/unregister functions kunit: test.h: fix a bad kernel-doc markup drivers: core: fix kernel-doc markup for dev_err_probe() docs: bio: fix a kerneldoc markup kunit: test.h: solve kernel-doc warnings block: bio: fix a warning at the kernel-doc markups docs: powerpc: syscall64-abi.rst: fix a malformed table drivers: net: hamradio: fix document location net: appletalk: Kconfig: Fix docs location dt-bindings: fix references to files converted to yaml memblock: get rid of a :c:type leftover math64.h: kernel-docs: Convert some markups into normal comments media: uAPI: buffer.rst: remove a left-over documentation ...
2 parents 93f3d8f + 3e2ac97 commit 54a4c78

309 files changed

Lines changed: 1952 additions & 2275 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/admin-guide/pm/cpufreq.rst

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
.. SPDX-License-Identifier: GPL-2.0
22
.. include:: <isonum.txt>
33

4-
.. |struct cpufreq_policy| replace:: :c:type:`struct cpufreq_policy <cpufreq_policy>`
54
.. |intel_pstate| replace:: :doc:`intel_pstate <intel_pstate>`
65

76
=======================
@@ -92,16 +91,16 @@ control the P-state of multiple CPUs at the same time and writing to it affects
9291
all of those CPUs simultaneously.
9392

9493
Sets of CPUs sharing hardware P-state control interfaces are represented by
95-
``CPUFreq`` as |struct cpufreq_policy| objects. For consistency,
96-
|struct cpufreq_policy| is also used when there is only one CPU in the given
94+
``CPUFreq`` as struct cpufreq_policy objects. For consistency,
95+
struct cpufreq_policy is also used when there is only one CPU in the given
9796
set.
9897

99-
The ``CPUFreq`` core maintains a pointer to a |struct cpufreq_policy| object for
98+
The ``CPUFreq`` core maintains a pointer to a struct cpufreq_policy object for
10099
every CPU in the system, including CPUs that are currently offline. If multiple
101100
CPUs share the same hardware P-state control interface, all of the pointers
102-
corresponding to them point to the same |struct cpufreq_policy| object.
101+
corresponding to them point to the same struct cpufreq_policy object.
103102

104-
``CPUFreq`` uses |struct cpufreq_policy| as its basic data type and the design
103+
``CPUFreq`` uses struct cpufreq_policy as its basic data type and the design
105104
of its user space interface is based on the policy concept.
106105

107106

Documentation/admin-guide/pstore-blk.rst

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -154,17 +154,11 @@ Configurations for driver
154154
Only a block device driver cares about these configurations. A block device
155155
driver uses ``register_pstore_blk`` to register to pstore/blk.
156156

157-
.. kernel-doc:: fs/pstore/blk.c
158-
:identifiers: register_pstore_blk
159-
160157
A non-block device driver uses ``register_pstore_device`` with
161158
``struct pstore_device_info`` to register to pstore/blk.
162159

163160
.. kernel-doc:: fs/pstore/blk.c
164-
:identifiers: register_pstore_device
165-
166-
.. kernel-doc:: include/linux/pstore_blk.h
167-
:identifiers: pstore_device_info
161+
:export:
168162

169163
Compression and header
170164
----------------------
@@ -237,7 +231,7 @@ For developer reference, here are all the important structures and APIs:
237231
:internal:
238232

239233
.. kernel-doc:: fs/pstore/blk.c
240-
:export:
234+
:internal:
241235

242236
.. kernel-doc:: include/linux/pstore_blk.h
243237
:internal:

Documentation/block/blk-mq.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ Software staging queues
6363
~~~~~~~~~~~~~~~~~~~~~~~
6464

6565
The block IO subsystem adds requests in the software staging queues
66-
(represented by struct :c:type:`blk_mq_ctx`) in case that they weren't sent
66+
(represented by struct blk_mq_ctx) in case that they weren't sent
6767
directly to the driver. A request is one or more BIOs. They arrived at the
68-
block layer through the data structure struct :c:type:`bio`. The block layer
69-
will then build a new structure from it, the struct :c:type:`request` that will
68+
block layer through the data structure struct bio. The block layer
69+
will then build a new structure from it, the struct request that will
7070
be used to communicate with the device driver. Each queue has its own lock and
7171
the number of queues is defined by a per-CPU or per-node basis.
7272

@@ -102,17 +102,17 @@ hardware queue will be drained in sequence according to their mapping.
102102
Hardware dispatch queues
103103
~~~~~~~~~~~~~~~~~~~~~~~~
104104

105-
The hardware queue (represented by struct :c:type:`blk_mq_hw_ctx`) is a struct
105+
The hardware queue (represented by struct blk_mq_hw_ctx) is a struct
106106
used by device drivers to map the device submission queues (or device DMA ring
107107
buffer), and are the last step of the block layer submission code before the
108108
low level device driver taking ownership of the request. To run this queue, the
109109
block layer removes requests from the associated software queues and tries to
110110
dispatch to the hardware.
111111

112112
If it's not possible to send the requests directly to hardware, they will be
113-
added to a linked list (:c:type:`hctx->dispatch`) of requests. Then,
113+
added to a linked list (``hctx->dispatch``) of requests. Then,
114114
next time the block layer runs a queue, it will send the requests laying at the
115-
:c:type:`dispatch` list first, to ensure a fairness dispatch with those
115+
``dispatch`` list first, to ensure a fairness dispatch with those
116116
requests that were ready to be sent first. The number of hardware queues
117117
depends on the number of hardware contexts supported by the hardware and its
118118
device driver, but it will not be more than the number of cores of the system.

Documentation/block/inline-encryption.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Constraints and notes
5252
Design
5353
======
5454

55-
We add a :c:type:`struct bio_crypt_ctx` to :c:type:`struct bio` that can
55+
We add a struct bio_crypt_ctx to struct bio that can
5656
represent an encryption context, because we need to be able to pass this
5757
encryption context from the upper layers (like the fs layer) to the
5858
device driver to act upon.
@@ -85,7 +85,7 @@ blk-mq changes, other block layer changes and blk-crypto-fallback
8585
=================================================================
8686

8787
We add a pointer to a ``bi_crypt_context`` and ``keyslot`` to
88-
:c:type:`struct request`. These will be referred to as the ``crypto fields``
88+
struct request. These will be referred to as the ``crypto fields``
8989
for the request. This ``keyslot`` is the keyslot into which the
9090
``bi_crypt_context`` has been programmed in the KSM of the ``request_queue``
9191
that this request is being sent to.
@@ -118,7 +118,7 @@ of the algorithm being used adheres to spec and functions correctly).
118118
If a ``request queue``'s inline encryption hardware claimed to support the
119119
encryption context specified with a bio, then it will not be handled by the
120120
``blk-crypto-fallback``. We will eventually reach a point in blk-mq when a
121-
:c:type:`struct request` needs to be allocated for that bio. At that point,
121+
struct request needs to be allocated for that bio. At that point,
122122
blk-mq tries to program the encryption context into the ``request_queue``'s
123123
keyslot_manager, and obtain a keyslot, which it stores in its newly added
124124
``keyslot`` field. This keyslot is released when the request is completed.
@@ -188,7 +188,7 @@ keyslots supported by the hardware.
188188
The device driver also needs to tell the KSM how to actually manipulate the
189189
IE hardware in the device to do things like programming the crypto key into
190190
the IE hardware into a particular keyslot. All this is achieved through the
191-
:c:type:`struct blk_ksm_ll_ops` field in the KSM that the device driver
191+
struct blk_ksm_ll_ops field in the KSM that the device driver
192192
must fill up after initing the ``blk_keyslot_manager``.
193193

194194
The KSM also handles runtime power management for the device when applicable

Documentation/conf.py

Lines changed: 62 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,68 @@
4747
#
4848
if major >= 3:
4949
sys.stderr.write('''WARNING: The kernel documentation build process
50-
does not work correctly with Sphinx v3.0 and above. Expect errors
51-
in the generated output.
52-
''')
50+
support for Sphinx v3.0 and above is brand new. Be prepared for
51+
possible issues in the generated output.
52+
''')
53+
if minor > 0 or patch >= 2:
54+
# Sphinx c function parser is more pedantic with regards to type
55+
# checking. Due to that, having macros at c:function cause problems.
56+
# Those needed to be scaped by using c_id_attributes[] array
57+
c_id_attributes = [
58+
# GCC Compiler types not parsed by Sphinx:
59+
"__restrict__",
60+
61+
# include/linux/compiler_types.h:
62+
"__iomem",
63+
"__kernel",
64+
"noinstr",
65+
"notrace",
66+
"__percpu",
67+
"__rcu",
68+
"__user",
69+
70+
# include/linux/compiler_attributes.h:
71+
"__alias",
72+
"__aligned",
73+
"__aligned_largest",
74+
"__always_inline",
75+
"__assume_aligned",
76+
"__cold",
77+
"__attribute_const__",
78+
"__copy",
79+
"__pure",
80+
"__designated_init",
81+
"__visible",
82+
"__printf",
83+
"__scanf",
84+
"__gnu_inline",
85+
"__malloc",
86+
"__mode",
87+
"__no_caller_saved_registers",
88+
"__noclone",
89+
"__nonstring",
90+
"__noreturn",
91+
"__packed",
92+
"__pure",
93+
"__section",
94+
"__always_unused",
95+
"__maybe_unused",
96+
"__used",
97+
"__weak",
98+
"noinline",
99+
100+
# include/linux/memblock.h:
101+
"__init_memblock",
102+
"__meminit",
103+
104+
# include/linux/init.h:
105+
"__init",
106+
"__ref",
107+
108+
# include/linux/linkage.h:
109+
"asmlinkage",
110+
]
111+
53112
else:
54113
extensions.append('cdomain')
55114

Documentation/core-api/genericirq.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,7 @@ functions which are exported.
419419
.. kernel-doc:: kernel/irq/manage.c
420420

421421
.. kernel-doc:: kernel/irq/chip.c
422+
:export:
422423

423424
Internal Functions Provided
424425
===========================
@@ -431,6 +432,7 @@ functions.
431432
.. kernel-doc:: kernel/irq/handle.c
432433

433434
.. kernel-doc:: kernel/irq/chip.c
435+
:internal:
434436

435437
Credits
436438
=======

Documentation/core-api/kernel-api.rst

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -231,12 +231,6 @@ Refer to the file kernel/module.c for more information.
231231
Hardware Interfaces
232232
===================
233233

234-
Interrupt Handling
235-
------------------
236-
237-
.. kernel-doc:: kernel/irq/manage.c
238-
:export:
239-
240234
DMA Channels
241235
------------
242236

Documentation/core-api/workqueue.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,3 +396,5 @@ Kernel Inline Documentations Reference
396396
======================================
397397

398398
.. kernel-doc:: include/linux/workqueue.h
399+
400+
.. kernel-doc:: kernel/workqueue.c

Documentation/dev-tools/kgdb.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -726,7 +726,7 @@ The kernel debugger is organized into a number of components:
726726
- contains an arch-specific trap catcher which invokes
727727
kgdb_handle_exception() to start kgdb about doing its work
728728

729-
- translation to and from gdb specific packet format to :c:type:`pt_regs`
729+
- translation to and from gdb specific packet format to struct pt_regs
730730

731731
- Registration and unregistration of architecture specific trap
732732
hooks
@@ -846,7 +846,7 @@ invokes a callback in the serial core which in turn uses the callback in
846846
the UART driver.
847847

848848
When using kgdboc with a UART, the UART driver must implement two
849-
callbacks in the :c:type:`struct uart_ops <uart_ops>`.
849+
callbacks in the struct uart_ops.
850850
Example from ``drivers/8250.c``::
851851

852852

@@ -875,7 +875,7 @@ kernel when ``CONFIG_KDB_KEYBOARD=y`` is set in the kernel configuration.
875875
The core polled keyboard driver for PS/2 type keyboards is in
876876
``drivers/char/kdb_keyboard.c``. This driver is hooked into the debug core
877877
when kgdboc populates the callback in the array called
878-
:c:type:`kdb_poll_funcs[]`. The kdb_get_kbd_char() is the top-level
878+
:c:expr:`kdb_poll_funcs[]`. The kdb_get_kbd_char() is the top-level
879879
function which polls hardware for single character input.
880880

881881
kgdboc and kms

Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Optional nodes:
3737
supports a single port with a single endpoint.
3838

3939
- See also Documentation/devicetree/bindings/display/tilcdc/panel.txt and
40-
Documentation/devicetree/bindings/display/bridge/ti,tfp410.txt for connecting
40+
Documentation/devicetree/bindings/display/bridge/ti,tfp410.yaml for connecting
4141
tfp410 DVI encoder or lcd panel to lcdc
4242

4343
[1] There is an errata about AM335x color wiring. For 16-bit color mode

0 commit comments

Comments
 (0)