mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2026-03-02 07:31:11 +01:00
qts-filter.sh: strip DOS line endings and handle continuation lines
Some Altera Quartus generated files have long lines that are split with a '\' at the end of the line. It also wOn Windows, rites files in DOS format, which can confuse some of the processing scripts in this file. This patch solves both issues. Signed-off-by: Bill Randle <bill.randle@gmail.com> Cc: Marek Vasut <marex@denx.de>
This commit is contained in:
parent
beee6a3083
commit
27211b605b
1 changed files with 32 additions and 15 deletions
|
|
@ -1,5 +1,13 @@
|
|||
#!/bin/sh
|
||||
|
||||
#
|
||||
# helper function to convert from DOS to Unix, if necessary, and handle
|
||||
# lines ending in '\'.
|
||||
#
|
||||
fix_newlines_in_macros() {
|
||||
sed -n ':next;s/\r$//;/[^\\]\\$/ {N;s/\\\n//;b next};p' $1
|
||||
}
|
||||
|
||||
#
|
||||
# Process iocsr_config_*.[ch]
|
||||
# $1: SoC type
|
||||
|
|
@ -27,14 +35,16 @@ process_iocsr_config() {
|
|||
EOF
|
||||
|
||||
# Retrieve the scan chain lengths
|
||||
grep 'CONFIG_HPS_IOCSR_SCANCHAIN[0-9]\+_LENGTH' \
|
||||
${in_bsp_dir}/generated/iocsr_config_${soc}.h | tr -d "()"
|
||||
fix_newlines_in_macros \
|
||||
${in_bsp_dir}/generated/iocsr_config_${soc}.h |
|
||||
grep 'CONFIG_HPS_IOCSR_SCANCHAIN[0-9]\+_LENGTH' | tr -d "()"
|
||||
|
||||
echo ""
|
||||
|
||||
# Retrieve the scan chain config and zap the ad-hoc length encoding
|
||||
sed -n '/^const/ !b; :next {/^const/ s/(.*)//;p;n;b next}' \
|
||||
${in_bsp_dir}/generated/iocsr_config_${soc}.c
|
||||
fix_newlines_in_macros \
|
||||
${in_bsp_dir}/generated/iocsr_config_${soc}.c |
|
||||
sed -n '/^const/ !b; :next {/^const/ s/(.*)//;p;n;b next}'
|
||||
|
||||
cat << EOF
|
||||
|
||||
|
|
@ -69,8 +79,9 @@ process_pinmux_config() {
|
|||
EOF
|
||||
|
||||
# Retrieve the pinmux config and zap the ad-hoc length encoding
|
||||
sed -n '/^unsigned/ !b; :next {/^unsigned/ {s/\[.*\]/[]/;s/unsigned long/const u8/};p;n;b next}' \
|
||||
${in_bsp_dir}/generated/pinmux_config_${soc}.c
|
||||
fix_newlines_in_macros \
|
||||
${in_bsp_dir}/generated/pinmux_config_${soc}.c |
|
||||
sed -n '/^unsigned/ !b; :next {/^unsigned/ {s/\[.*\]/[]/;s/unsigned long/const u8/};p;n;b next}'
|
||||
|
||||
cat << EOF
|
||||
|
||||
|
|
@ -105,8 +116,9 @@ process_pll_config() {
|
|||
EOF
|
||||
|
||||
# Retrieve the pll config and zap parenthesis
|
||||
sed -n '/CONFIG_HPS/ !b; :next {/CONFIG_HPS/ s/[()]//g;/endif/ b;p;n;b next}' \
|
||||
${in_bsp_dir}/generated/pll_config.h
|
||||
fix_newlines_in_macros \
|
||||
${in_bsp_dir}/generated/pll_config.h |
|
||||
sed -n '/CONFIG_HPS/ !b; :next {/CONFIG_HPS/ s/[()]//g;/endif/ b;p;n;b next}'
|
||||
|
||||
cat << EOF
|
||||
|
||||
|
|
@ -149,32 +161,37 @@ EOF
|
|||
|
||||
echo "/* SDRAM configuration */"
|
||||
# Retrieve the sdram config, zap broken lines and zap parenthesis
|
||||
sed -n "/\\\\$/ {N;s/ \\\\\n/\t/};p" \
|
||||
fix_newlines_in_macros \
|
||||
${in_bsp_dir}/generated/sdram/sdram_config.h |
|
||||
sed -n "/\\\\$/ {N;s/ \\\\\n/\t/};p" |
|
||||
sed -n '/CONFIG_HPS/ !b; :next {/CONFIG_HPS/ s/[()]//g;/endif/ b;p;n;b next}' |
|
||||
sort -u | grep_sdram_config
|
||||
|
||||
echo ""
|
||||
echo "/* Sequencer auto configuration */"
|
||||
sed -n "/__RW_MGR/ {s/__//;s/ \+\([^ ]\+\)$/\t\1/p}" \
|
||||
fix_newlines_in_macros \
|
||||
${in_qts_dir}/hps_isw_handoff/*/sequencer_auto.h |
|
||||
sed -n "/__RW_MGR/ {s/__//;s/ \+\([^ ]\+\)$/\t\1/p}" |
|
||||
sort -u | grep_sdram_config
|
||||
|
||||
echo ""
|
||||
echo "/* Sequencer defines configuration */"
|
||||
sed -n "/^#define [^_]/ {s/__//;s/ \+\([^ ]\+\)$/\t\1/p}" \
|
||||
fix_newlines_in_macros \
|
||||
${in_qts_dir}/hps_isw_handoff/*/sequencer_defines.h |
|
||||
sed -n "/^#define [^_]/ {s/__//;s/ \+\([^ ]\+\)$/\t\1/p}" |
|
||||
sort -u | grep_sdram_config
|
||||
|
||||
echo ""
|
||||
echo "/* Sequencer ac_rom_init configuration */"
|
||||
sed -n '/^const.*\[/ !b; :next {/^const.*\[/ {N;s/\n//;s/alt_u32/u32/;s/\[.*\]/[]/};/endif/ b;p;n;b next}'\
|
||||
${in_qts_dir}/hps_isw_handoff/*/sequencer_auto_ac_init.c
|
||||
fix_newlines_in_macros \
|
||||
${in_qts_dir}/hps_isw_handoff/*/sequencer_auto_ac_init.c |
|
||||
sed -n '/^const.*\[/ !b; :next {/^const.*\[/ {N;s/\n//;s/alt_u32/u32/;s/\[.*\]/[]/};/endif/ b;p;n;b next}'
|
||||
|
||||
echo ""
|
||||
echo "/* Sequencer inst_rom_init configuration */"
|
||||
sed -n '/^const.*\[/ !b; :next {/^const.*\[/ {N;s/\n//;s/alt_u32/u32/;s/\[.*\]/[]/};/endif/ b;p;n;b next}'\
|
||||
${in_qts_dir}/hps_isw_handoff/*/sequencer_auto_inst_init.c
|
||||
fix_newlines_in_macros \
|
||||
${in_qts_dir}/hps_isw_handoff/*/sequencer_auto_inst_init.c |
|
||||
sed -n '/^const.*\[/ !b; :next {/^const.*\[/ {N;s/\n//;s/alt_u32/u32/;s/\[.*\]/[]/};/endif/ b;p;n;b next}'
|
||||
|
||||
cat << EOF
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue