Skip to content
Snippets Groups Projects
Commit 27211b60 authored by Bill Randle's avatar Bill Randle Committed by Marek Vasut
Browse files

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: default avatarBill Randle <bill.randle@gmail.com>
Cc: Marek Vasut <marex@denx.de>
parent beee6a30
No related branches found
No related tags found
No related merge requests found
#!/bin/sh #!/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] # Process iocsr_config_*.[ch]
# $1: SoC type # $1: SoC type
...@@ -27,14 +35,16 @@ process_iocsr_config() { ...@@ -27,14 +35,16 @@ process_iocsr_config() {
EOF EOF
# Retrieve the scan chain lengths # Retrieve the scan chain lengths
grep 'CONFIG_HPS_IOCSR_SCANCHAIN[0-9]\+_LENGTH' \ fix_newlines_in_macros \
${in_bsp_dir}/generated/iocsr_config_${soc}.h | tr -d "()" ${in_bsp_dir}/generated/iocsr_config_${soc}.h |
grep 'CONFIG_HPS_IOCSR_SCANCHAIN[0-9]\+_LENGTH' | tr -d "()"
echo "" echo ""
# Retrieve the scan chain config and zap the ad-hoc length encoding # Retrieve the scan chain config and zap the ad-hoc length encoding
sed -n '/^const/ !b; :next {/^const/ s/(.*)//;p;n;b next}' \ fix_newlines_in_macros \
${in_bsp_dir}/generated/iocsr_config_${soc}.c ${in_bsp_dir}/generated/iocsr_config_${soc}.c |
sed -n '/^const/ !b; :next {/^const/ s/(.*)//;p;n;b next}'
cat << EOF cat << EOF
...@@ -69,8 +79,9 @@ process_pinmux_config() { ...@@ -69,8 +79,9 @@ process_pinmux_config() {
EOF EOF
# Retrieve the pinmux config and zap the ad-hoc length encoding # 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}' \ fix_newlines_in_macros \
${in_bsp_dir}/generated/pinmux_config_${soc}.c ${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 cat << EOF
...@@ -105,8 +116,9 @@ process_pll_config() { ...@@ -105,8 +116,9 @@ process_pll_config() {
EOF EOF
# Retrieve the pll config and zap parenthesis # Retrieve the pll config and zap parenthesis
sed -n '/CONFIG_HPS/ !b; :next {/CONFIG_HPS/ s/[()]//g;/endif/ b;p;n;b next}' \ fix_newlines_in_macros \
${in_bsp_dir}/generated/pll_config.h ${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 cat << EOF
...@@ -149,32 +161,37 @@ EOF ...@@ -149,32 +161,37 @@ EOF
echo "/* SDRAM configuration */" echo "/* SDRAM configuration */"
# Retrieve the sdram config, zap broken lines and zap parenthesis # 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 | ${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}' | sed -n '/CONFIG_HPS/ !b; :next {/CONFIG_HPS/ s/[()]//g;/endif/ b;p;n;b next}' |
sort -u | grep_sdram_config sort -u | grep_sdram_config
echo "" echo ""
echo "/* Sequencer auto configuration */" 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 | ${in_qts_dir}/hps_isw_handoff/*/sequencer_auto.h |
sed -n "/__RW_MGR/ {s/__//;s/ \+\([^ ]\+\)$/\t\1/p}" |
sort -u | grep_sdram_config sort -u | grep_sdram_config
echo "" echo ""
echo "/* Sequencer defines configuration */" 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 | ${in_qts_dir}/hps_isw_handoff/*/sequencer_defines.h |
sed -n "/^#define [^_]/ {s/__//;s/ \+\([^ ]\+\)$/\t\1/p}" |
sort -u | grep_sdram_config sort -u | grep_sdram_config
echo "" echo ""
echo "/* Sequencer ac_rom_init configuration */" 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}'\ fix_newlines_in_macros \
${in_qts_dir}/hps_isw_handoff/*/sequencer_auto_ac_init.c ${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 ""
echo "/* Sequencer inst_rom_init configuration */" 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}'\ fix_newlines_in_macros \
${in_qts_dir}/hps_isw_handoff/*/sequencer_auto_inst_init.c ${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 cat << EOF
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment