[PATCH locking/atomics 0/19] Add kernel-doc for more atomic operations

From: Paul E. McKenney
Date: Wed May 10 2023 - 14:15:51 EST


Hello!

This series adds kernel-doc for additional atomic operations by adding
them to the gen-atomics.sh-based scripting. This ends up duplicating
a few entries currently in x86, which this series removes in order to
avoid duplicate-entry warnings from "make htmldocs".

1. locking/atomic: Fix fetch_add_unless missing-period typo.

2. locking/atomic: Add "@" before "true" and "false" for fallback
templates.

3. locking/atomic: Add kernel-doc and docbook_oldnew variables
for headers.

4. locking/atomic: Add kernel-doc header for
arch_${atomic}_${pfx}inc${sfx}${order}.

5. locking/atomic: Add kernel-doc header for
arch_${atomic}_${pfx}dec${sfx}${order}.

6. locking/atomic: Add kernel-doc header for
arch_${atomic}_${pfx}andnot${sfx}${order}.

7. locking/atomic: Add kernel-doc header for
arch_${atomic}_try_cmpxchg${order}.

8. locking/atomic: Add kernel-doc header for
arch_${atomic}_dec_if_positive.

9. locking/atomic: Add kernel-doc header for
arch_${atomic}_dec_unless_positive.

10. locking/atomic: Add kernel-doc header for
arch_${atomic}_inc_unless_negative.

11. locking/atomic: Add kernel-doc header for
arch_${atomic}_set_release.

12. locking/atomic: Add kernel-doc header for
arch_${atomic}_read_acquire.

13. locking/atomic: Script to auto-generate acquire, fence, and
release headers.

14. locking/atomic: Add kernel-doc header for
arch_${atomic}_${pfx}${name}${sfx}_acquire.

15. locking/atomic: Add kernel-doc header for
arch_${atomic}_${pfx}${name}${sfx}_release.

16. locking/atomic: Add kernel-doc header for
arch_${atomic}_${pfx}${name}${sfx}.

17. x86/atomic.h: Remove duplicate kernel-doc headers.

18. locking/atomic: Refrain from generating duplicate fallback
kernel-doc.

19. Add atomic operations to the driver basic API documentation.

Aside: There was much much less drama and pain involved in installing
and running "make htmldocs" than last time around. A big "thank you!"
to whoever made this happen. Here is hoping for a similar degree of
improvement for the next required upgrade! ;-)

Thanx, Paul

------------------------------------------------------------------------

b/Documentation/driver-api/basics.rst | 3
b/arch/x86/include/asm/atomic.h | 60
b/include/linux/atomic/atomic-arch-fallback.h | 6
b/scripts/atomic/acqrel.sh | 67
b/scripts/atomic/chkdup.sh | 27
b/scripts/atomic/fallbacks/acquire | 4
b/scripts/atomic/fallbacks/add_negative | 4
b/scripts/atomic/fallbacks/add_unless | 2
b/scripts/atomic/fallbacks/andnot | 8
b/scripts/atomic/fallbacks/dec | 7
b/scripts/atomic/fallbacks/dec_and_test | 2
b/scripts/atomic/fallbacks/dec_if_positive | 10
b/scripts/atomic/fallbacks/dec_unless_positive | 8
b/scripts/atomic/fallbacks/fence | 2
b/scripts/atomic/fallbacks/fetch_add_unless | 2
b/scripts/atomic/fallbacks/inc | 7
b/scripts/atomic/fallbacks/inc_and_test | 2
b/scripts/atomic/fallbacks/inc_not_zero | 2
b/scripts/atomic/fallbacks/inc_unless_negative | 8
b/scripts/atomic/fallbacks/read_acquire | 7
b/scripts/atomic/fallbacks/release | 2
b/scripts/atomic/fallbacks/set_release | 7
b/scripts/atomic/fallbacks/sub_and_test | 2
b/scripts/atomic/fallbacks/try_cmpxchg | 10
b/scripts/atomic/gen-atomic-fallback.sh | 17
b/scripts/atomic/gen-atomic-instrumented.sh | 17
b/scripts/atomic/gen-atomics.sh | 4
include/linux/atomic/atomic-arch-fallback.h | 1754 +++++++++++++++++++------
scripts/atomic/fallbacks/acquire | 3
scripts/atomic/fallbacks/add_negative | 5
scripts/atomic/fallbacks/add_unless | 5
scripts/atomic/fallbacks/andnot | 5
scripts/atomic/fallbacks/dec | 5
scripts/atomic/fallbacks/dec_and_test | 5
scripts/atomic/fallbacks/dec_if_positive | 5
scripts/atomic/fallbacks/dec_unless_positive | 5
scripts/atomic/fallbacks/fence | 3
scripts/atomic/fallbacks/fetch_add_unless | 5
scripts/atomic/fallbacks/inc | 5
scripts/atomic/fallbacks/inc_and_test | 5
scripts/atomic/fallbacks/inc_not_zero | 5
scripts/atomic/fallbacks/inc_unless_negative | 5
scripts/atomic/fallbacks/read_acquire | 5
scripts/atomic/fallbacks/release | 3
scripts/atomic/fallbacks/set_release | 5
scripts/atomic/fallbacks/sub_and_test | 5
scripts/atomic/fallbacks/try_cmpxchg | 5
47 files changed, 1686 insertions(+), 454 deletions(-)