Blame dtdiff

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