diff options
Diffstat (limited to 'scripts/dtc/update-dtc-source.sh')
-rwxr-xr-x | scripts/dtc/update-dtc-source.sh | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/scripts/dtc/update-dtc-source.sh b/scripts/dtc/update-dtc-source.sh index 075d1d7af0..1a009fd195 100755 --- a/scripts/dtc/update-dtc-source.sh +++ b/scripts/dtc/update-dtc-source.sh @@ -1,9 +1,10 @@ #!/bin/sh +# SPDX-License-Identifier: GPL-2.0 # Simple script to update the version of DTC carried by the Linux kernel # # This script assumes that the dtc and the linux git trees are in the # same directory. After building dtc in the dtc directory, it copies the -# source files and generated source files into the scripts/dtc directory +# source files and generated source file(s) into the scripts/dtc directory # in the kernel and creates a git commit updating them to the new # version. # @@ -32,16 +33,24 @@ DTC_LINUX_PATH=`pwd`/scripts/dtc DTC_SOURCE="checks.c data.c dtc.c dtc.h flattree.c fstree.c livetree.c srcpos.c \ srcpos.h treesource.c util.c util.h version_gen.h Makefile.dtc \ - dtc-lexer.l dtc-parser.y fdtdump.c fdtput.c fdtget.c" -DTC_LIB="fdt.c fdt.h fdt_addresses.c fdt_empty_tree.c fdt_ro.c fdt_rw.c \ - fdt_strerror.c fdt_sw.c fdt_wip.c libfdt.h libfdt_env.h \ - libfdt_internal.h" -DTC_GENERATED="dtc-lexer.lex.c dtc-parser.tab.c dtc-parser.tab.h" + dtc-lexer.l dtc-parser.y" +LIBFDT_SOURCE="Makefile.libfdt fdt.c fdt.h fdt_addresses.c fdt_empty_tree.c \ + fdt_overlay.c fdt_ro.c fdt_rw.c fdt_strerror.c fdt_sw.c \ + fdt_wip.c libfdt.h libfdt_env.h libfdt_internal.h" + +get_last_dtc_version() { + git log --oneline scripts/dtc/ | grep 'upstream' | head -1 | sed -e 's/^.* \(.*\)/\1/' +} + +last_dtc_ver=$(get_last_dtc_version) # Build DTC cd $DTC_UPSTREAM_PATH make clean make check +dtc_version=$(git describe HEAD) +dtc_log=$(git log --oneline ${last_dtc_ver}..) + # Copy the files into the Linux tree cd $DTC_LINUX_PATH @@ -49,13 +58,22 @@ for f in $DTC_SOURCE; do cp ${DTC_UPSTREAM_PATH}/${f} ${f} git add ${f} done -for f in $DTC_LIB; do - cp ${DTC_UPSTREAM_PATH}/libfdt/${f} ${f} - git add ${f} -done -for f in $DTC_GENERATED; do - cp ${DTC_UPSTREAM_PATH}/$f ${f}_shipped - git add ${f}_shipped +for f in $LIBFDT_SOURCE; do + cp ${DTC_UPSTREAM_PATH}/libfdt/${f} libfdt/${f} + git add libfdt/${f} done -git commit -e -v -m "scripts/dtc: Update to upstream version [CHANGEME]" +sed -i -- 's/#include <libfdt_env.h>/#include "libfdt_env.h"/g' ./libfdt/libfdt.h +sed -i -- 's/#include <fdt.h>/#include "fdt.h"/g' ./libfdt/libfdt.h +git add ./libfdt/libfdt.h + +commit_msg=$(cat << EOF +scripts/dtc: Update to upstream version ${dtc_version} + +This adds the following commits from upstream: + +${dtc_log} +EOF +) + +git commit -e -v -s -m "${commit_msg}" |