From: Mark Rutland <mark.rutland@arm.com>
To: linux-kernel@vger.kernel.org
Cc: akiyks@gmail.com, boqun.feng@gmail.com, corbet@lwn.net,
keescook@chromium.org, linux-arch@vger.kernel.org,
linux@armlinux.org.uk, linux-doc@vger.kernel.org,
mark.rutland@arm.com, paulmck@kernel.org, peterz@infradead.org,
sstabellini@kernel.org, will@kernel.org
Subject: [PATCH 16/26] locking/atomic: scripts: factor out order template generation
Date: Mon, 22 May 2023 13:24:19 +0100 [thread overview]
Message-ID: <20230522122429.1915021-17-mark.rutland@arm.com> (raw)
In-Reply-To: <20230522122429.1915021-1-mark.rutland@arm.com>
Currently gen_proto_order_variants() hard codes the path for the templates used
for order fallbacks. Factor this out into a helper so that it can be reused
elsewhere.
This results in no change to the generated headers, so there should be
no functional change as a result of this patch.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Paul E. McKenney <paulmck@kernel.org>
---
scripts/atomic/gen-atomic-fallback.sh | 34 +++++++++++++--------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/scripts/atomic/gen-atomic-fallback.sh b/scripts/atomic/gen-atomic-fallback.sh
index 7a6bcea8f565b..337330865fa2e 100755
--- a/scripts/atomic/gen-atomic-fallback.sh
+++ b/scripts/atomic/gen-atomic-fallback.sh
@@ -32,6 +32,20 @@ gen_template_fallback()
fi
}
+#gen_order_fallback(meta, pfx, name, sfx, order, atomic, int, args...)
+gen_order_fallback()
+{
+ local meta="$1"; shift
+ local pfx="$1"; shift
+ local name="$1"; shift
+ local sfx="$1"; shift
+ local order="$1"; shift
+
+ local tmpl_order=${order#_}
+ local tmpl="${ATOMICDIR}/fallbacks/${tmpl_order:-fence}"
+ gen_template_fallback "${tmpl}" "${meta}" "${pfx}" "${name}" "${sfx}" "${order}" "$@"
+}
+
#gen_proto_fallback(meta, pfx, name, sfx, order, atomic, int, args...)
gen_proto_fallback()
{
@@ -56,20 +70,6 @@ cat << EOF
EOF
}
-gen_proto_order_variant()
-{
- local meta="$1"; shift
- local pfx="$1"; shift
- local name="$1"; shift
- local sfx="$1"; shift
- local order="$1"; shift
- local atomic="$1"
-
- local basename="arch_${atomic}_${pfx}${name}${sfx}"
-
- printf "#define ${basename}${order} ${basename}${order}\n"
-}
-
#gen_proto_order_variants(meta, pfx, name, sfx, atomic, int, args...)
gen_proto_order_variants()
{
@@ -117,9 +117,9 @@ gen_proto_order_variants()
printf "#else /* ${basename}_relaxed */\n\n"
- gen_template_fallback "${ATOMICDIR}/fallbacks/acquire" "${meta}" "${pfx}" "${name}" "${sfx}" "_acquire" "$@"
- gen_template_fallback "${ATOMICDIR}/fallbacks/release" "${meta}" "${pfx}" "${name}" "${sfx}" "_release" "$@"
- gen_template_fallback "${ATOMICDIR}/fallbacks/fence" "${meta}" "${pfx}" "${name}" "${sfx}" "" "$@"
+ gen_order_fallback "${meta}" "${pfx}" "${name}" "${sfx}" "_acquire" "$@"
+ gen_order_fallback "${meta}" "${pfx}" "${name}" "${sfx}" "_release" "$@"
+ gen_order_fallback "${meta}" "${pfx}" "${name}" "${sfx}" "" "$@"
printf "#endif /* ${basename}_relaxed */\n\n"
}
--
2.30.2
next prev parent reply other threads:[~2023-05-22 12:28 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-22 12:24 [PATCH 00/26] locking/atomic: restructuring + kerneldoc Mark Rutland
2023-05-22 12:24 ` [PATCH 01/26] locking/atomic: arm: fix sync ops Mark Rutland
2023-05-22 12:24 ` [PATCH 02/26] locking/atomic: remove fallback comments Mark Rutland
2023-05-22 12:24 ` [PATCH 03/26] locking/atomic: hexagon: remove redundant arch_atomic_cmpxchg Mark Rutland
2023-05-22 12:24 ` [PATCH 04/26] locking/atomic: make atomic*_{cmp,}xchg optional Mark Rutland
2023-05-22 12:24 ` [PATCH 05/26] locking/atomic: arc: add preprocessor symbols Mark Rutland
2023-05-22 12:24 ` [PATCH 06/26] locking/atomic: arm: " Mark Rutland
2023-05-22 12:24 ` [PATCH 07/26] locking/atomic: hexagon: " Mark Rutland
2023-05-22 12:24 ` [PATCH 08/26] locking/atomic: m68k: " Mark Rutland
2023-05-22 12:24 ` [PATCH 09/26] locking/atomic: parisc: " Mark Rutland
2023-05-22 12:24 ` [PATCH 10/26] locking/atomic: sh: " Mark Rutland
2023-05-22 12:24 ` [PATCH 11/26] locking/atomic: sparc: " Mark Rutland
2023-05-22 12:24 ` [PATCH 12/26] locking/atomic: x86: " Mark Rutland
2023-05-22 12:24 ` [PATCH 13/26] locking/atomic: xtensa: " Mark Rutland
2023-05-22 12:24 ` [PATCH 14/26] locking/atomic: scripts: remove bogus order parameter Mark Rutland
2023-05-22 12:24 ` [PATCH 15/26] locking/atomic: scripts: remove leftover "${mult}" Mark Rutland
2023-05-22 12:24 ` Mark Rutland [this message]
2023-05-22 12:24 ` [PATCH 18/26] locking/atomic: treewide: use raw_atomic*_<op>() Mark Rutland
2023-05-22 12:24 ` [PATCH 19/26] locking/atomic: scripts: build raw_atomic_long*() directly Mark Rutland
2023-05-22 12:24 ` [PATCH 21/26] locking/atomic: scripts: split pfx/name/sfx/order Mark Rutland
2023-05-22 12:24 ` [PATCH 22/26] locking/atomic: scripts: simplify raw_atomic_long*() definitions Mark Rutland
2023-05-22 12:24 ` [PATCH 25/26] locking/atomic: docs: Add atomic operations to the driver basic API documentation Mark Rutland
2023-05-24 14:10 ` Akira Yokosawa
2023-05-30 12:33 ` Mark Rutland
2023-05-22 12:24 ` [PATCH 26/26] locking/atomic: treewide: delete arch_atomic_*() kerneldoc Mark Rutland
2023-05-22 20:58 ` [PATCH 00/26] locking/atomic: restructuring + kerneldoc Kees Cook
[not found] ` <20230522122429.1915021-25-mark.rutland@arm.com>
2023-05-24 14:03 ` [PATCH 24/26] locking/atomic: scripts: generate kerneldoc comments Akira Yokosawa
2023-05-24 14:11 ` Peter Zijlstra
2023-05-26 3:17 ` Akira Yokosawa
2023-05-26 4:51 ` Randy Dunlap
2023-05-26 10:27 ` Akira Yokosawa
2023-05-26 15:24 ` Randy Dunlap
2023-05-30 12:42 ` Mark Rutland
2023-05-24 14:17 ` Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230522122429.1915021-17-mark.rutland@arm.com \
--to=mark.rutland@arm.com \
--cc=akiyks@gmail.com \
--cc=boqun.feng@gmail.com \
--cc=corbet@lwn.net \
--cc=keescook@chromium.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=sstabellini@kernel.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox