1*b8ae3907Smacallan#!/usr/bin/perl 2*b8ae3907Smacallan 3*b8ae3907Smacallanmy $dtc_old = "/home/jdl/FSL/dtc/dtc-old"; 4*b8ae3907Smacallanmy $dtc_new = "/home/jdl/FSL/dtc/dtc-new"; 5*b8ae3907Smacallan 6*b8ae3907Smacallanmy $basic_options = "-b 0 -f -I dts -O dtb"; 7*b8ae3907Smacallan 8*b8ae3907Smacallanmy $linux_dts_dir = "/usr/src/linux-2.6/arch/powerpc/boot/dts"; 9*b8ae3907Smacallan 10*b8ae3907Smacallan# Yeah, sure, we could, like, readdir() this instead... 11*b8ae3907Smacallanmy @boards = ( 12*b8ae3907Smacallan "bamboo", 13*b8ae3907Smacallan "ebony", 14*b8ae3907Smacallan "ep88xc", 15*b8ae3907Smacallan "holly", 16*b8ae3907Smacallan "kilauea", 17*b8ae3907Smacallan "kuroboxHD", 18*b8ae3907Smacallan "kuroboxHG", 19*b8ae3907Smacallan "lite5200", 20*b8ae3907Smacallan "lite5200b", 21*b8ae3907Smacallan "mpc7448hpc2", 22*b8ae3907Smacallan "mpc8272ads", 23*b8ae3907Smacallan "mpc8313erdb", 24*b8ae3907Smacallan "mpc832x_mds", 25*b8ae3907Smacallan "mpc832x_rdb", 26*b8ae3907Smacallan "mpc8349emitx", 27*b8ae3907Smacallan "mpc8349emitxgp", 28*b8ae3907Smacallan "mpc834x_mds", 29*b8ae3907Smacallan "mpc836x_mds", 30*b8ae3907Smacallan "mpc8540ads", 31*b8ae3907Smacallan "mpc8541cds", 32*b8ae3907Smacallan "mpc8544ds", 33*b8ae3907Smacallan "mpc8548cds", 34*b8ae3907Smacallan "mpc8555cds", 35*b8ae3907Smacallan "mpc8560ads", 36*b8ae3907Smacallan "mpc8568mds", 37*b8ae3907Smacallan "mpc8572ds", 38*b8ae3907Smacallan "mpc8610_hpcd", 39*b8ae3907Smacallan "mpc8641_hpcn", 40*b8ae3907Smacallan "mpc866ads", # Feh. Bad node references... 41*b8ae3907Smacallan "mpc885ads", 42*b8ae3907Smacallan "pq2fads", 43*b8ae3907Smacallan "prpmc2800", 44*b8ae3907Smacallan "ps3", 45*b8ae3907Smacallan "sequoia", 46*b8ae3907Smacallan "walnut", 47*b8ae3907Smacallan); 48*b8ae3907Smacallan 49*b8ae3907Smacallanforeach my $board (@boards) { 50*b8ae3907Smacallan my $dts_file = "$linux_dts_dir/$board.dts"; 51*b8ae3907Smacallan 52*b8ae3907Smacallan my $old_dtb_file = "/tmp/$board.dtb.old"; 53*b8ae3907Smacallan my $new_dtb_file = "/tmp/$board.dtb.new"; 54*b8ae3907Smacallan 55*b8ae3907Smacallan my $cmd_old = "$dtc_old $basic_options -o $old_dtb_file $dts_file"; 56*b8ae3907Smacallan my $cmd_new = "$dtc_new $basic_options -o $new_dtb_file $dts_file"; 57*b8ae3907Smacallan my $cmd_cmp = "cmp $old_dtb_file $new_dtb_file"; 58*b8ae3907Smacallan 59*b8ae3907Smacallan print "------------------------------------------------\n"; 60*b8ae3907Smacallan print "OLD: $cmd_old\n"; 61*b8ae3907Smacallan unlink($old_dtb_file) if (-f $old_dtb_file); 62*b8ae3907Smacallan system("$cmd_old >& /dev/null"); 63*b8ae3907Smacallan my $status = $?; 64*b8ae3907Smacallan if ($status) { 65*b8ae3907Smacallan print " FAILED to run old DTC on $board\n"; 66*b8ae3907Smacallan } 67*b8ae3907Smacallan 68*b8ae3907Smacallan print "NEW: $cmd_new\n"; 69*b8ae3907Smacallan unlink($new_dtb_file) if (-f $new_dtb_file); 70*b8ae3907Smacallan system("$cmd_new >& /dev/null"); 71*b8ae3907Smacallan $status = $?; 72*b8ae3907Smacallan if ($status) { 73*b8ae3907Smacallan print " FAILED to run new DTC on $board\n"; 74*b8ae3907Smacallan } 75*b8ae3907Smacallan 76*b8ae3907Smacallan if (-f $old_dtb_file && -f $new_dtb_file) { 77*b8ae3907Smacallan print "CMP: $cmd_cmp\n"; 78*b8ae3907Smacallan system($cmd_cmp); 79*b8ae3907Smacallan $status = $?; 80*b8ae3907Smacallan if ($status) { 81*b8ae3907Smacallan print " FAILED $board\n"; 82*b8ae3907Smacallan } 83*b8ae3907Smacallan } else { 84*b8ae3907Smacallan printf " FAILED: Missing dtb file\n"; 85*b8ae3907Smacallan } 86*b8ae3907Smacallan} 87