]> granicus.if.org Git - strace/commitdiff
Remove linux/ptp_clock.h
authorDmitry V. Levin <ldv@altlinux.org>
Sat, 23 Dec 2017 02:37:33 +0000 (02:37 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sat, 23 Dec 2017 02:53:54 +0000 (02:53 +0000)
As linux kernel provides a compatible linux/ptp_clock.h header since
commit v3.8-rc1~139^2~514, there is no need for a local copy.

* linux/ptp_clock.h: Remove.
* Makefile.am (EXTRA_DIST): Remove it.
* configure.ac (AC_CHECK_TYPES): Check for struct ptp_sys_offset
in <linux/ptp_clock.h>.
* ioctl.c (ioctl_decode) <case '='>: Conditionalize
on [HAVE_STRUCT_PTP_SYS_OFFSET].
* ptp.c: Likewise.

Makefile.am
configure.ac
ioctl.c
linux/ptp_clock.h [deleted file]
ptp.c

index 549f69d56a173e62e634659308fa0f589d9b8c05..030dc980fb1d5b2075392f31941351027549099f 100644 (file)
@@ -661,7 +661,6 @@ EXTRA_DIST =                                \
        linux/powerpc64/syscallent.h    \
        linux/powerpc64/syscallent1.h   \
        linux/powerpc64/userent.h       \
-       linux/ptp_clock.h               \
        linux/riscv/arch_regs.c         \
        linux/riscv/arch_regs.h         \
        linux/riscv/arch_rt_sigframe.c  \
index ba62afcacf6680de37b80ec722413b71fc0c1d35..2bddc6e2844f93940e0f0a68a5e2589a67a1a056 100644 (file)
@@ -545,6 +545,10 @@ AC_CHECK_TYPES([struct mtd_write_req],,, [#include <mtd/mtd-abi.h>])
 
 AC_CHECK_MEMBERS([struct ubi_attach_req.max_beb_per1024],,, [#include <mtd/ubi-user.h>])
 
+AC_CHECK_TYPES(m4_normalize([
+       struct ptp_sys_offset
+]),,, [#include <linux/ptp_clock.h>])
+
 AC_CHECK_TYPES(m4_normalize([
        struct kvm_regs,
        struct kvm_sregs,
diff --git a/ioctl.c b/ioctl.c
index e74a3059553edced5095262f7f1f47104b89181e..9fd74924f4f05ccbf81a94d67285ef3914b04af4 100644 (file)
--- a/ioctl.c
+++ b/ioctl.c
@@ -298,8 +298,10 @@ ioctl_decode(struct tcb *tcp)
 #endif
        case 'V':
                return v4l2_ioctl(tcp, code, arg);
+#ifdef HAVE_STRUCT_PTP_SYS_OFFSET
        case '=':
                return ptp_ioctl(tcp, code, arg);
+#endif
 #ifdef HAVE_LINUX_INPUT_H
        case 'E':
                return evdev_ioctl(tcp, code, arg);
diff --git a/linux/ptp_clock.h b/linux/ptp_clock.h
deleted file mode 100644 (file)
index 248f3ce..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * PTP 1588 clock support - user space interface
- *
- * Copyright (c) 2010 OMICRON electronics GmbH
- * Copyright (c) 2010-2017 The strace developers.
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef _PTP_CLOCK_H_
-#define _PTP_CLOCK_H_
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-/* PTP_xxx bits, for the flags field within the request structures. */
-#define PTP_ENABLE_FEATURE (1<<0)
-#define PTP_RISING_EDGE    (1<<1)
-#define PTP_FALLING_EDGE   (1<<2)
-
-/*
- * struct ptp_clock_time - represents a time value
- *
- * The sign of the seconds field applies to the whole value. The
- * nanoseconds field is always unsigned. The reserved field is
- * included for sub-nanosecond resolution, should the demand for
- * this ever appear.
- *
- */
-struct ptp_clock_time {
-       __s64 sec;  /* seconds */
-       __u32 nsec; /* nanoseconds */
-       __u32 reserved;
-};
-
-struct ptp_clock_caps {
-       int max_adj;   /* Maximum frequency adjustment in parts per billon. */
-       int n_alarm;   /* Number of programmable alarms. */
-       int n_ext_ts;  /* Number of external time stamp channels. */
-       int n_per_out; /* Number of programmable periodic signals. */
-       int pps;       /* Whether the clock supports a PPS callback. */
-       int rsv[15];   /* Reserved for future use. */
-};
-
-struct ptp_extts_request {
-       unsigned int index;  /* Which channel to configure. */
-       unsigned int flags;  /* Bit field for PTP_xxx flags. */
-       unsigned int rsv[2]; /* Reserved for future use. */
-};
-
-struct ptp_perout_request {
-       struct ptp_clock_time start;  /* Absolute start time. */
-       struct ptp_clock_time period; /* Desired period, zero means disable. */
-       unsigned int index;           /* Which channel to configure. */
-       unsigned int flags;           /* Reserved for future use. */
-       unsigned int rsv[4];          /* Reserved for future use. */
-};
-
-#define PTP_MAX_SAMPLES 25 /* Maximum allowed offset measurement samples. */
-
-struct ptp_sys_offset {
-       unsigned int n_samples; /* Desired number of measurements. */
-       unsigned int rsv[3];    /* Reserved for future use. */
-       /*
-        * Array of interleaved system/phc time stamps. The kernel
-        * will provide 2*n_samples + 1 time stamps, with the last
-        * one as a system time stamp.
-        */
-       struct ptp_clock_time ts[2 * PTP_MAX_SAMPLES + 1];
-};
-
-#define PTP_CLK_MAGIC '='
-
-#define PTP_CLOCK_GETCAPS  _IOR(PTP_CLK_MAGIC, 1, struct ptp_clock_caps)
-#define PTP_EXTTS_REQUEST  _IOW(PTP_CLK_MAGIC, 2, struct ptp_extts_request)
-#define PTP_PEROUT_REQUEST _IOW(PTP_CLK_MAGIC, 3, struct ptp_perout_request)
-#define PTP_ENABLE_PPS     _IOW(PTP_CLK_MAGIC, 4, int)
-#define PTP_SYS_OFFSET     _IOW(PTP_CLK_MAGIC, 5, struct ptp_sys_offset)
-
-struct ptp_extts_event {
-       struct ptp_clock_time t; /* Time event occurred. */
-       unsigned int index;      /* Which channel produced the event. */
-       unsigned int flags;      /* Reserved for future use. */
-       unsigned int rsv[2];     /* Reserved for future use. */
-};
-
-#endif
diff --git a/ptp.c b/ptp.c
index fce6e0e8f561fe6651973d6e03e9be20a1d90dea..3cb3ae872e333a913d9b4c677fffffd7bcb00b3c 100644 (file)
--- a/ptp.c
+++ b/ptp.c
  */
 
 #include "defs.h"
-#include <linux/ioctl.h>
-#include <linux/ptp_clock.h>
 
-#include "xlat/ptp_flags_options.h"
+#ifdef HAVE_STRUCT_PTP_SYS_OFFSET
+
+# include <linux/ioctl.h>
+# include <linux/ptp_clock.h>
+
+# include "xlat/ptp_flags_options.h"
 
 int
 ptp_ioctl(struct tcb *const tcp, const unsigned int code,
@@ -138,3 +141,5 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
 
        return RVAL_IOCTL_DECODED;
 }
+
+#endif /* HAVE_STRUCT_PTP_SYS_OFFSET */