Blame dtdiff

Packit Service 87beb7
#! /bin/bash
Packit Service 87beb7
# SPDX-License-Identifier: GPL-2.0-or-later
Packit Service 87beb7
Packit Service 87beb7
# This script uses the bash <(...) extension.
Packit Service 87beb7
# If you want to change this to work with a generic /bin/sh, make sure
Packit Service 87beb7
# you fix that.
Packit Service 87beb7
Packit Service 87beb7
Packit Service 87beb7
DTC=dtc
Packit Service 87beb7
Packit Service 87beb7
source_and_sort () {
Packit Service 87beb7
    DT="$1"
Packit Service 87beb7
    if [ -d "$DT" ]; then
Packit Service 87beb7
	IFORMAT=fs
Packit Service 87beb7
    elif [ -f "$DT" ]; then
Packit Service 87beb7
	case "$DT" in
Packit Service 87beb7
	    *.dts)
Packit Service 87beb7
		IFORMAT=dts
Packit Service 87beb7
		;;
Packit Service 87beb7
	    *.dtb)
Packit Service 87beb7
		IFORMAT=dtb
Packit Service 87beb7
		;;
Packit Service 87beb7
	esac
Packit Service 87beb7
    fi
Packit Service 87beb7
Packit Service 87beb7
    if [ -z "$IFORMAT" ]; then
Packit Service 87beb7
	echo "Unrecognized format for $DT" >&2
Packit Service 87beb7
	exit 2
Packit Service 87beb7
    fi
Packit Service 87beb7
Packit Service 87beb7
    $DTC -I $IFORMAT -O dts -qq -f -s -o - "$DT"
Packit Service 87beb7
}
Packit Service 87beb7
Packit Service 87beb7
if [ $# != 2 ]; then
Packit Service 87beb7
    echo "Usage: dtdiff <device tree> <device tree>" >&2
Packit Service 87beb7
    exit 1
Packit Service 87beb7
fi
Packit Service 87beb7
Packit Service 87beb7
diff -u <(source_and_sort "$1") <(source_and_sort "$2")