#!/usr/bin/env bash # Summarize sound/soc diffs between ChromiumOS 5.15 tree and Ubuntu HWE 6.17 source tree. set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" CH="${CH:-$REPO_ROOT/chromiumos_kernel/v5.15}" UB="${UB:-$REPO_ROOT/kernel-src/linux-hwe-6.17-6.17.0}" if [[ ! -d "$CH/sound/soc" || ! -d "$UB/sound/soc" ]]; then echo "ERROR: need both trees:" >&2 echo " CH=$CH" >&2 echo " UB=$UB" >&2 exit 1 fi echo "=== Git shallow check (ChromeOS tree) ===" if [[ -d "$CH/.git" ]]; then (cd "$CH" && echo "HEAD: $(git rev-parse --short HEAD)" && echo "commits reachable: $(git rev-list --count HEAD 2>/dev/null || echo '?')") else echo "(no .git under CH)" fi echo "" echo "=== diff -rq file-level counts ===" echo -n "sound/soc/sof/intel: " ( diff -rq "$CH/sound/soc/sof/intel" "$UB/sound/soc/sof/intel" 2>/dev/null || true ) | wc -l echo -n "sound/soc/intel/boards: " ( diff -rq "$CH/sound/soc/intel/boards" "$UB/sound/soc/intel/boards" 2>/dev/null || true ) | wc -l echo "" echo "=== diff -u line counts (Kaisa / HDMI / IPC focus) ===" FILES=( sound/soc/intel/boards/sof_board_helpers.c sound/soc/intel/boards/sof_rt5682.c sound/soc/sof/intel/cnl.c sound/soc/sof/intel/hda-ipc.c sound/soc/sof/intel/hda-dai.c sound/soc/sof/intel/hda-dsp.c sound/soc/sof/pcm.c sound/soc/sof/ipc3.c ) for f in "${FILES[@]}"; do if [[ -f "$CH/$f" && -f "$UB/$f" ]]; then n=$( ( diff -u "$CH/$f" "$UB/$f" || true ) | wc -l ) printf '%6s %s\n' "$n" "$f" else printf '%6s %s (missing)\n' "-" "$f" fi done echo "" echo "Done. Full unified diffs: diff -u \"\$CH/\" \"\$UB/\" | less"