Home | History | Annotate | Line # | Download | only in dist
      1 #! /bin/bash
      2 # SPDX-License-Identifier: GPL-2.0-or-later
      3 
      4 # This script uses the bash <(...) extension.
      5 # If you want to change this to work with a generic /bin/sh, make sure
      6 # you fix that.
      7 
      8 
      9 DTC=dtc
     10 
     11 source_and_sort () {
     12     DT="$1"
     13     if [ -d "$DT" ]; then
     14 	IFORMAT=fs
     15     elif [ -f "$DT" ]; then
     16 	case "$DT" in
     17 	    *.dts)
     18 		IFORMAT=dts
     19 		;;
     20 	    *.dtb)
     21 		IFORMAT=dtb
     22 		;;
     23 	esac
     24     fi
     25 
     26     if [ -z "$IFORMAT" ]; then
     27 	echo "Unrecognized format for $DT" >&2
     28 	exit 2
     29     fi
     30 
     31     $DTC -I $IFORMAT -O dts -qq -f -s -o - "$DT"
     32 }
     33 
     34 if [ $# != 2 ]; then
     35     echo "Usage: dtdiff <device tree> <device tree>" >&2
     36     exit 1
     37 fi
     38 
     39 diff -u <(source_and_sort "$1") <(source_and_sort "$2")
     40