You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
680 B
39 lines
680 B
#! /bin/bash |
|
# SPDX-License-Identifier: GPL-2.0-or-later |
|
|
|
# This script uses the bash <(...) extension. |
|
# If you want to change this to work with a generic /bin/sh, make sure |
|
# you fix that. |
|
|
|
|
|
DTC=dtc |
|
|
|
source_and_sort () { |
|
DT="$1" |
|
if [ -d "$DT" ]; then |
|
IFORMAT=fs |
|
elif [ -f "$DT" ]; then |
|
case "$DT" in |
|
*.dts) |
|
IFORMAT=dts |
|
;; |
|
*.dtb) |
|
IFORMAT=dtb |
|
;; |
|
esac |
|
fi |
|
|
|
if [ -z "$IFORMAT" ]; then |
|
echo "Unrecognized format for $DT" >&2 |
|
exit 2 |
|
fi |
|
|
|
$DTC -I $IFORMAT -O dts -qq -f -s -o - "$DT" |
|
} |
|
|
|
if [ $# != 2 ]; then |
|
echo "Usage: dtdiff <device tree> <device tree>" >&2 |
|
exit 1 |
|
fi |
|
|
|
diff -u <(source_and_sort "$1") <(source_and_sort "$2")
|
|
|