21/10/2026 12:30, David Marchand:
> --- a/devtools/check-doc-vs-code.sh
> +++ b/devtools/check-doc-vs-code.sh
> @@ -78,6 +78,28 @@ driver_code_dir() # <driver>
> esac
> }
>
> +doc_code_map=","
What is this comma?
> +for d in $rootdir/doc/guides/nics/features/*.ini; do
> + drv=$(basename "$d" .ini)
> + code=$(driver_code_dir $drv)
> + case $doc_code_map in
> + *,$code:*)
> + before=${doc_code_map%,$code:*}
> + after=${doc_code_map#*,$code:}
> + drivers=${after%%,*}
> + rest=${after#*,}
> + doc_code_map="$before,$code:$drivers $drv,$rest" ;;
> + *)
> + doc_code_map="$doc_code_map$code: $drv," ;;
> + esac
> +done
Please add a comment for this block to explain the goal.
> +
> +docs_for_code() # <code_dir>
Even the name of this function is not self-explanatory.
> +{
> + tmp=${doc_code_map#*,$1:}
> + echo ${tmp%%,*}
> +}
[...]
> +all_docs_agree() # <driver> <feature>
all docs agree on what?
a doc is supposed to refer to a single code path
> +{
> + code=$(driver_code_dir $1)
> + first=""
> + for drv in $(docs_for_code $code); do
> + d=$rootdir/doc/guides/nics/features/$drv.ini
> + has_doc_feature "$d" "$2" && val=true || val=false
> + [ -n "$first" ] || first=$val
> + [ "$first" = "$val" ] || return 1
> + done
> + return 0
> +}
> +