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