stlink: remove only instance of useconds_t 44/5544/3
authorAntonio Borneo <borneo.antonio@gmail.com>
Thu, 26 Mar 2020 14:16:52 +0000 (15:16 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sun, 12 Apr 2020 21:02:19 +0000 (22:02 +0100)
The usleep() function, and its associated useconds_t type
specifier, has been obsoleted by POSIX.1-2008.

OpenOCD has 28 call to usleep(), that should be migrated to the
replacement nanosleep(), but due to the different prototype
int nanosleep(const struct timespec *req, struct timespec *rem);
this can take some effort.

The type useconds_t is used in only one case, where it's used both
as parameter of usleep() and as value passed to LOG_DEBUG(). Due
to different implementation of useconds_t, there are cases that
trigger a compile warning in LOG_DEBUG() when useconds_t is more
than 32 bit.
E.g. with unistd.h in MinGW 4.x, useconds_t is defined as unsigned
long, thus being 32 or 64 bits depending on the target.

Replace the only instance of useconds_t.

Change-Id: I21724f8b06780abdb003a57222ff1d6840ff5419
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/5544
Tested-by: jenkins
Reviewed-by: Ake Rehnman <ake.rehnman@gmail.com>
src/jtag/drivers/stlink_usb.c

index 3f9ce37..f4992da 100644 (file)
@@ -834,7 +834,7 @@ static int stlink_cmd_allow_retry(void *handle, const uint8_t *buf, int size)
 
                res = stlink_usb_error_check(handle);
                if (res == ERROR_WAIT && retries < MAX_WAIT_RETRIES) {
-                       useconds_t delay_us = (1<<retries++) * 1000;
+                       unsigned int delay_us = (1<<retries++) * 1000;
                        LOG_DEBUG("stlink_cmd_allow_retry ERROR_WAIT, retry %d, delaying %u microseconds", retries, delay_us);
                        usleep(delay_us);
                        continue;