While this doesn't make sense for production Kernels, in order to avoid regressions when documents are touched, let's add a check target at the make file.
Unified · Split
| @@ -0,0 +1,13 @@ | |||
| 1 | config WARN_MISSING_DOCUMENTS | ||
| 2 | |||
| 3 | bool "Warn if there's a missing documentation file" | ||
| 4 | depends on COMPILE_TEST | ||
| 5 | help | ||
| 6 | It is not uncommon that a document gets renamed. | ||
| 7 | This option makes the Kernel to check for missing dependencies, | ||
| 8 | warning when something is missing. Works only if the Kernel | ||
| 9 | is built from a git tree. | ||
| 10 | |||
| 11 | If unsure, select 'N'. | ||
| 12 | |||
| 13 | |||
| @@ -4,6 +4,11 @@ · 3 unmodified lines | |||
| 4 | 4 | ||
| 5 | subdir-y := devicetree/bindings/ | 5 | subdir-y := devicetree/bindings/ |
| 6 | 6 | ||
| 7 | # Check for broken documentation file references | ||
| 8 | ifeq ($(CONFIG_WARN_MISSING_DOCUMENTS),y) | ||
| 9 | $(shell $(srctree)/scripts/documentation-file-ref-check --warn) | ||
| 10 | endif | ||
| 11 | |||
| 7 | # You can set these variables from the command line. | 12 | # You can set these variables from the command line. |
| 8 | SPHINXBUILD = sphinx-build | 13 | SPHINXBUILD = sphinx-build |
| 9 | SPHINXOPTS = | 14 | SPHINXOPTS = |
| @@ -30,3 +30,5 @@ source "crypto/Kconfig" · 29 unmodified lines | |||
| 30 | source "lib/Kconfig" | 30 | source "lib/Kconfig" |
| 31 | 31 | ||
| 32 | source "lib/Kconfig.debug" | 32 | source "lib/Kconfig.debug" |
| 33 | |||
| 34 | source "Documentation/Kconfig" | ||
| @@ -22,9 +22,16 @@ $scriptname =~ s,.*/([^/]+/),$1,; · 21 unmodified lines | |||
| 22 | # Parse arguments | 22 | # Parse arguments |
| 23 | my $help = 0; | 23 | my $help = 0; |
| 24 | my $fix = 0; | 24 | my $fix = 0; |
| 25 | my $warn = 0; | ||
| 26 | |||
| 27 | if (! -d ".git") { | ||
| 28 | printf "Warning: can't check if file exists, as this is not a git tree"; | ||
| 29 | exit 0; | ||
| 30 | } | ||
| 25 | 31 | ||
| 26 | GetOptions( | 32 | GetOptions( |
| 27 | 'fix' => \$fix, | 33 | 'fix' => \$fix, |
| 34 | 'warn' => \$warn, | ||
| 28 | 'h|help|usage' => \$help, | 35 | 'h|help|usage' => \$help, |
| 29 | ); | 36 | ); |
| 30 | 37 | ||
| @@ -139,6 +146,8 @@ while (<IN>) { · 108 unmodified lines | |||
| 139 | if (!($ref =~ m/(scripts|Kconfig|Kbuild)/)) { | 146 | if (!($ref =~ m/(scripts|Kconfig|Kbuild)/)) { |
| 140 | $broken_ref{$ref}++; | 147 | $broken_ref{$ref}++; |
| 141 | } | 148 | } |
| 149 | } elsif ($warn) { | ||
| 150 | print STDERR "Warning: $f references a file that doesn't exist: $fulref\n"; | ||
| 142 | } else { | 151 | } else { |
| 143 | print STDERR "$f: $fulref\n"; | 152 | print STDERR "$f: $fulref\n"; |
| 144 | } | 153 | } |