[PATCH v3 12/27] scripts/documentation-file-ref-check: add a fix logic for DT

From: Mauro Carvalho Chehab
Date: Thu Jun 14 2018 - 12:17:16 EST


There are several links broken due to DT file movements. Add
a hint logic to seek for those changes.

Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx>
---
MAINTAINERS | 2 +-
scripts/documentation-file-ref-check | 20 +++++++++++++++++---
2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 09554034be46..ec65e33e2cf1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7425,7 +7425,7 @@ M: Linus Walleij <linus.walleij@xxxxxxxxxx>
L: linux-iio@xxxxxxxxxxxxxxx
S: Maintained
F: drivers/iio/gyro/mpu3050*
-F: Documentation/devicetree/bindings/iio/gyroscope/inv,mpu3050.txt
+F: Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt

IOC3 ETHERNET DRIVER
M: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
diff --git a/scripts/documentation-file-ref-check b/scripts/documentation-file-ref-check
index 9d5e21b10346..c8bc1c1c1d6e 100755
--- a/scripts/documentation-file-ref-check
+++ b/scripts/documentation-file-ref-check
@@ -64,7 +64,7 @@ while (<IN>) {
next if (grep -e, glob("$ref $fulref"));

if ($fix) {
- if (!($ref =~ m/(devicetree|scripts|Kconfig|Kbuild)/)) {
+ if (!($ref =~ m/(scripts|Kconfig|Kbuild)/)) {
$broken_ref{$ref}++;
}
} else {
@@ -84,10 +84,19 @@ foreach my $ref (keys %broken_ref) {
# get just the basename
$new =~ s,.*/,,;

- # Seek for the same name on another place, as it may have been moved
my $f="";

- $f = qx(find . -iname $new) if ($new);
+ # usual reason for breakage: DT file moved around
+ if ($ref =~ /devicetree/) {
+ my $search = $new;
+ $search =~ s,^.*/,,;
+ $f = qx(find Documentation/devicetree/ -iname "*$search*") if ($search);
+ if (!$f) {
+ # Manufacturer name may have changed
+ $search =~ s/^.*,//;
+ $f = qx(find Documentation/devicetree/ -iname "*$search*") if ($search);
+ }
+ }

# usual reason for breakage: file renamed to .rst
if (!$f) {
@@ -95,6 +104,11 @@ foreach my $ref (keys %broken_ref) {
$f=qx(find . -iname $new) if ($new);
}

+ # Wild guess: seek for the same name on another place
+ if (!$f) {
+ $f = qx(find . -iname $new) if ($new);
+ }
+
my @find = split /\s+/, $f;

if (!$f) {
--
2.17.1