summaryrefslogtreecommitdiffstats
path: root/package/uclibc/0004-sync-header-with-GNU-libc-kernel.patch
blob: 41a35f67a7fa731878e9683070cf18e56f6986e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
From bf2fd9c0c451a83aa729394255394744fc81d8a3 Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
Date: Sun, 5 Mar 2017 01:58:17 +0100
Subject: [PATCH] sync header with GNU libc / kernel

The header is not in sync with GNU libc and Linux kernel and
therefore produces compile errors with qemu-user (2.8.0).

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
 include/sys/timex.h | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/include/sys/timex.h b/include/sys/timex.h
index 4cb81d2..76fefa7 100644
--- a/include/sys/timex.h
+++ b/include/sys/timex.h
@@ -1,5 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -22,13 +21,14 @@
 #include <sys/time.h>
 #include <time.h>
 
-/* These definitions from linux/timex.h as of 2.2.0.  */
+/* These definitions from linux/timex.h as of 3.18.  */
 
 struct ntptimeval
 {
   struct timeval time;	/* current time (ro) */
   long int maxerror;	/* maximum error (us) (ro) */
   long int esterror;	/* estimated error (us) (ro) */
+  long int tai;		/* TAI offset (ro) */
 };
 
 struct timex
@@ -44,7 +44,6 @@ struct timex
   long int tolerance;	/* clock frequency tolerance (ppm) (read only) */
   struct timeval time;	/* (read only) */
   long int tick;	/* (modified) usecs between clock ticks */
-
   long int ppsfreq;	/* pps frequency (scaled ppm) (ro) */
   long int jitter;	/* pps jitter (us) (ro) */
   int shift;		/* interval duration (s) (shift) (ro) */
@@ -54,6 +53,8 @@ struct timex
   long int errcnt;	/* calibration errors (ro) */
   long int stbcnt;	/* stability limit exceeded (ro) */
 
+  int tai;		/* TAI offset (ro) */
+
   /* ??? */
   int  :32; int  :32; int  :32; int  :32;
   int  :32; int  :32; int  :32; int  :32;
@@ -83,6 +84,9 @@ struct timex
 #define MOD_TIMECONST	ADJ_TIMECONST
 #define MOD_CLKB	ADJ_TICK
 #define MOD_CLKA	ADJ_OFFSET_SINGLESHOT /* 0x8000 in original */
+#define MOD_TAI		ADJ_TAI
+#define MOD_MICRO	ADJ_MICRO
+#define MOD_NANO	ADJ_NANO
 
 
 /* Status codes (timex.status) */
@@ -102,9 +106,12 @@ struct timex
 #define STA_PPSERROR	0x0800	/* PPS signal calibration error (ro) */
 
 #define STA_CLOCKERR	0x1000	/* clock hardware fault (ro) */
+#define STA_NANO	0x2000	/* resolution (0 = us, 1 = ns) (ro) */
+#define STA_MODE	0x4000	/* mode (0 = PLL, 1 = FLL) (ro) */
+#define STA_CLK		0x8000	/* clock source (0 = A, 1 = B) (ro) */
 
 #define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \
-    STA_PPSERROR | STA_CLOCKERR) /* read-only bits */
+    STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)
 
 /* Clock states (time_state) */
 #define TIME_OK		0	/* clock synchronized, no leap second */
-- 
2.1.4

OpenPOWER on IntegriCloud