mirror of
https://github.com/shenmintao/aic8800d80.git
synced 2026-11-10 16:49:17 +00:00
Backport main commit 2c4ab4b421 to
legacy-mcu1, preserving the branch's MCU1 firmware and loader profile.
Adapt the probe status link ID, probe_peer callback and input cookie APIs;
retain cfg80211-assigned cookies through asynchronous completion paths.
Add an isolated native-kernel build check and record the regression results.
The original branch reproduces all six reported errors on 7.3-rc3. The fix
builds all three modules and passes MODPOST on upstream 7.3 final and Ubuntu
7.3-rc3, 7.2 and 6.17 headers. The final-release module_layout CRCs match
the fully built test kernel. Hardware operation has not been tested.
Refs #111
Co-authored-by: MastaG <badouri.g@gmail.com>
36 lines
1.1 KiB
Bash
36 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
# Build a source copy against a prepared native kernel; never install or load it.
|
|
set -euo pipefail
|
|
|
|
if [ "$#" -lt 1 ]; then
|
|
echo "Usage: $0 KERNEL_BUILD_DIR [make arguments...]" >&2
|
|
exit 2
|
|
fi
|
|
|
|
kernel_dir=$(realpath "$1")
|
|
shift
|
|
|
|
for required in "$kernel_dir/Makefile" "$kernel_dir/Module.symvers" \
|
|
"$kernel_dir/include/generated/autoconf.h"; do
|
|
if [ ! -s "$required" ]; then
|
|
echo "Missing build input: $required" >&2
|
|
exit 2
|
|
fi
|
|
done
|
|
|
|
repo_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)
|
|
build_dir=$(mktemp -d "${TMPDIR:-/tmp}/aic8800-kernel-build.XXXXXX")
|
|
cp -a "$repo_dir/drivers/aic8800/." "$build_dir/"
|
|
echo "Build directory: $build_dir"
|
|
|
|
# Discard copied build outputs so stale modules cannot satisfy the check.
|
|
make -C "$kernel_dir" M="$build_dir" "$@" clean
|
|
make -C "$kernel_dir" M="$build_dir" -j"${JOBS:-2}" "$@" modules
|
|
|
|
for module in aic_load_fw/aic_load_fw.ko aic8800_fdrv/aic8800_fdrv.ko \
|
|
aic_zlp_quirk/aic_zlp_quirk.ko; do
|
|
test -s "$build_dir/$module"
|
|
done
|
|
|
|
echo "All three modules built successfully in $build_dir"
|