From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: Maxime Coquelin <maxime.coquelin@redhat.com>
Subject: [PATCH 3/6] devtools: move uAPI processing into functions
Date: Wed, 27 Aug 2025 10:21:46 +0200 [thread overview]
Message-ID: <20250827082413.1417226-4-thomas@monjalon.net> (raw)
In-Reply-To: <20250827082413.1417226-1-thomas@monjalon.net>
There are two main parts in the Linux uAPI script:
- update the headers
- check the headers
In order to facilitate reading and rework,
these two parts are move in functions.
There is no change in the behavior.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
devtools/linux-uapi.sh | 96 +++++++++++++++++++++++-------------------
1 file changed, 53 insertions(+), 43 deletions(-)
diff --git a/devtools/linux-uapi.sh b/devtools/linux-uapi.sh
index dc2f8bb36e..05f3ddf87c 100755
--- a/devtools/linux-uapi.sh
+++ b/devtools/linux-uapi.sh
@@ -11,7 +11,6 @@ base_path="kernel/linux/uapi/"
version=""
file=""
check_headers=0
-errors=0
print_usage()
{
@@ -91,7 +90,35 @@ fixup_includes()
done
}
-check_header() {
+update_all()
+{
+ local current_version=$(< $base_path/version)
+
+ if [ -n "$version" ]; then
+ if version_older_than "$version" "$current_version"; then
+ echo "Headers already up to date ($current_version >= $version)"
+ version=$current_version
+ else
+ update_headers
+ fi
+ else
+ echo "Version not specified, using current version ($current_version)"
+ version=$current_version
+ fi
+
+ if [ -n "$file" ]; then
+ import_header $file
+ fi
+
+ for filename in $(find $base_path -name "*.h" -type f); do
+ fixup_includes $filename
+ done
+
+ echo $version > $base_path/version
+}
+
+check_header()
+{
echo -n "Checking $1... "
if ! diff -q $1 $2 >/dev/null; then
@@ -105,6 +132,28 @@ check_header() {
return 0
}
+check_all()
+{
+ local errors=0
+
+ tmpheader="$(mktemp -t dpdk.checkuapi.XXXXXX)"
+ trap "rm -f '$tmpheader'" INT
+
+ echo "Checking imported headers for version $version"
+ for filename in $(find $base_path -name "*.h" -type f); do
+ header=${filename#$base_path}
+ download_header $header $tmpheader
+ fixup_includes $tmpheader
+ check_header $filename $tmpheader || errors=$((errors+1))
+ done
+ echo "$errors error(s) found"
+
+ rm -f $tmpheader
+ trap - INT
+
+ return $errors
+}
+
while getopts i:u:ch opt ; do
case $opt in
i ) file=$OPTARG ;;
@@ -123,49 +172,10 @@ fi
cd $(dirname $0)/..
-current_version=$(< $base_path/version)
-
-if [ -n "$version" ]; then
- if version_older_than "$version" "$current_version"; then
- echo "Headers already up to date ($current_version >= $version)"
- version=$current_version
- else
- update_headers
- fi
-else
- echo "Version not specified, using current version ($current_version)"
- version=$current_version
-fi
-
-if [ -n "$file" ]; then
- import_header $file
-fi
-
-for filename in $(find $base_path -name "*.h" -type f); do
- fixup_includes $filename
-done
-
-echo $version > $base_path/version
+update_all
if [ $check_headers -eq 0 ]; then
exit 0
fi
-tmpheader="$(mktemp -t dpdk.checkuapi.XXXXXX)"
-trap "rm -f '$tmpheader'" INT
-
-echo "Checking imported headers for version $version"
-
-for filename in $(find $base_path -name "*.h" -type f); do
- header=${filename#$base_path}
- download_header $header $tmpheader
- fixup_includes $tmpheader
- check_header $filename $tmpheader || errors=$((errors+1))
-done
-
-echo "$errors error(s) found"
-
-rm -f $tmpheader
-trap - INT
-
-exit $errors
+check_all
--
2.47.1
next prev parent reply other threads:[~2025-08-27 8:24 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-27 8:21 [PATCH 0/6] devtools: improve Linux uAPI script Thomas Monjalon
2025-08-27 8:21 ` [PATCH 1/6] devtools: remove superfluous curly braces in " Thomas Monjalon
2025-08-27 8:21 ` [PATCH 2/6] devtools: remove superfluous fallbacks " Thomas Monjalon
2025-08-27 8:21 ` Thomas Monjalon [this message]
2025-08-27 8:21 ` [PATCH 4/6] devtools: remove unused variables " Thomas Monjalon
2025-08-27 8:21 ` [PATCH 5/6] devtools: make uAPI check exclusive to other options Thomas Monjalon
2025-08-27 8:21 ` [PATCH 6/6] devtools: add quiet mode in uAPI script Thomas Monjalon
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=20250827082413.1417226-4-thomas@monjalon.net \
--to=thomas@monjalon.net \
--cc=dev@dpdk.org \
--cc=maxime.coquelin@redhat.com \
/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;
as well as URLs for NNTP newsgroup(s).