scripts/dtc: dtx_diff - add info to error message
authorFrank Rowand <frank.rowand@sonymobile.com>
Tue, 2 Feb 2016 19:02:35 +0000 (11:02 -0800)
committerRob Herring <robh@kernel.org>
Fri, 12 Feb 2016 01:40:57 +0000 (19:40 -0600)
If kernel config options are not properly set, "make scripts" will not
compile dtc.  Update the unable to find dtc error message to check
the kernel config and give better advice on how to create dtc.

Reword another error message to increase clarity.

Signed-off-by: Frank Rowand <frank.rowand@sonymobile.com>
Signed-off-by: Rob Herring <robh@kernel.org>
scripts/dtc/dtx_diff

index f1160053d75e4663a70c7096cf193d5fc9173dab..959ab2646d3825738303ca5016ffe89a665f7621 100755 (executable)
@@ -136,8 +136,7 @@ compile_to_dts() {
                        echo ""                                              >&2
                        echo "  architecture ${dtx_arch} is in file path,"   >&2
                        echo "  but does not match shell variable \$ARCH"    >&2
-                       echo "  (${ARCH}) does not match shell variable"     >&2
-                       echo "  \$ARCH (${ARCH})"                            >&2
+                       echo "  >>\$ARCH<< is: >>${ARCH}<<"                  >&2
                fi
 
                if [ ! -d ${srctree}/arch/${ARCH} ] ; then
@@ -267,6 +266,14 @@ DTC="${__KBUILD_OUTPUT}/scripts/dtc/dtc"
 
 if [ ! -x ${DTC} ] ; then
        __DTC="dtc"
+       if grep -q "^CONFIG_DTC=y" ${__KBUILD_OUTPUT}/.config ; then
+               make_command='
+         make scripts'
+       else
+               make_command='
+         Enable CONFIG_DTC in the kernel configuration
+         make scripts'
+       fi
        if ( ! which ${__DTC} >/dev/null ) ; then
 
                # use spaces instead of tabs in the error message
@@ -280,8 +287,7 @@ ERROR: unable to find a 'dtc' program
       'dtc' is: ${DTC}
 
       If it does not exist, create it from the root of the Linux source tree:
-
-         'make scripts'.
+${make_command}
 
       If not at the root of the Linux kernel source tree -s SRCTREE or -S
       may need to be specified to find 'dtc'.