You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2022/02/23 17:06:44 UTC

[incubator-nuttx] branch master updated (1699f53 -> d7fe012)

This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git.


    from 1699f53  vncserver: Allow fb operation while no connection
     new 43f5724  Replece clock_gettime(CLOCK_MONOTONIC) with clock_systime_timespec
     new d7fe012  Replece clock_gettime(CLOCK_REALTIME) with clock_systime_timespec if suitable

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 arch/arm/src/cxd56xx/cxd56_cisif.c                    |  2 +-
 arch/arm/src/lc823450/lc823450_dvfs2.c                |  4 ++--
 arch/arm/src/lc823450/lc823450_rtc.c                  |  4 ++--
 arch/risc-v/src/bl602/bl602_os_hal.c                  |  2 +-
 arch/risc-v/src/esp32c3/esp32c3_i2c.c                 |  4 ++--
 arch/xtensa/src/esp32/esp32_i2c.c                     |  4 ++--
 boards/arm/cxd56xx/drivers/audio/cxd56_audio_analog.c |  4 ++--
 boards/arm/stm32/stm32butterfly2/src/stm32_mmcsd.c    |  2 +-
 crypto/random_pool.c                                  |  2 +-
 drivers/audio/cxd56.c                                 |  4 ++--
 drivers/contactless/mfrc522.c                         |  8 ++++----
 drivers/sensors/bmp280.c                              |  2 +-
 drivers/sensors/ds18b20.c                             |  2 +-
 drivers/sensors/hyt271.c                              |  2 +-
 drivers/sensors/lis2dh.c                              |  4 ++--
 drivers/sensors/ms5611.c                              |  2 +-
 drivers/sensors/scd30.c                               |  2 +-
 drivers/sensors/sgp30.c                               | 12 ++++++------
 drivers/sensors/sht21.c                               |  2 +-
 drivers/sensors/sht3x.c                               |  2 +-
 drivers/sensors/sps30.c                               |  2 +-
 drivers/sensors/t67xx.c                               |  6 +++---
 drivers/wireless/lpwan/sx127x/sx127x.c                |  4 ++--
 fs/vfs/fs_epoll.c                                     |  4 ++--
 include/nuttx/input/touchscreen.h                     |  2 +-
 include/nuttx/rc/lirc_dev.h                           |  2 +-
 include/nuttx/sensors/sensor.h                        |  2 +-
 27 files changed, 46 insertions(+), 46 deletions(-)

[incubator-nuttx] 02/02: Replece clock_gettime(CLOCK_REALTIME) with clock_systime_timespec if suitable

Posted by xi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit d7fe0127b0e6eec7480b33799ecec0b320a81a03
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Tue Feb 15 13:38:56 2022 +0800

    Replece clock_gettime(CLOCK_REALTIME) with clock_systime_timespec if suitable
    
    it's better to call the kernrel api insteaad user space api in kernel
    
    Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
 arch/arm/src/cxd56xx/cxd56_cisif.c                    |  2 +-
 arch/arm/src/lc823450/lc823450_dvfs2.c                |  2 +-
 arch/risc-v/src/bl602/bl602_os_hal.c                  |  2 +-
 boards/arm/cxd56xx/drivers/audio/cxd56_audio_analog.c |  4 ++--
 crypto/random_pool.c                                  |  2 +-
 drivers/audio/cxd56.c                                 |  4 ++--
 drivers/contactless/mfrc522.c                         |  8 ++++----
 drivers/sensors/scd30.c                               |  2 +-
 drivers/sensors/sgp30.c                               | 12 ++++++------
 drivers/sensors/sht21.c                               |  2 +-
 drivers/sensors/sht3x.c                               |  2 +-
 drivers/sensors/sps30.c                               |  2 +-
 drivers/sensors/t67xx.c                               |  6 +++---
 drivers/wireless/lpwan/sx127x/sx127x.c                |  4 ++--
 14 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/arch/arm/src/cxd56xx/cxd56_cisif.c b/arch/arm/src/cxd56xx/cxd56_cisif.c
index b3f8cbd..ac47b8e 100644
--- a/arch/arm/src/cxd56xx/cxd56_cisif.c
+++ b/arch/arm/src/cxd56xx/cxd56_cisif.c
@@ -271,7 +271,7 @@ static uint64_t cisif_get_msec_time(void)
 {
   struct timespec tp;
 
-  if (clock_gettime(CLOCK_REALTIME, &tp))
+  if (clock_systime_timespec(&tp) < 0)
     {
       return 0;
     }
diff --git a/arch/arm/src/lc823450/lc823450_dvfs2.c b/arch/arm/src/lc823450/lc823450_dvfs2.c
index 46a4ce3..af2b6ba 100644
--- a/arch/arm/src/lc823450/lc823450_dvfs2.c
+++ b/arch/arm/src/lc823450/lc823450_dvfs2.c
@@ -120,7 +120,7 @@ uint32_t g_dvfs_freq_stat[3] =
  ****************************************************************************/
 
 /****************************************************************************
- * Name: up_get_current_time()
+ * Name: _get_current_time64()
  ****************************************************************************/
 
 static uint64_t _get_current_time64(void)
diff --git a/arch/risc-v/src/bl602/bl602_os_hal.c b/arch/risc-v/src/bl602/bl602_os_hal.c
index 6288ef7..08056fc 100644
--- a/arch/risc-v/src/bl602/bl602_os_hal.c
+++ b/arch/risc-v/src/bl602/bl602_os_hal.c
@@ -1147,7 +1147,7 @@ int bl_os_workqueue_submit_lpwork(void *work,
 uint64_t bl_os_clock_gettime_ms(void)
 {
   struct timespec ts;
-  clock_gettime(CLOCK_REALTIME, &ts);
+  clock_systime_timespec(&ts);
   return ts.tv_sec * 1000 + ts.tv_nsec / 1000000;
 }
 
diff --git a/boards/arm/cxd56xx/drivers/audio/cxd56_audio_analog.c b/boards/arm/cxd56xx/drivers/audio/cxd56_audio_analog.c
index 54eae7a..c9cc5c2 100644
--- a/boards/arm/cxd56xx/drivers/audio/cxd56_audio_analog.c
+++ b/boards/arm/cxd56xx/drivers/audio/cxd56_audio_analog.c
@@ -62,7 +62,7 @@ static void clear_mic_boot_time(void)
 static void set_mic_boot_time(void)
 {
   struct timespec start;
-  if (clock_gettime(CLOCK_REALTIME, &start) < 0)
+  if (clock_systime_timespec(&start) < 0)
     {
       g_mic_boot_start_time = 0x0ull;
       return;
@@ -77,7 +77,7 @@ static void wait_mic_boot_finish(void)
   if (g_mic_boot_start_time != 0x0ull)
     {
       struct timespec end;
-      if (clock_gettime(CLOCK_REALTIME, &end) < 0)
+      if (clock_systime_timespec(&end) < 0)
         {
           return;
         }
diff --git a/crypto/random_pool.c b/crypto/random_pool.c
index d0afa5c..c9fc1e8 100644
--- a/crypto/random_pool.c
+++ b/crypto/random_pool.c
@@ -446,7 +446,7 @@ void up_rngaddentropy(enum rnd_source_t kindof, FAR const uint32_t *buf,
    * reseeding too fast.
    */
 
-  clock_gettime(CLOCK_REALTIME, &ts);
+  clock_systime_timespec(&ts);
   tbuf[0] = ROTL_32((uint32_t)ts.tv_nsec, 17) ^ ROTL_32(ts.tv_sec, 3);
   tbuf[0] += ROTL_32(kindof, 27);
   tbuf[0] += ROTL_32((uintptr_t)&tbuf[0], 11);
diff --git a/drivers/audio/cxd56.c b/drivers/audio/cxd56.c
index 1acf621..2bf8365 100644
--- a/drivers/audio/cxd56.c
+++ b/drivers/audio/cxd56.c
@@ -2054,7 +2054,7 @@ static int cxd56_power_on_micbias(FAR struct cxd56_dev_s *dev)
 
   /* Set mic boot time */
 
-  if (clock_gettime(CLOCK_REALTIME, &start) < 0)
+  if (clock_systime_timespec(&start) < 0)
     {
       dev->mic_boot_start = 0x0ull;
     }
@@ -2922,7 +2922,7 @@ static int cxd56_start(FAR struct audio_lowerhalf_s *lower)
       if (priv->mic_boot_start != 0x0ull)
         {
           struct timespec end;
-          if (clock_gettime(CLOCK_REALTIME, &end) >= 0)
+          if (clock_systime_timespec(&end) == 0)
             {
               uint64_t time = (uint64_t)end.tv_sec * 1000 +
                               (uint64_t)end.tv_nsec / 1000000 -
diff --git a/drivers/contactless/mfrc522.c b/drivers/contactless/mfrc522.c
index a3030cb..50dec23 100644
--- a/drivers/contactless/mfrc522.c
+++ b/drivers/contactless/mfrc522.c
@@ -355,7 +355,7 @@ int mfrc522_calc_crc(FAR struct mfrc522_dev_s *dev, uint8_t *buffer,
 
   /* Wait for CRC completion or 200ms time-out */
 
-  clock_gettime(CLOCK_REALTIME, &tstart);
+  clock_systime_timespec(&tstart);
   tstart.tv_nsec += 200000;
   if (tstart.tv_nsec >= 1000 * 1000 * 1000)
     {
@@ -375,7 +375,7 @@ int mfrc522_calc_crc(FAR struct mfrc522_dev_s *dev, uint8_t *buffer,
 
       /* Get time now */
 
-      clock_gettime(CLOCK_REALTIME, &tend);
+      clock_systime_timespec(&tend);
 
       if ((tend.tv_sec > tstart.tv_sec) && (tend.tv_nsec > tstart.tv_nsec))
         {
@@ -454,7 +454,7 @@ int mfrc522_comm_picc(FAR struct mfrc522_dev_s *dev, uint8_t command,
    * hardware fault, let us to use a NuttX timeout as well.
    */
 
-  clock_gettime(CLOCK_REALTIME, &tstart);
+  clock_systime_timespec(&tstart);
   tstart.tv_nsec += 200000;
   if (tstart.tv_nsec >= 1000 * 1000 * 1000)
     {
@@ -495,7 +495,7 @@ int mfrc522_comm_picc(FAR struct mfrc522_dev_s *dev, uint8_t command,
 
       /* Get time now */
 
-      clock_gettime(CLOCK_REALTIME, &tend);
+      clock_systime_timespec(&tend);
 
       if ((tend.tv_sec > tstart.tv_sec) &&
           (tend.tv_nsec > tstart.tv_nsec))
diff --git a/drivers/sensors/scd30.c b/drivers/sensors/scd30.c
index 6f35512..352c669 100644
--- a/drivers/sensors/scd30.c
+++ b/drivers/sensors/scd30.c
@@ -443,7 +443,7 @@ static int scd30_read_values(FAR struct scd30_dev_s *priv, FAR float *temp,
   struct timespec ts;
   int ret;
 
-  clock_gettime(CLOCK_REALTIME, &ts);
+  clock_systime_timespec(&ts);
 
   if (wait || !priv->valid ||
       has_time_passed(ts, priv->last_update,
diff --git a/drivers/sensors/sgp30.c b/drivers/sensors/sgp30.c
index 12f85a9..1c345a3 100644
--- a/drivers/sensors/sgp30.c
+++ b/drivers/sensors/sgp30.c
@@ -592,7 +592,7 @@ static int sgp30_open(FAR struct file *filep)
           add_sensor_randomness((buf[0].crc << 24) ^ (serial[0].crc << 16) ^
                                 (serial[1].crc << 8) ^ (serial[2].crc << 0));
 
-          clock_gettime(CLOCK_REALTIME, &start);
+          clock_systime_timespec(&start);
           ret = sgp30_write_cmd(priv, SGP30_CMD_INIT_AIR_QUALITY, NULL, 0);
           if (ret < 0)
             {
@@ -602,7 +602,7 @@ static int sgp30_open(FAR struct file *filep)
           else
             {
               uint32_t repeat = SGP30_INIT_RETRIES;
-              clock_gettime(CLOCK_REALTIME, &curr);
+              clock_systime_timespec(&curr);
               sgp30_dbg("sgp30_write_cmd(SGP30_CMD_INIT_AIR_QUALITY)\n");
               while (repeat-- &&
                      time_has_passed_ms(&curr, &start, SGP30_INIT_LIMIT_MS))
@@ -627,10 +627,10 @@ static int sgp30_open(FAR struct file *filep)
 
                   nxsig_usleep(CONFIG_SGP30_RESET_DELAY_US);
 
-                  clock_gettime(CLOCK_REALTIME, &start);
+                  clock_systime_timespec(&start);
                   ret = sgp30_write_cmd(priv, SGP30_CMD_INIT_AIR_QUALITY,
                                         NULL, 0);
-                  clock_gettime(CLOCK_REALTIME, &curr);
+                  clock_systime_timespec(&curr);
                   if (ret < 0)
                     {
                       sgp30_dbg("sgp30_write_cmd(SGP30_CMD_INIT_AIR_QUALITY)"
@@ -739,7 +739,7 @@ static ssize_t sgp30_read(FAR struct file *filep, FAR char *buffer,
    *       to run measurement command every 1 second.
    */
 
-  clock_gettime(CLOCK_REALTIME, &ts);
+  clock_systime_timespec(&ts);
 
   while (!has_time_passed(&ts, &priv->last_update, 1))
     {
@@ -767,7 +767,7 @@ static ssize_t sgp30_read(FAR struct file *filep, FAR char *buffer,
             }
         }
 
-      clock_gettime(CLOCK_REALTIME, &ts);
+      clock_systime_timespec(&ts);
     }
 
   ret = sgp30_measure_airq(priv, &data);
diff --git a/drivers/sensors/sht21.c b/drivers/sensors/sht21.c
index a48b964..75f010c 100644
--- a/drivers/sensors/sht21.c
+++ b/drivers/sensors/sht21.c
@@ -313,7 +313,7 @@ static int sht21_read_values(FAR struct sht21_dev_s *priv, FAR int *temp,
   struct timespec ts;
   int ret;
 
-  clock_gettime(CLOCK_REALTIME, &ts);
+  clock_systime_timespec(&ts);
 
   /* Datasheet section 2.3: "To keep self heating below 0.1°C, SHT2x
    * should not be active for more than 10% of the time – e.g. maximum
diff --git a/drivers/sensors/sht3x.c b/drivers/sensors/sht3x.c
index f9898ed..9432b82 100644
--- a/drivers/sensors/sht3x.c
+++ b/drivers/sensors/sht3x.c
@@ -391,7 +391,7 @@ static int sht3x_read_values(FAR struct sht3x_dev_s *priv,
   struct timespec ts;
   int ret;
 
-  clock_gettime(CLOCK_REALTIME, &ts);
+  clock_systime_timespec(&ts);
 
   /* Read the raw data */
 
diff --git a/drivers/sensors/sps30.c b/drivers/sensors/sps30.c
index 29d4f84..2d87053 100644
--- a/drivers/sensors/sps30.c
+++ b/drivers/sensors/sps30.c
@@ -455,7 +455,7 @@ static int sps30_read_values(FAR struct sps30_dev_s *priv,
   struct timespec ts;
   int ret;
 
-  clock_gettime(CLOCK_REALTIME, &ts);
+  clock_systime_timespec(&ts);
 
   if (wait || !priv->valid ||
       has_time_passed(ts, priv->last_update, SPS30_MEASUREMENT_INTERVAL))
diff --git a/drivers/sensors/t67xx.c b/drivers/sensors/t67xx.c
index ab611cf..1b35f4a 100644
--- a/drivers/sensors/t67xx.c
+++ b/drivers/sensors/t67xx.c
@@ -428,7 +428,7 @@ static int t67xx_read_gas_ppm(FAR struct t67xx_dev_s *priv,
   struct timespec ts;
   int ret;
 
-  clock_gettime(CLOCK_REALTIME, &ts);
+  clock_systime_timespec(&ts);
 
   if (!has_time_passed(ts, priv->boot_time, T67XX_UPTIME_MINIMAL_SEC))
     {
@@ -562,7 +562,7 @@ static int t67xx_reset(FAR struct t67xx_dev_s *priv)
 
   /* Sensor uptime starting again from zero. */
 
-  clock_gettime(CLOCK_REALTIME, &priv->boot_time);
+  clock_systime_timespec(&priv->boot_time);
 
   return ret;
 }
@@ -770,7 +770,7 @@ int t67xx_register(FAR const char *devpath, FAR struct i2c_master_s *i2c,
 
   nxsem_init(&priv->devsem, 0, 1);
 
-  clock_gettime(CLOCK_REALTIME, &priv->boot_time);
+  clock_systime_timespec(&priv->boot_time);
 
   /* Register the character driver. */
 
diff --git a/drivers/wireless/lpwan/sx127x/sx127x.c b/drivers/wireless/lpwan/sx127x/sx127x.c
index bc64b09..7841cc7 100644
--- a/drivers/wireless/lpwan/sx127x/sx127x.c
+++ b/drivers/wireless/lpwan/sx127x/sx127x.c
@@ -3738,7 +3738,7 @@ static bool sx127x_channel_scan(FAR struct sx127x_dev_s *dev,
 
   /* Get start time */
 
-  clock_gettime(CLOCK_REALTIME, &tstart);
+  clock_systime_timespec(&tstart);
 
   /* Initialize min/max */
 
@@ -3749,7 +3749,7 @@ static bool sx127x_channel_scan(FAR struct sx127x_dev_s *dev,
     {
       /* Get time now */
 
-      clock_gettime(CLOCK_REALTIME, &tnow);
+      clock_systime_timespec(&tnow);
 
       /* Check RSSI */
 

[incubator-nuttx] 01/02: Replece clock_gettime(CLOCK_MONOTONIC) with clock_systime_timespec

Posted by xi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 43f57240e0396b07c6e2e666cc29d8911a025a2b
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Wed Feb 23 01:35:23 2022 +0800

    Replece clock_gettime(CLOCK_MONOTONIC) with clock_systime_timespec
    
    it's better to call the kernrel api insteaad user space api in kernel
    
    Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
 arch/arm/src/lc823450/lc823450_dvfs2.c             | 2 +-
 arch/arm/src/lc823450/lc823450_rtc.c               | 4 ++--
 arch/risc-v/src/esp32c3/esp32c3_i2c.c              | 4 ++--
 arch/xtensa/src/esp32/esp32_i2c.c                  | 4 ++--
 boards/arm/stm32/stm32butterfly2/src/stm32_mmcsd.c | 2 +-
 drivers/sensors/bmp280.c                           | 2 +-
 drivers/sensors/ds18b20.c                          | 2 +-
 drivers/sensors/hyt271.c                           | 2 +-
 drivers/sensors/lis2dh.c                           | 4 ++--
 drivers/sensors/ms5611.c                           | 2 +-
 fs/vfs/fs_epoll.c                                  | 4 ++--
 include/nuttx/input/touchscreen.h                  | 2 +-
 include/nuttx/rc/lirc_dev.h                        | 2 +-
 include/nuttx/sensors/sensor.h                     | 2 +-
 14 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/arch/arm/src/lc823450/lc823450_dvfs2.c b/arch/arm/src/lc823450/lc823450_dvfs2.c
index 9a3f71e..46a4ce3 100644
--- a/arch/arm/src/lc823450/lc823450_dvfs2.c
+++ b/arch/arm/src/lc823450/lc823450_dvfs2.c
@@ -127,7 +127,7 @@ static uint64_t _get_current_time64(void)
 {
   struct timespec ts;
 
-  clock_gettime(CLOCK_MONOTONIC, &ts);
+  clock_systime_timespec(&ts);
   return (uint64_t)ts.tv_sec * NSEC_PER_SEC + (uint64_t)ts.tv_nsec;
 }
 
diff --git a/arch/arm/src/lc823450/lc823450_rtc.c b/arch/arm/src/lc823450/lc823450_rtc.c
index 82431f2..0a4d1c5 100644
--- a/arch/arm/src/lc823450/lc823450_rtc.c
+++ b/arch/arm/src/lc823450/lc823450_rtc.c
@@ -548,7 +548,7 @@ int up_rtc_settime(FAR const struct timespec *ts)
   up_rtc_set_default_datetime(tp);
 #endif /* CONFIG_RTC_SAVE_DEFAULT */
 
-  clock_gettime(CLOCK_MONOTONIC, &lastupdate_mono);
+  clock_systime_timespec(&lastupdate_mono);
   lastupdate_rtc = *ts;
 
   /* Start rtc update */
@@ -660,7 +660,7 @@ int up_rtc_getrawtime(FAR struct timespec *ts)
   struct timespec now;
   struct timespec diff;
 
-  clock_gettime(CLOCK_MONOTONIC, &now);
+  clock_systime_timespec(&now);
   timespec_sub(&now, &lastupdate_mono, &diff);
 
   if (lastupdate_rtc.tv_sec != 0 && diff.tv_sec < 1)
diff --git a/arch/risc-v/src/esp32c3/esp32c3_i2c.c b/arch/risc-v/src/esp32c3/esp32c3_i2c.c
index 84e9540..1fbd8bb 100644
--- a/arch/risc-v/src/esp32c3/esp32c3_i2c.c
+++ b/arch/risc-v/src/esp32c3/esp32c3_i2c.c
@@ -851,7 +851,7 @@ static int esp32c3_i2c_polling_waitdone(struct esp32c3_i2c_priv_s *priv)
    * forward and backwards.
    */
 
-  clock_gettime(CLOCK_MONOTONIC, &current_time);
+  clock_systime_timespec(&current_time);
 
   timeout.tv_sec  = current_time.tv_sec  + 10;
   timeout.tv_nsec = current_time.tv_nsec +  0;
@@ -892,7 +892,7 @@ static int esp32c3_i2c_polling_waitdone(struct esp32c3_i2c_priv_s *priv)
 
       /* Update current time */
 
-      clock_gettime(CLOCK_MONOTONIC, &current_time);
+      clock_systime_timespec(&current_time);
       current_us = TIMESPEC_TO_US(current_time.tv_sec, current_time.tv_nsec);
     }
 
diff --git a/arch/xtensa/src/esp32/esp32_i2c.c b/arch/xtensa/src/esp32/esp32_i2c.c
index 2ccaea6..6417d58 100644
--- a/arch/xtensa/src/esp32/esp32_i2c.c
+++ b/arch/xtensa/src/esp32/esp32_i2c.c
@@ -784,7 +784,7 @@ static int esp32_i2c_polling_waitdone(struct esp32_i2c_priv_s *priv)
    * forward and backwards.
    */
 
-  clock_gettime(CLOCK_MONOTONIC, &current_time);
+  clock_systime_timespec(&current_time);
 
   timeout.tv_sec  = current_time.tv_sec  + 10;
   timeout.tv_nsec = current_time.tv_nsec +  0;
@@ -825,7 +825,7 @@ static int esp32_i2c_polling_waitdone(struct esp32_i2c_priv_s *priv)
 
       /* Update current time */
 
-      clock_gettime(CLOCK_MONOTONIC, &current_time);
+      clock_systime_timespec(&current_time);
       current_us = TIMESPEC_TO_US(current_time.tv_sec, current_time.tv_nsec);
     }
 
diff --git a/boards/arm/stm32/stm32butterfly2/src/stm32_mmcsd.c b/boards/arm/stm32/stm32butterfly2/src/stm32_mmcsd.c
index 365d747..fbda2fe 100644
--- a/boards/arm/stm32/stm32butterfly2/src/stm32_mmcsd.c
+++ b/boards/arm/stm32/stm32butterfly2/src/stm32_mmcsd.c
@@ -118,7 +118,7 @@ static int stm32_cd(int irq, void *context, void *arg)
   static uint32_t prev = 0;
   struct timespec tp;
 
-  clock_gettime(CLOCK_MONOTONIC, &tp);
+  clock_systime_timespec(&tp);
   now = tp.tv_sec * 1000 + tp.tv_nsec / 1000000;
 
   /* When inserting card, card detect plate might bounce causing this
diff --git a/drivers/sensors/bmp280.c b/drivers/sensors/bmp280.c
index e5373a3..703cd8e 100644
--- a/drivers/sensors/bmp280.c
+++ b/drivers/sensors/bmp280.c
@@ -643,7 +643,7 @@ static int bmp280_fetch(FAR struct sensor_lowerhalf_s *lower,
   temp = bmp280_compensate_temp(priv, temp);
   press = bmp280_compensate_press(priv, press);
 
-  clock_gettime(CLOCK_MONOTONIC, &ts);
+  clock_systime_timespec(&ts);
 
   baro_data.timestamp = 1000000ull * ts.tv_sec + ts.tv_nsec / 1000;
   baro_data.pressure = press / 100.0f;
diff --git a/drivers/sensors/ds18b20.c b/drivers/sensors/ds18b20.c
index a1ff3d7..6067c6b 100644
--- a/drivers/sensors/ds18b20.c
+++ b/drivers/sensors/ds18b20.c
@@ -550,7 +550,7 @@ static unsigned long ds18b20_curtime(void)
 {
   struct timespec ts;
 
-  clock_gettime(CLOCK_MONOTONIC, &ts);
+  clock_systime_timespec(&ts);
   return 1000000ull * ts.tv_sec + ts.tv_nsec / 1000;
 }
 
diff --git a/drivers/sensors/hyt271.c b/drivers/sensors/hyt271.c
index ae9fa92..5d4ea7d 100644
--- a/drivers/sensors/hyt271.c
+++ b/drivers/sensors/hyt271.c
@@ -188,7 +188,7 @@ static unsigned long hyt271_curtime(void)
 {
   struct timespec ts;
 
-  clock_gettime(CLOCK_MONOTONIC, &ts);
+  clock_systime_timespec(&ts);
   return 1000000ull * ts.tv_sec + ts.tv_nsec / 1000;
 }
 
diff --git a/drivers/sensors/lis2dh.c b/drivers/sensors/lis2dh.c
index 211af19..b379bea 100644
--- a/drivers/sensors/lis2dh.c
+++ b/drivers/sensors/lis2dh.c
@@ -1667,7 +1667,7 @@ static int lis2dh_reboot(FAR struct lis2dh_dev_s *dev)
 
   /* Prefer monotonic for timeout calculation when enabled. */
 
-  clock_gettime(CLOCK_MONOTONIC, &start);
+  clock_systime_timespec(&start);
 
   /* Reboot to reset chip. */
 
@@ -1692,7 +1692,7 @@ static int lis2dh_reboot(FAR struct lis2dh_dev_s *dev)
           break;
         }
 
-      clock_gettime(CLOCK_MONOTONIC, &curr);
+      clock_systime_timespec(&curr);
 
       diff_msec = (curr.tv_sec - start.tv_sec) * 1000;
       diff_msec += (curr.tv_nsec - start.tv_nsec) / (1000 * 1000);
diff --git a/drivers/sensors/ms5611.c b/drivers/sensors/ms5611.c
index 36f8f70..60b321b 100644
--- a/drivers/sensors/ms5611.c
+++ b/drivers/sensors/ms5611.c
@@ -158,7 +158,7 @@ static unsigned long ms5611_curtime(void)
 {
   struct timespec ts;
 
-  clock_gettime(CLOCK_MONOTONIC, &ts);
+  clock_systime_timespec(&ts);
   return 1000000ull * ts.tv_sec + ts.tv_nsec / 1000;
 }
 
diff --git a/fs/vfs/fs_epoll.c b/fs/vfs/fs_epoll.c
index e091e25..c737314 100644
--- a/fs/vfs/fs_epoll.c
+++ b/fs/vfs/fs_epoll.c
@@ -387,7 +387,7 @@ int epoll_pwait(int epfd, FAR struct epoll_event *evs,
       expire.tv_sec  = timeout / 1000;
       expire.tv_nsec = timeout % 1000 * 1000;
 
-      clock_gettime(CLOCK_MONOTONIC, &curr);
+      clock_systime_timespec(&curr);
       clock_timespec_add(&curr, &expire, &expire);
     }
 
@@ -398,7 +398,7 @@ again:
     }
   else
     {
-      clock_gettime(CLOCK_MONOTONIC, &curr);
+      clock_systime_timespec(&curr);
       clock_timespec_subtract(&expire, &curr, &diff);
 
       rc = ppoll(eph->poll, eph->occupied + 1, &diff, sigmask);
diff --git a/include/nuttx/input/touchscreen.h b/include/nuttx/input/touchscreen.h
index 0836ef1..52fe2aa 100644
--- a/include/nuttx/input/touchscreen.h
+++ b/include/nuttx/input/touchscreen.h
@@ -204,7 +204,7 @@ static inline uint64_t touch_get_time(void)
 {
   struct timespec ts;
 
-  clock_gettime(CLOCK_MONOTONIC, &ts);
+  clock_systime_timespec(&ts);
   return 1000000ull * ts.tv_sec + ts.tv_nsec / 1000;
 }
 
diff --git a/include/nuttx/rc/lirc_dev.h b/include/nuttx/rc/lirc_dev.h
index 4797ba2..dcdc689 100644
--- a/include/nuttx/rc/lirc_dev.h
+++ b/include/nuttx/rc/lirc_dev.h
@@ -44,7 +44,7 @@ static inline uint64_t lirc_get_timestamp(void)
 {
   struct timespec ts;
 
-  clock_gettime(CLOCK_MONOTONIC, &ts);
+  clock_systime_timespec(&ts);
   return 1000000000ull * ts.tv_sec + ts.tv_nsec;
 }
 
diff --git a/include/nuttx/sensors/sensor.h b/include/nuttx/sensors/sensor.h
index 9e1c613..1fe15e3 100644
--- a/include/nuttx/sensors/sensor.h
+++ b/include/nuttx/sensors/sensor.h
@@ -283,7 +283,7 @@ static inline uint64_t sensor_get_timestamp(void)
 {
   struct timespec ts;
 
-  clock_gettime(CLOCK_MONOTONIC, &ts);
+  clock_systime_timespec(&ts);
   return 1000000ull * ts.tv_sec + ts.tv_nsec / 1000;
 }