[tip: locking/core] locking/atomic: docs: Add atomic operations to the driver basic API documentation

From: tip-bot2 for Paul E. McKenney
Date: Tue Jun 06 2023 - 04:26:22 EST


The following commit has been merged into the locking/core branch of tip:

Commit-ID: e74f4059d11f36e936b08e98bc96f654c308807a
Gitweb: https://git.kernel.org/tip/e74f4059d11f36e936b08e98bc96f654c308807a
Author: Paul E. McKenney <paulmck@xxxxxxxxxx>
AuthorDate: Mon, 05 Jun 2023 08:01:23 +01:00
Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
CommitterDate: Mon, 05 Jun 2023 09:57:24 +02:00

locking/atomic: docs: Add atomic operations to the driver basic API documentation

Add the generated atomic headers to driver-api/basics.rst in order to
provide documentation for the Linux kernel's atomic operations.

At the same time, dtop the x86 atomic header, which provides kerneldoc
comments for some arch_atomic*_*() operations. The arch_atomic*_*()
operations are now purely an implenentation detail of the
raw_atomic*_*() ops, and outside of implementing the atomics, code
should use the raw_atomic*_*() forms.

[Mark: add atomic-{instrumented,long}.h, update commit message]
Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20230605070124.3741859-27-mark.rutland@xxxxxxx
---
Documentation/driver-api/basics.rst | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/Documentation/driver-api/basics.rst b/Documentation/driver-api/basics.rst
index 4b4d8e2..7671b53 100644
--- a/Documentation/driver-api/basics.rst
+++ b/Documentation/driver-api/basics.rst
@@ -84,7 +84,13 @@ Reference counting
Atomics
-------

-.. kernel-doc:: arch/x86/include/asm/atomic.h
+.. kernel-doc:: include/linux/atomic/atomic-instrumented.h
+ :internal:
+
+.. kernel-doc:: include/linux/atomic/atomic-arch-fallback.h
+ :internal:
+
+.. kernel-doc:: include/linux/atomic/atomic-long.h
:internal:

Kernel objects manipulation