summaryrefslogtreecommitdiffstats
path: root/Documentation/ptp
diff options
context:
space:
mode:
authorManfred Rudigier <manfred.rudigier@omicron.at>2014-03-25 12:24:05 +0100
committerDavid S. Miller <davem@davemloft.net>2014-03-26 16:43:36 -0400
commit271c83de61f2b4c9cf0fbca86ced40084f14c4a5 (patch)
treeadbec04aefa7bee7a0078a790a6ed2af111c086d /Documentation/ptp
parentb620cb3e829f257f96845bd60813a94f598d6dec (diff)
downloadlinux-271c83de61f2b4c9cf0fbca86ced40084f14c4a5.tar.gz
linux-271c83de61f2b4c9cf0fbca86ced40084f14c4a5.tar.bz2
linux-271c83de61f2b4c9cf0fbca86ced40084f14c4a5.zip
ptp: Add a command line option in testptp to set a specific PTP time
Signed-off-by: Manfred Rudigier <manfred.rudigier@omicron.at> Signed-off-by: Christian Riesch <christian.riesch@omicron.at> Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation/ptp')
-rw-r--r--Documentation/ptp/testptp.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/Documentation/ptp/testptp.c b/Documentation/ptp/testptp.c
index e9eaee622032..13bddd5427bd 100644
--- a/Documentation/ptp/testptp.c
+++ b/Documentation/ptp/testptp.c
@@ -131,7 +131,8 @@ static void usage(char *progname)
" -P val enable or disable (val=1|0) the system clock PPS\n"
" -s set the ptp clock time from the system time\n"
" -S set the system time from the ptp clock time\n"
- " -t val shift the ptp clock time by 'val' seconds\n",
+ " -t val shift the ptp clock time by 'val' seconds\n"
+ " -T val set the ptp clock time to 'val' seconds\n",
progname);
}
@@ -172,6 +173,7 @@ int main(int argc, char *argv[])
int perout = -1;
int pin_index = -1, pin_func;
int pps = -1;
+ int seconds = 0;
int settime = 0;
int64_t t1, t2, tp;
@@ -179,7 +181,7 @@ int main(int argc, char *argv[])
progname = strrchr(argv[0], '/');
progname = progname ? 1+progname : argv[0];
- while (EOF != (c = getopt(argc, argv, "a:A:cd:e:f:ghi:k:lL:p:P:sSt:v"))) {
+ while (EOF != (c = getopt(argc, argv, "a:A:cd:e:f:ghi:k:lL:p:P:sSt:T:v"))) {
switch (c) {
case 'a':
oneshot = atoi(optarg);
@@ -234,6 +236,10 @@ int main(int argc, char *argv[])
case 't':
adjtime = atoi(optarg);
break;
+ case 'T':
+ settime = 3;
+ seconds = atoi(optarg);
+ break;
case 'h':
usage(progname);
return 0;
@@ -326,6 +332,16 @@ int main(int argc, char *argv[])
}
}
+ if (settime == 3) {
+ ts.tv_sec = seconds;
+ ts.tv_nsec = 0;
+ if (clock_settime(clkid, &ts)) {
+ perror("clock_settime");
+ } else {
+ puts("set time okay");
+ }
+ }
+
if (extts) {
memset(&extts_request, 0, sizeof(extts_request));
extts_request.index = index;