Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 15 additions & 7 deletions scripts/generate_dump
Original file line number Diff line number Diff line change
Expand Up @@ -921,14 +921,19 @@ save_sdk_sysfs() {
shift 2
# sys files we do not want to include in dump
local excludes=("$@")

# there are module's sysfs which we cannot access while the module is in fw control
local fw_control_skip_list=(frequency_support frequency hw_present hw_reset low_power_mode power_good power_limit)
Comment thread
noaOrMlnx marked this conversation as resolved.
$MKDIR $V -p "$dest"

should_skip() {
local base="$1"
for ex in "${excludes[@]}"; do
[[ "$base" == "$ex" ]] && return 0
shift
local skip_list=("$@")

for skip in "${skip_list[@]}"; do
[[ "$base" == "$skip" ]] && return 0
done

return 1
}

Expand All @@ -946,7 +951,7 @@ save_sdk_sysfs() {
for f in "$src"/*; do
if [[ -f "$f" ]]; then
local base="$(basename "$f")"
should_skip "$base" && continue
should_skip "$base" "${excludes[@]}" && continue
copy_file_content "$f" "$dest/$base"
fi
done
Expand All @@ -957,10 +962,12 @@ save_sdk_sysfs() {
local subdir_dest="$dest/$(basename "$d")"
$MKDIR $V -p "$subdir_dest"

local present=0 hw_present="" frequency_support=0 only_copy_presence_files=false
local present=0 hw_present="" control="" frequency_support=0 only_copy_presence_files=false
[[ -f "$d/control" ]] && control=$(<"$d/control")
[[ -f "$d/present" ]] && present=$(<"$d/present")
[[ -f "$d/hw_present" ]] && hw_present=$(<"$d/hw_present")
[[ -f "$d/frequency_support" ]] && frequency_support=$(<"$d/frequency_support")
# frequency_support is supported only for SW control modules
[[ "$control" == "1" && -f "$d/frequency_support" ]] && frequency_support=$(<"$d/frequency_support")

# if the module is unplugged, skip the rest of the files
if [[ -n "$hw_present" ]]; then
Expand All @@ -975,7 +982,8 @@ save_sdk_sysfs() {
for f in "$d"/*; do
if [[ -f "$f" ]]; then
local base="$(basename "$f")"
should_skip "$base" && continue
should_skip "$base" "${excludes[@]}" && continue
[[ "$control" == "0" ]] && should_skip "$base" "${fw_control_skip_list[@]}" && continue

[[ "$only_copy_presence_files" == true && "$base" != "present" && "$base" != "hw_present" ]] && continue
[[ "$frequency_support" == "0" && "$base" == "frequency" ]] && continue
Expand Down
Loading