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 2021/11/04 18:19:07 UTC

[incubator-nuttx] 01/02: Move timespec calculations from sched into libc/sched

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 c79d2067c7cbdce92a708ccfb9cf32cdb28b5296
Author: Jukka Laitinen <ju...@ssrc.tii.ae>
AuthorDate: Thu Nov 4 13:18:38 2021 +0200

    Move timespec calculations from sched into libc/sched
    
    Allow using these functions also outside sched, where systick
    related calculations are performed
    
    Signed-off-by: Jukka Laitinen <ju...@ssrc.tii.ae>
---
 include/nuttx/clock.h                              | 45 ++++++++++++++++++++++
 libs/libc/sched/Make.defs                          |  2 +
 .../clock => libs/libc/sched}/clock_ticks2time.c   |  4 +-
 .../clock => libs/libc/sched}/clock_time2ticks.c   |  4 +-
 .../clock => libs/libc/sched}/clock_timespec_add.c |  4 +-
 .../libc/sched}/clock_timespec_subtract.c          |  4 +-
 sched/clock/Make.defs                              |  6 +--
 sched/clock/clock.h                                |  3 --
 8 files changed, 58 insertions(+), 14 deletions(-)

diff --git a/include/nuttx/clock.h b/include/nuttx/clock.h
index b11b1cf..7790f68 100644
--- a/include/nuttx/clock.h
+++ b/include/nuttx/clock.h
@@ -395,6 +395,51 @@ clock_t clock_systime_ticks(void);
 #endif
 
 /****************************************************************************
+ * Name: clock_time2ticks
+ *
+ * Description:
+ *   Return the given struct timespec as systime ticks.
+ *
+ *   NOTE:  This is an internal OS interface and should not be called from
+ *   application code.
+ *
+ * Input Parameters:
+ *   reltime - Pointer to the time presented as struct timespec
+ *
+ * Output Parameters:
+ *   ticks - Pointer to receive the time value presented as systime ticks
+ *
+ * Returned Value:
+ *   Always returns OK (0)
+ *
+ ****************************************************************************/
+
+int clock_time2ticks(FAR const struct timespec *reltime,
+                     FAR sclock_t *ticks);
+
+/****************************************************************************
+ * Name: clock_ticks2time
+ *
+ * Description:
+ *   Return the given systime ticks as a struct timespec.
+ *
+ *   NOTE:  This is an internal OS interface and should not be called from
+ *   application code.
+ *
+ * Input Parameters:
+ *   ticks - Time presented as systime ticks
+ *
+ * Output Parameters:
+ *   reltime - Pointer to receive the time value presented as struct timespec
+ *
+ * Returned Value:
+ *   Always returns OK (0)
+ *
+ ****************************************************************************/
+
+int clock_ticks2time(sclock_t ticks, FAR struct timespec *reltime);
+
+/****************************************************************************
  * Name: clock_systime_timespec
  *
  * Description:
diff --git a/libs/libc/sched/Make.defs b/libs/libc/sched/Make.defs
index 690d871..a136f48 100644
--- a/libs/libc/sched/Make.defs
+++ b/libs/libc/sched/Make.defs
@@ -21,6 +21,8 @@
 # Add the sched C files to the build
 
 CSRCS += sched_getprioritymax.c sched_getprioritymin.c
+CSRCS += clock_ticks2time.c clock_time2ticks.c
+CSRCS += clock_timespec_add.c clock_timespec_subtract.c
 
 ifneq ($(CONFIG_CANCELLATION_POINTS),y)
 CSRCS += task_setcanceltype.c task_testcancel.c
diff --git a/sched/clock/clock_ticks2time.c b/libs/libc/sched/clock_ticks2time.c
similarity index 97%
rename from sched/clock/clock_ticks2time.c
rename to libs/libc/sched/clock_ticks2time.c
index 9cb08a8..f2074bd 100644
--- a/sched/clock/clock_ticks2time.c
+++ b/libs/libc/sched/clock_ticks2time.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * sched/clock/clock_ticks2time.c
+ * libs/libc/sched/clock_ticks2time.c
  *
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -25,7 +25,7 @@
 #include <nuttx/config.h>
 
 #include <time.h>
-#include "clock/clock.h"
+#include <nuttx/clock.h>
 
 /****************************************************************************
  * Public Functions
diff --git a/sched/clock/clock_time2ticks.c b/libs/libc/sched/clock_time2ticks.c
similarity index 98%
rename from sched/clock/clock_time2ticks.c
rename to libs/libc/sched/clock_time2ticks.c
index 72e5f79..9bcf832 100644
--- a/sched/clock/clock_time2ticks.c
+++ b/libs/libc/sched/clock_time2ticks.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * sched/clock/clock_time2ticks.c
+ * libs/libc/sched/clock_time2ticks.c
  *
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -28,7 +28,7 @@
 #include <time.h>
 #include <assert.h>
 
-#include "clock/clock.h"
+#include <nuttx/clock.h>
 
 /****************************************************************************
  * Public Functions
diff --git a/sched/clock/clock_timespec_add.c b/libs/libc/sched/clock_timespec_add.c
similarity index 97%
rename from sched/clock/clock_timespec_add.c
rename to libs/libc/sched/clock_timespec_add.c
index 17fa47f..04d8234 100644
--- a/sched/clock/clock_timespec_add.c
+++ b/libs/libc/sched/clock_timespec_add.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * sched/clock/clock_timespec_add.c
+ * libs/libc/sched/clock_timespec_add.c
  *
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -27,7 +27,7 @@
 #include <stdint.h>
 #include <time.h>
 
-#include "clock/clock.h"
+#include <nuttx/clock.h>
 
 /****************************************************************************
  * Public Functions
diff --git a/sched/clock/clock_timespec_subtract.c b/libs/libc/sched/clock_timespec_subtract.c
similarity index 97%
rename from sched/clock/clock_timespec_subtract.c
rename to libs/libc/sched/clock_timespec_subtract.c
index 04d378e..1cfd599 100644
--- a/sched/clock/clock_timespec_subtract.c
+++ b/libs/libc/sched/clock_timespec_subtract.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * sched/clock/clock_timespec_subtract.c
+ * libs/libc/sched/clock_timespec_subtract.c
  *
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -27,7 +27,7 @@
 #include <stdint.h>
 #include <time.h>
 
-#include "clock/clock.h"
+#include <nuttx/clock.h>
 
 /****************************************************************************
  * Public Functions
diff --git a/sched/clock/Make.defs b/sched/clock/Make.defs
index 57a51b6..7ae14e7 100644
--- a/sched/clock/Make.defs
+++ b/sched/clock/Make.defs
@@ -19,9 +19,9 @@
 ############################################################################
 
 CSRCS += clock_initialize.c clock_settime.c clock_gettime.c clock_getres.c
-CSRCS += clock_time2ticks.c clock_abstime2ticks.c clock_ticks2time.c
-CSRCS += clock_systime_ticks.c clock_systime_timespec.c clock_timespec_add.c
-CSRCS += clock_timespec_subtract.c clock.c
+CSRCS += clock_abstime2ticks.c
+CSRCS += clock_systime_ticks.c clock_systime_timespec.c
+CSRCS += clock.c
 
 ifeq ($(CONFIG_CLOCK_TIMEKEEPING),y)
 CSRCS += clock_timekeeping.c
diff --git a/sched/clock/clock.h b/sched/clock/clock.h
index 874edc2..3f67f0f 100644
--- a/sched/clock/clock.h
+++ b/sched/clock/clock.h
@@ -84,8 +84,5 @@ void weak_function clock_timer(void);
 int  clock_abstime2ticks(clockid_t clockid,
                          FAR const struct timespec *abstime,
                          FAR sclock_t *ticks);
-int  clock_time2ticks(FAR const struct timespec *reltime,
-                      FAR sclock_t *ticks);
-int  clock_ticks2time(sclock_t ticks, FAR struct timespec *reltime);
 
 #endif /* __SCHED_CLOCK_CLOCK_H */