@@ -43,6 +43,7 @@ my $readme_param_pattern = '([-_a-zA-Z0-9]|<[a-z]>|<[a-z]-[a-z]>)*';
43
43
44
44
my $verbose ;
45
45
my $strict_dtc ;
46
+ my $try_all ;
46
47
my $fail = 0;
47
48
48
49
while (@ARGV && $ARGV [0] =~ / ^-/ )
@@ -56,6 +57,10 @@ while (@ARGV && $ARGV[0] =~ /^-/)
56
57
{
57
58
$strict_dtc = 1;
58
59
}
60
+ elsif ($arg eq ' -t' )
61
+ {
62
+ $try_all = 1;
63
+ }
59
64
else
60
65
{
61
66
fatal_error(" Unknown option '$arg '" );
@@ -218,21 +223,23 @@ foreach my $overlay (sort(keys(%$source)))
218
223
dtc_cpp(" ${overlay} -overlay.dts" , " $TMPDIR /$overlay .dtbo" );
219
224
}
220
225
221
- foreach my $overlay ( sort ( keys ( %$source )) )
226
+ if ( $try_all )
222
227
{
223
- next if ($overlay =~ / ^</ );
224
- my $overlay_props = $source -> {$overlay }[0];
225
- foreach my $base (@base_files )
228
+ foreach my $overlay (sort (keys (%$source )))
226
229
{
227
- next if (!-f " $base .dts" );
228
- next if (($overlay =~ / (wifi|bt)/ ) && ($base !~ / ^(bcm2708-rpi-zero-w|bcm2709-rpi-zero-2|bcm2710-rpi-3-|bcm2711-rpi-4-)/ ));
229
-
230
- next if ($overlay_props -> {' bcm2711' } && $base !~ / ^bcm2711/ );
231
- next if (system (" $DTMERGE $TMPDIR /$base .dtb $MERGED_DTB $TMPDIR /$overlay .dtbo >/dev/null 2>&1" ) == ((-2 & 0xff) << 8));
232
- error(" Failed to merge $overlay with $base " ) if (system ($DTMERGE , $verbose ? (' -d' ) : (), " $TMPDIR /$base .dtb" , $MERGED_DTB , " $TMPDIR /$overlay .dtbo" ) != 0);
230
+ next if ($overlay =~ / ^</ );
231
+ my $overlay_props = $source -> {$overlay }[0];
232
+ foreach my $base (@base_files )
233
+ {
234
+ next if (!-f " ../$base .dts" );
235
+ next if (($overlay =~ / (wifi|bt)/ ) && ($base !~ / ^(bcm2708-rpi-zero-w|bcm2709-rpi-zero-2|bcm2710-rpi-3-|bcm2711-rpi-4-)/ ));
236
+ next if ($overlay_props -> {' bcm2711' } && $base !~ / ^bcm2711/ );
237
+ next if (system (" $DTMERGE $TMPDIR /$base .dtb $MERGED_DTB $TMPDIR /$overlay .dtbo >/dev/null 2>&1" ) == ((-2 & 0xff) << 8));
238
+ error(" Failed to merge $overlay with $base " ) if (system ($DTMERGE , $verbose ? (' -d' ) : (), " $TMPDIR /$base .dtb" , $MERGED_DTB , " $TMPDIR /$overlay .dtbo" ) != 0);
239
+ }
240
+ my $checker = $overlay_checkers {$overlay };
241
+ ($checker -> [0])-> ($overlay , $checker -> [1], $source -> {$overlay }) if ($checker );
233
242
}
234
- my $checker = $overlay_checkers {$overlay };
235
- ($checker -> [0])-> ($overlay , $checker -> [1], $source -> {$overlay }) if ($checker );
236
243
}
237
244
238
245
rmdir ($TMPDIR );
@@ -373,7 +380,7 @@ sub parse_readme
373
380
if ($blank_count == 2)
374
381
{
375
382
error(" Missing params for overlay $overlay ($linenum )" ) if (!$params );
376
- $overlays -> { $overlay } = [ sort (@$params ) ];
383
+ $overlays -> { $overlay } = [ sort (@{ $params || []} ) ];
377
384
$overlay = undef ;
378
385
$params = undef ;
379
386
$in_params = 0;
0 commit comments