[u-boot-test-hooks PATCH 4/7] Add wait_raw_device for common code
Simon Glass
sjg at chromium.org
Sat Oct 30 20:25:36 CEST 2021
This code is duplicated in two scripts. Put it into a new wait_raw_device
to avoid this. Also rename the 'done' variable to 'complete' to void
confusing it with the end of the for loop.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
bin/flash.sdwire_digital-loggers_raw | 15 +-----------
bin/flash.sdwire_poweroff_raw | 15 +-----------
bin/wait_raw_device | 34 ++++++++++++++++++++++++++++
3 files changed, 36 insertions(+), 28 deletions(-)
create mode 100644 bin/wait_raw_device
diff --git a/bin/flash.sdwire_digital-loggers_raw b/bin/flash.sdwire_digital-loggers_raw
index 7d5fbc9..f9956f7 100644
--- a/bin/flash.sdwire_digital-loggers_raw
+++ b/bin/flash.sdwire_digital-loggers_raw
@@ -33,20 +33,7 @@ curl --data ${power_port}=OFF -o /dev/null --silent \
# Switch over to get USB card access
sd-mux-ctrl --device-serial ${sdwire_serial} --ts
-# Wait for the device to become available
-done=false
-for i in {0..9}; do
- if dd if=${raw_device} of=/dev/null count=1 >/dev/null 2>&1; then
- done=true
- break
- fi
-
- sleep 1
-done
-if [[ $done = false ]]; then
- echo "Failed to access ${raw_device} after 10 tries"
- exit 1
-fi
+. wait_raw_device
writer.${flash_writer} ${raw_device} ${U_BOOT_BUILD_DIR}
diff --git a/bin/flash.sdwire_poweroff_raw b/bin/flash.sdwire_poweroff_raw
index 28fa096..d82a3ef 100644
--- a/bin/flash.sdwire_poweroff_raw
+++ b/bin/flash.sdwire_poweroff_raw
@@ -34,20 +34,7 @@ mount_dir=/media/${mount_point}
# Switch over to get USB card access
sd-mux-ctrl --device-serial ${sdwire_serial} --ts
-# Wait for the device to become available
-done=false
-for i in {0..9}; do
- if dd if=${raw_device} of=/dev/null count=1 >/dev/null 2>&1; then
- done=true
- break
- fi
-
- sleep 1
-done
-if [[ $done = false ]]; then
- echo "Failed to access ${raw_device} after 10 tries"
- exit 1
-fi
+. wait_raw_device
writer.${flash_writer} ${raw_device} ${U_BOOT_BUILD_DIR}
diff --git a/bin/wait_raw_device b/bin/wait_raw_device
new file mode 100644
index 0000000..c292114
--- /dev/null
+++ b/bin/wait_raw_device
@@ -0,0 +1,34 @@
+# Copyright 2021 Google LLC
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+# Wait for the device ${raw_device} to become available
+complete=false
+for i in {0..9}; do
+ if dd if=${raw_device} of=/dev/null count=1 >/dev/null 2>&1; then
+ complete=true
+ break
+ fi
+
+ sleep 1
+done
+if [[ $complete = false ]]; then
+ echo "Failed to access ${raw_device} after 10 tries"
+ exit 1
+fi
--
2.33.1.1089.g2158813163f-goog
More information about the U-Boot
mailing list