Delete ptpd-add-dpaa-etsec-support.patch.The reason is the following: - The ptpd-add-dpaa-etsec-support.patch does not suitable for new version. - The upstream didn't accept this patch.
Signed-off-by: Lei Maohui <leimao...@cn.fujitsu.com> --- .../ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch | 621 --------------------- .../ptpd/{ptpd_2.3.1-rc2.bb => ptpd_2.3.1.bb} | 7 +- 2 files changed, 3 insertions(+), 625 deletions(-) delete mode 100644 meta-networking/recipes-daemons/ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch rename meta-networking/recipes-daemons/ptpd/{ptpd_2.3.1-rc2.bb => ptpd_2.3.1.bb} (86%) diff --git a/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch deleted file mode 100644 index abb3933..0000000 --- a/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch +++ /dev/null @@ -1,621 +0,0 @@ -Add FSL QorIQ DPAA and eTSEC support - -This patch is for Freescale QorIQ DPAA and eTSEC which support 1588 hardware -assist module, and mainly uses SO_TIMESTAMPING API for HW timestamp and PHC -API. - -Signed-off-by: Lu Yangbo <yangbo...@freescale.com> -Upstream-Status: Submitted [http://sourceforge.net/p/ptpd/patches/56/] - -diff --git a/src/bmc.c b/src/bmc.c -index f4c74bd..925daba 100644 ---- a/src/bmc.c -+++ b/src/bmc.c -@@ -249,6 +249,7 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim - ptpClock->timePropertiesDS.ptpTimescale = IS_SET(header->flagField1, PTPT); - ptpClock->timePropertiesDS.timeSource = announce->timeSource; - -+#ifndef FSL_1588 - #if defined(MOD_TAI) && NTP_API == 4 - /* - * update kernel TAI offset, but only if timescale is -@@ -261,6 +262,7 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim - INFO("Set kernel UTC offset to %d\n", ptpClock->timePropertiesDS.currentUtcOffset); - } - #endif /* MOD_TAI */ -+#endif - - /* Leap second handling */ - -@@ -280,9 +282,11 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim - ptpClock->leapSecondPending = FALSE; - ptpClock->leapSecondInProgress = FALSE; - timerStop(LEAP_SECOND_PAUSE_TIMER, ptpClock->itimer); -+#ifndef FSL_1588 - #ifdef HAVE_SYS_TIMEX_H - unsetTimexFlags(STA_INS | STA_DEL,TRUE); - #endif /* HAVE_SYS_TIMEX_H */ -+#endif /* FSL_1588 */ - } - - /* -@@ -295,6 +299,7 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim - ((!previousLeap59 && ptpClock->timePropertiesDS.leap59) || - (!previousLeap61 && ptpClock->timePropertiesDS.leap61)))) { - #ifdef HAVE_SYS_TIMEX_H -+#ifndef FSL_1588 - WARNING("Leap second pending! Setting kernel to %s " - "one second at midnight\n", - ptpClock->timePropertiesDS.leap61 ? "add" : "delete"); -@@ -304,6 +309,7 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim - setTimexFlags(ptpClock->timePropertiesDS.leap61 ? STA_INS : STA_DEL, - FALSE); - } -+#endif - #else - WARNING("Leap second pending! No kernel leap second " - "API support - expect a clock jump at " -diff --git a/src/dep/net.c b/src/dep/net.c -index 34d23ad..9075847 100644 ---- a/src/dep/net.c -+++ b/src/dep/net.c -@@ -85,6 +85,9 @@ - #include <linux/ethtool.h> - #endif /* SO_TIMESTAMPING */ - -+#if defined(FSL_1588) -+char fsl_1588_if_name[IFACE_NAME_LENGTH]; -+#endif - /** - * shutdown the IPv4 multicast for specific address - * -@@ -461,6 +464,9 @@ testInterface(char * ifaceName, RunTimeOpts* rtOpts) - if(getInterfaceInfo(ifaceName, &info) != 1) - return FALSE; - -+#if defined(FSL_1588) -+ memcpy(fsl_1588_if_name, ifaceName, IFACE_NAME_LENGTH); -+#endif - switch(rtOpts->transport) { - - case UDP_IPV4: -@@ -666,6 +672,27 @@ end: - } - #endif /* SO_TIMESTAMPING */ - -+#if defined(FSL_1588) -+/* select HWTSTAMP_TX_ON or HWTSTAMP_TX_OFF */ -+void hwtstamp_tx_ctl(NetPath *netPath, Boolean enable) -+{ -+ struct ifreq hwtstamp; -+ struct hwtstamp_config hwconfig; -+ -+ memset(&hwtstamp, 0, sizeof(hwtstamp)); -+ strncpy(hwtstamp.ifr_name, fsl_1588_if_name, sizeof(hwtstamp.ifr_name)); -+ hwtstamp.ifr_data = (void *)&hwconfig; -+ memset(&hwconfig, 0, sizeof(hwconfig)); -+ hwconfig.tx_type = -+ enable ? -+ HWTSTAMP_TX_ON : HWTSTAMP_TX_OFF; -+ hwconfig.rx_filter = HWTSTAMP_FILTER_PTP_V1_L4_SYNC; -+ if (ioctl(netPath->eventSock, SIOCSHWTSTAMP, &hwtstamp) < 0 -+ || ioctl(netPath->generalSock, SIOCSHWTSTAMP, &hwtstamp) < 0) -+ printf("error:hwtstamp_tx_ctl\n"); -+} -+#endif -+ - - /** - * Initialize timestamping of packets -@@ -682,10 +709,17 @@ netInitTimestamping(NetPath * netPath, RunTimeOpts * rtOpts) - Boolean result = TRUE; - #if defined(SO_TIMESTAMPING) && defined(SO_TIMESTAMPNS)/* Linux - current API */ - DBG("netInitTimestamping: trying to use SO_TIMESTAMPING\n"); -+#if defined(FSL_1588) -+ val = SOF_TIMESTAMPING_TX_HARDWARE | -+ SOF_TIMESTAMPING_RX_HARDWARE | -+ SOF_TIMESTAMPING_RAW_HARDWARE; -+#else - val = SOF_TIMESTAMPING_TX_SOFTWARE | - SOF_TIMESTAMPING_RX_SOFTWARE | - SOF_TIMESTAMPING_SOFTWARE; -+#endif - -+#ifndef FSL_1588 - /* unless compiled with PTPD_EXPERIMENTAL, check if we support the desired tstamp capabilities */ - #ifndef PTPD_EXPERIMENTAL - #ifdef ETHTOOL_GET_TS_INFO -@@ -716,6 +750,7 @@ netInitTimestamping(NetPath * netPath, RunTimeOpts * rtOpts) - val = 1; - #endif /* ETHTOOL_GET_TS_INFO */ - #endif /* PTPD_EXPERIMENTAL */ -+#endif /* FSL_1588 */ - - if(val == 1) { - if (setsockopt(netPath->eventSock, SOL_SOCKET, SO_TIMESTAMPNS, &val, sizeof(int)) < 0) { -@@ -902,6 +937,9 @@ netInit(NetPath * netPath, RunTimeOpts * rtOpts, PtpClock * ptpClock) - - DBG("Listening on IP: %s\n",inet_ntoa( - ((struct sockaddr_in*)&(netPath->interfaceInfo.afAddress))->sin_addr)); -+#if defined(FSL_1588) -+ hwtstamp_tx_ctl(&ptpClock->netPath, FALSE);/* HWTSTAMP_TX_OFF */ -+#endif - - #ifdef PTPD_PCAP - if (rtOpts->pcap == TRUE) { -@@ -1319,7 +1357,11 @@ netRecvEvent(Octet * buf, TimeInternal * time, NetPath * netPath, int flags) - #if defined(SO_TIMESTAMPING) && defined(SO_TIMESTAMPNS) - if(cmsg->cmsg_type == SO_TIMESTAMPING || - cmsg->cmsg_type == SO_TIMESTAMPNS) { -+#if defined(FSL_1588) -+ ts = (struct timespec *)CMSG_DATA(cmsg) + 2; -+#else - ts = (struct timespec *)CMSG_DATA(cmsg); -+#endif - time->seconds = ts->tv_sec; - time->nanoseconds = ts->tv_nsec; - timestampValid = TRUE; -@@ -1520,6 +1562,9 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath, - ssize_t ret; - struct sockaddr_in addr; - -+#if defined(FSL_1588) -+ hwtstamp_tx_ctl(netPath, TRUE);/* HWTSTAMP_TX_ON */ -+#endif - addr.sin_family = AF_INET; - addr.sin_port = htons(PTP_EVENT_PORT); - -@@ -1559,6 +1604,9 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath, - DBG("Error sending unicast event message\n"); - else - netPath->sentPackets++; -+#if defined(FSL_1588) -+ usleep(100); -+#endif - #ifndef SO_TIMESTAMPING - /* - * Need to forcibly loop back the packet since -@@ -1574,10 +1622,14 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath, - #else - if(!netPath->txTimestampFailure) { - if(!getTxTimestamp(netPath, tim)) { -+#if defined(FSL_1588) -+ printf("getTxTimestamp: get tx timestamp error\n"); -+#else - netPath->txTimestampFailure = TRUE; - if (tim) { - clearTime(tim); - } -+#endif - } - } - -@@ -1609,9 +1661,15 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath, - DBG("Error sending multicast event message\n"); - else - netPath->sentPackets++; -+#if defined(FSL_1588) -+ usleep(100); -+#endif - #ifdef SO_TIMESTAMPING - if(!netPath->txTimestampFailure) { - if(!getTxTimestamp(netPath, tim)) { -+#if defined(FSL_1588) -+ printf("getTxTimestamp: get tx timestamp error\n"); -+#else - if (tim) { - clearTime(tim); - } -@@ -1620,6 +1678,7 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath, - - /* Try re-enabling MULTICAST_LOOP */ - netSetMulticastLoopback(netPath, TRUE); -+#endif - } - } - #endif /* SO_TIMESTAMPING */ -@@ -1638,6 +1697,9 @@ netSendGeneral(Octet * buf, UInteger16 length, NetPath * netPath, - ssize_t ret; - struct sockaddr_in addr; - -+#if defined(FSL_1588) -+ hwtstamp_tx_ctl(netPath, TRUE);/* HWTSTAMP_TX_ON */ -+#endif - addr.sin_family = AF_INET; - addr.sin_port = htons(PTP_GENERAL_PORT); - -@@ -1707,6 +1769,9 @@ netSendPeerGeneral(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpt - ssize_t ret; - struct sockaddr_in addr; - -+#if defined(FSL_1588) -+ hwtstamp_tx_ctl(netPath, TRUE);/* HWTSTAMP_TX_ON */ -+#endif - addr.sin_family = AF_INET; - addr.sin_port = htons(PTP_GENERAL_PORT); - -@@ -1762,6 +1827,9 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts - ssize_t ret; - struct sockaddr_in addr; - -+#if defined(FSL_1588) -+ hwtstamp_tx_ctl(netPath, TRUE);/* HWTSTAMP_TX_ON */ -+#endif - addr.sin_family = AF_INET; - addr.sin_port = htons(PTP_EVENT_PORT); - -@@ -1788,6 +1856,9 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts - DBG("Error sending unicast peer event message\n"); - else - netPath->sentPackets++; -+#if defined(FSL_1588) -+ usleep(100); -+#endif - - #ifndef SO_TIMESTAMPING - /* -@@ -1804,10 +1875,14 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts - #else - if(!netPath->txTimestampFailure) { - if(!getTxTimestamp(netPath, tim)) { -+#if defined(FSL_1588) -+ printf("getTxTimestamp: get tx timestamp error\n"); -+#else - netPath->txTimestampFailure = TRUE; - if (tim) { - clearTime(tim); - } -+#endif - } - } - -@@ -1839,9 +1914,15 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts - DBG("Error sending multicast peer event message\n"); - else - netPath->sentPackets++; -+#if defined(FSL_1588) -+ usleep(100); -+#endif - #ifdef SO_TIMESTAMPING - if(!netPath->txTimestampFailure) { - if(!getTxTimestamp(netPath, tim)) { -+#if defined(FSL_1588) -+ printf("getTxTimestamp: get tx timestamp error\n"); -+#else - if (tim) { - clearTime(tim); - } -@@ -1850,6 +1931,7 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts - - /* Try re-enabling MULTICAST_LOOP */ - netSetMulticastLoopback(netPath, TRUE); -+#endif - } - } - #endif /* SO_TIMESTAMPING */ -diff --git a/src/dep/ntpengine/ntpdcontrol.c b/src/dep/ntpengine/ntpdcontrol.c -index d773284..e84af9e 100644 ---- a/src/dep/ntpengine/ntpdcontrol.c -+++ b/src/dep/ntpengine/ntpdcontrol.c -@@ -170,6 +170,15 @@ get_systime( - { - double dtemp; - -+#if defined(FSL_1588) -+ struct timespec tp; -+ clock_gettime(clkid, &tp); -+ tv.tv_sec = tp.tv_sec; -+ tv.tv_usec = tp.tv_nsec / 1000; -+ -+ now->l_i = tv.tv_sec + JAN_1970; -+ dtemp = tv.tv_usec / 1e6; -+#else /* FSL_1588 */ - #if defined(HAVE_CLOCK_GETTIME) || defined(HAVE_GETCLOCK) - struct timespec ts; /* seconds and nanoseconds */ - -@@ -195,6 +204,7 @@ get_systime( - dtemp = tv.tv_usec / 1e6; - - #endif /* HAVE_CLOCK_GETTIME || HAVE_GETCLOCK */ -+#endif /* FSL_1588 */ - - /* - * Renormalize to seconds past 1900 and fraction. -diff --git a/src/dep/ptpd_dep.h b/src/dep/ptpd_dep.h -index 8778988..03ae642 100644 ---- a/src/dep/ptpd_dep.h -+++ b/src/dep/ptpd_dep.h -@@ -14,6 +14,7 @@ - #define PTPD_DBGV - #endif - -+#define FSL_1588 1 - /** \name System messages*/ - /**\{*/ - -@@ -280,6 +281,11 @@ UInteger16 msgPackManagementResponse(Octet * buf,MsgHeader*,MsgManagement*,PtpCl - * -Init network stuff, send and receive datas*/ - /**\{*/ - -+#if defined(FSL_1588) -+extern char fsl_1588_if_name[IFACE_NAME_LENGTH]; -+/* select HWTSTAMP_TX_ON or HWTSTAMP_TX_OFF */ -+void hwtstamp_tx_ctl(NetPath *netPath, Boolean enable); -+#endif - Boolean testInterface(char* ifaceName, RunTimeOpts* rtOpts); - Boolean netInit(NetPath*,RunTimeOpts*,PtpClock*); - Boolean netShutdown(NetPath*); -@@ -357,6 +363,10 @@ void restartLogging(RunTimeOpts* rtOpts); - void logStatistics(RunTimeOpts *rtOpts, PtpClock *ptpClock); - void displayStatus(PtpClock *ptpClock, const char *prefixMessage); - void displayPortIdentity(PortIdentity *port, const char *prefixMessage); -+#if defined(FSL_1588) -+clockid_t get_clockid(int fd); -+int clock_adjtime(clockid_t id, struct timex *tx); -+#endif - Boolean nanoSleep(TimeInternal*); - void getTime(TimeInternal*); - void setTime(TimeInternal*); -@@ -378,12 +388,15 @@ void adjTime(Integer32); - void adjFreq_wrapper(RunTimeOpts * rtOpts, PtpClock * ptpClock, double adj); - Boolean adjFreq(double); - double getAdjFreq(void); -+#ifndef FSL_1588 - void informClockSource(PtpClock* ptpClock); -+#endif - - /* Observed drift save / recovery functions */ - void restoreDrift(PtpClock * ptpClock, RunTimeOpts * rtOpts, Boolean quiet); - void saveDrift(PtpClock * ptpClock, RunTimeOpts * rtOpts, Boolean quiet); - -+#ifndef FSL_1588 - /* Helper function to manage ntpadjtime / adjtimex flags */ - void setTimexFlags(int flags, Boolean quiet); - void unsetTimexFlags(int flags, Boolean quiet); -@@ -393,6 +406,7 @@ Boolean checkTimexFlags(int flags); - #if defined(MOD_TAI) && NTP_API == 4 - void setKernelUtcOffset(int utc_offset); - #endif /* MOD_TAI */ -+#endif - - #endif /* HAVE_SYS_TIMEX_H */ - -diff --git a/src/dep/servo.c b/src/dep/servo.c -index 06215e6..6651a20 100644 ---- a/src/dep/servo.c -+++ b/src/dep/servo.c -@@ -1013,10 +1013,12 @@ if(rtOpts->ntpOptions.enableEngine && rtOpts->panicModeNtp) { - /* Adjust the clock first -> the PI controller runs here */ - adjFreq_wrapper(rtOpts, ptpClock, runPIservo(&ptpClock->servo, ptpClock->offsetFromMaster.nanoseconds)); - warn_operator_fast_slewing(rtOpts, ptpClock, ptpClock->servo.observedDrift); -+#ifndef FSL_1588 - /* Unset STA_UNSYNC */ - unsetTimexFlags(STA_UNSYNC, TRUE); - /* "Tell" the clock about maxerror, esterror etc. */ - informClockSource(ptpClock); -+#endif /* FSL_1588 */ - #endif /* HAVE_SYS_TIMEX_H */ - } - -diff --git a/src/dep/sys.c b/src/dep/sys.c -index 52b274c..8551724 100644 ---- a/src/dep/sys.c -+++ b/src/dep/sys.c -@@ -344,7 +344,14 @@ int writeMessage(FILE* destination, int priority, const char * format, va_list a - * it also can cause problems in nested debug statements (which are solved by turning the signal - * handling synchronous, and not calling this function inside asycnhronous signal processing) - */ -+#if defined(FSL_1588) -+ struct timespec tp; -+ clock_gettime(clkid, &tp); -+ now.tv_sec = tp.tv_sec; -+ now.tv_usec = tp.tv_nsec / 1000; -+#else - gettimeofday(&now, 0); -+#endif - strftime(time_str, MAXTIMESTR, "%F %X", localtime((time_t*)&now.tv_sec)); - fprintf(destination, "%s.%06d ", time_str, (int)now.tv_usec ); - fprintf(destination,PTPD_PROGNAME"[%d].%s (%-9s ", -@@ -1174,13 +1181,33 @@ nanoSleep(TimeInternal * t) - return TRUE; - } - -+#if defined(FSL_1588) -+clockid_t get_clockid(int fd) -+{ -+#define CLOCKFD 3 -+#define FD_TO_CLOCKID(fd) ((~(clockid_t) (fd) << 3) | CLOCKFD) -+ return FD_TO_CLOCKID(fd); -+} -+ -+/* When glibc offers the syscall, this will go away. */ -+#include <sys/syscall.h> -+int clock_adjtime(clockid_t id, struct timex *tx) -+{ -+ return syscall(__NR_clock_adjtime, id, tx); -+} -+#endif -+ - void - getTime(TimeInternal * time) - { --#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) -+#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) || defined(FSL_1588) - - struct timespec tp; -+#if defined(FSL_1588) -+ if (clock_gettime(clkid, &tp) < 0) { -+#else - if (clock_gettime(CLOCK_REALTIME, &tp) < 0) { -+#endif - PERROR("clock_gettime() failed, exiting."); - exit(0); - } -@@ -1201,7 +1228,7 @@ void - setTime(TimeInternal * time) - { - --#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) -+#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) || defined(FSL_1588) - - struct timespec tp; - tp.tv_sec = time->seconds; -@@ -1215,9 +1242,13 @@ setTime(TimeInternal * time) - - #endif /* _POSIX_TIMERS */ - --#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) - -+#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) || defined(FSL_1588) -+#if defined(FSL_1588) -+ if (clock_settime(clkid, &tp) < 0) { -+#else - if (clock_settime(CLOCK_REALTIME, &tp) < 0) { -+#endif - PERROR("Could not set system time"); - return; - } -@@ -1595,7 +1626,11 @@ adjFreq(double adj) - #endif /* HAVE_STRUCT_TIMEX_TICK */ - DBG2(" adj is %.09f; t freq is %d (float: %.09f)\n", adj, t.freq, dFreq); - -+#if defined(FSL_1588) -+ return !clock_adjtime(clkid, &t); -+#else - return !adjtimex(&t); -+#endif - } - - -@@ -1609,7 +1644,11 @@ getAdjFreq(void) - - memset(&t, 0, sizeof(t)); - t.modes = 0; -+#if defined(FSL_1588) -+ clock_adjtime(clkid, &t); -+#else - adjtimex(&t); -+#endif - - dFreq = (t.freq + 0.0) / ((1<<16) / 1000.0); - -@@ -1764,6 +1803,7 @@ saveDrift(PtpClock * ptpClock, RunTimeOpts * rtOpts, Boolean quiet) - fclose(driftFP); - } - -+#ifndef FSL_1588 - void - setTimexFlags(int flags, Boolean quiet) - { -@@ -1922,6 +1962,7 @@ setKernelUtcOffset(int utc_offset) { - } - } - #endif /* MOD_TAI */ -+#endif /* FSL_1588 */ - - - #else -diff --git a/src/protocol.c b/src/protocol.c -index c73728b..90554f3 100644 ---- a/src/protocol.c -+++ b/src/protocol.c -@@ -615,6 +615,7 @@ if(!rtOpts->panicModeNtp || !ptpClock->panicMode) - timerStart(STATISTICS_UPDATE_TIMER, rtOpts->statsUpdateInterval, ptpClock->itimer); - #endif /* PTPD_STATISTICS */ - -+#ifndef FSL_1588 - #ifdef HAVE_SYS_TIMEX_H - - /* -@@ -632,6 +633,7 @@ if(!rtOpts->panicModeNtp || !ptpClock->panicMode) - unsetTimexFlags(STA_INS | STA_DEL, TRUE); - } - #endif /* HAVE_SYS_TIMEX_H */ -+#endif /* FSL_1588 */ - break; - default: - DBG("to unrecognized state\n"); -@@ -934,6 +936,7 @@ doState(RunTimeOpts *rtOpts, PtpClock *ptpClock) - WARNING("Leap second event imminent - pausing " - "clock and offset updates\n"); - ptpClock->leapSecondInProgress = TRUE; -+#ifndef FSL_1588 - #ifdef HAVE_SYS_TIMEX_H - if(!checkTimexFlags(ptpClock->timePropertiesDS.leap61 ? - STA_INS : STA_DEL)) { -@@ -944,6 +947,7 @@ doState(RunTimeOpts *rtOpts, PtpClock *ptpClock) - STA_INS : STA_DEL, FALSE); - } - #endif /* HAVE_SYS_TIMEX_H */ -+#endif /* FSL_1588 */ - /* - * start pause timer from now until [pause] after - * midnight, plus an extra second if inserting -@@ -1290,6 +1294,9 @@ handle(RunTimeOpts *rtOpts, PtpClock *ptpClock) - int ret; - ssize_t length = -1; - -+#if defined(FSL_1588) -+ hwtstamp_tx_ctl(&ptpClock->netPath, FALSE);/* HWTSTAMP_TX_OFF */ -+#endif - TimeInternal timeStamp = { 0, 0 }; - fd_set readfds; - -@@ -1437,9 +1444,11 @@ handleAnnounce(MsgHeader *header, ssize_t length, - ptpClock->leapSecondInProgress=FALSE; - ptpClock->timePropertiesDS.leap59 = FALSE; - ptpClock->timePropertiesDS.leap61 = FALSE; -+#ifndef FSL_1588 - #ifdef HAVE_SYS_TIMEX_H - unsetTimexFlags(STA_INS | STA_DEL, TRUE); - #endif /* HAVE_SYS_TIMEX_H */ -+#endif /* FSL_1588 */ - } - } - DBG2("___ Announce: received Announce from current Master, so reset the Announce timer\n"); -diff --git a/src/ptpd.c b/src/ptpd.c -index 3fad379..471b1e9 100644 ---- a/src/ptpd.c -+++ b/src/ptpd.c -@@ -78,6 +78,21 @@ main(int argc, char **argv) - PtpClock *ptpClock; - Integer16 ret; - -+#if defined(FSL_1588) -+ char device[] = "/dev/ptp0"; -+ int fd; -+ -+ fd = open(device, O_RDWR); -+ if (fd < 0) { -+ fprintf(stderr, "opening %s: %s\n", device, strerror(errno)); -+ return -1; -+ } -+ clkid = get_clockid(fd); -+ if (clkid == -1) { -+ fprintf(stderr, "failed to read clock id\n"); -+ return -1; -+ } -+#endif - startupInProgress = TRUE; - - /* Initialize run time options with command line arguments */ -diff --git a/src/ptpd.h b/src/ptpd.h -index 009f51c..6641649 100644 ---- a/src/ptpd.h -+++ b/src/ptpd.h -@@ -172,6 +172,15 @@ - #include <linux/rtc.h> - #endif /* HAVE_LINUX_RTC_H */ - -+#ifdef FSL_1588 -+#ifndef SO_TIMESTAMPING -+#define SO_TIMESTAMPING 37 -+#endif -+#ifndef HAVE_SYS_TIMEX_H -+#define HAVE_SYS_TIMEX_H 1 -+#endif -+clockid_t clkid; -+#endif - /** \name arith.c - * -Timing management and arithmetic*/ - /**\{*/ diff --git a/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb b/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb similarity index 86% rename from meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb rename to meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb index c65e735..f6aaee0 100644 --- a/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb +++ b/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb @@ -6,7 +6,7 @@ time coordination of LAN connected computers." HOMEPAGE = "http://sourceforge.net/projects/ptpd" SECTION = "net" LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://README;md5=2452033fe374283f29579898663b1aa8" +LIC_FILES_CHKSUM = "file://README;md5=0733e1b3788ab2ebbc63bf33a020da1d" DEPENDS = "libpcap" @@ -22,14 +22,13 @@ def get_sub(d): return parts[0] SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${@get_sub(d)}/ptpd-${PV}.tar.gz \ - file://ptpd-add-dpaa-etsec-support.patch \ file://ptpd-use-pkgconfig.patch \ file://ptpd.service \ file://ptpd.conf \ " -SRC_URI[md5sum] = "1ef2f1f2825080a865bbce0eb61246d4" -SRC_URI[sha256sum] = "2802aab758649bb222859dfcb62a5d282709ccb4d3f1df3f26f739cc091d0c8d" +SRC_URI[md5sum] = "253bab7ab51d969616ea811be1f132f3" +SRC_URI[sha256sum] = "0dbf54dd2c178bd9fe62481d2c37513ee36636d8bf137cfdad96891490cdbf93" S = "${WORKDIR}/ptpd-${PV}" -- 1.8.4.2 -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel