aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnanth N Mavinakayanahalli <ananth@in.ibm.com>2015-02-16 20:45:22 +0530
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-02-17 14:54:13 +1100
commitda4307f12b95713328db483726217bd45cb0ea51 (patch)
tree8c438ddd873c3a5e315ff3866e739d74b1c45fd2
parenteb3247c872db194bf724299ef8d499b5384c4fbd (diff)
downloadskiboot-da4307f12b95713328db483726217bd45cb0ea51.zip
skiboot-da4307f12b95713328db483726217bd45cb0ea51.tar.gz
skiboot-da4307f12b95713328db483726217bd45cb0ea51.tar.bz2
timebase: Add nanosleep_nopoll
For use by hservices mainly... Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r--core/timebase.c11
-rw-r--r--include/timebase.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/core/timebase.c b/core/timebase.c
index 9321373..ff26689 100644
--- a/core/timebase.c
+++ b/core/timebase.c
@@ -104,3 +104,14 @@ int nanosleep(const struct timespec *req, struct timespec *rem)
}
return 0;
}
+
+int nanosleep_nopoll(const struct timespec *req, struct timespec *rem)
+{
+ time_wait_nopoll(timespec_to_tb(req));
+
+ if (rem) {
+ rem->tv_sec = 0;
+ rem->tv_nsec = 0;
+ }
+ return 0;
+}
diff --git a/include/timebase.h b/include/timebase.h
index 156c296..7f5afe1 100644
--- a/include/timebase.h
+++ b/include/timebase.h
@@ -98,4 +98,6 @@ extern void time_wait_ms_nopoll(unsigned long ms);
extern void time_wait_us(unsigned long us);
extern void time_wait_us_nopoll(unsigned long us);
+/* nanosleep_nopoll - variant for use from hostservices */
+extern int nanosleep_nopoll(const struct timespec *req, struct timespec *rem);
#endif /* __TIME_H */