--- igb-5.3.2/src/igb_ptp.c~ 2015-05-26 23:59:51.000000000 +0200
+++ igb-5.3.2/src/igb_ptp.c 2015-06-29 08:05:18.930401431 +0200
-@@ -327,7 +327,7 @@
+@@ -327,7 +327,11 @@
}
static int igb_ptp_gettime64_82576(struct ptp_clock_info *ptp,
-- struct timespec *ts64)
++#if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) )
+ struct timespec *ts64)
++#else
+ struct timespec64 *ts64)
++#endif
{
struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
ptp_caps);
-@@ -350,7 +350,7 @@
+@@ -350,7 +350,11 @@
}
static int igb_ptp_gettime64_i210(struct ptp_clock_info *ptp,
-- struct timespec *ts64)
++#if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) )
+ struct timespec *ts64)
++#else
+ struct timespec64 *ts64)
++#endif
{
struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
ptp_caps);
-@@ -369,7 +369,7 @@
+@@ -369,7 +369,11 @@
#ifdef HAVE_PTP_CLOCK_INFO_GETTIME64
static int igb_ptp_settime64_82576(struct ptp_clock_info *ptp,
-- const struct timespec *ts64)
++#if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) )
+ const struct timespec *ts64)
++#else
+ const struct timespec64 *ts64)
++#endif
{
struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
ptp_caps);
-@@ -392,7 +392,7 @@
+@@ -392,7 +392,11 @@
#endif
static int igb_ptp_settime64_i210(struct ptp_clock_info *ptp,
-- const struct timespec *ts64)
++#if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) )
+ const struct timespec *ts64)
++#else
+ const struct timespec64 *ts64)
++#endif
{
struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
ptp_caps);
-@@ -411,7 +411,7 @@
-
- #ifndef HAVE_PTP_CLOCK_INFO_GETTIME64
- static int igb_ptp_gettime_82576(struct ptp_clock_info *ptp,
-- struct timespec *ts)
-+ struct timespec64 *ts)
+@@ -522,7 +522,11 @@
{
- struct timespec64 ts64;
- int err;
-@@ -426,7 +426,7 @@
- }
+ struct igb_adapter *igb =
+ container_of(work, struct igb_adapter, ptp_overflow_work.work);
++#if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) )
+ struct timespec ts;
++#else
++ struct timespec64 ts;
++#endif
- static int igb_ptp_gettime_i210(struct ptp_clock_info *ptp,
-- struct timespec *ts)
-+ struct timespec64 *ts)
- {
- struct timespec64 ts64;
- int err;
+ igb_ptp_gettime64_82576(&igb->ptp_caps, &ts);
+
+@@ -961,7 +961,11 @@
+
+ /* Initialize the clock and overflow work for devices that need it. */
+ if ((hw->mac.type == e1000_i210) || (hw->mac.type == e1000_i211)) {
++#if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) )
+ struct timespec ts = ktime_to_timespec(ktime_get_real());
++#else
++ struct timespec64 ts = ktime_to_timespec64(ktime_get_real());
++#endif
+
+ igb_ptp_settime64_i210(&adapter->ptp_caps, &ts);
+ } else {
+@@ -1073,7 +1073,11 @@
+
+ /* Re-initialize the timer. */
+ if ((hw->mac.type == e1000_i210) || (hw->mac.type == e1000_i211)) {
++#if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) )
+ struct timespec ts = ktime_to_timespec(ktime_get_real());
++#else
++ struct timespec64 ts = ktime_to_timespec64(ktime_get_real());
++#endif
+
+ igb_ptp_settime64_i210(&adapter->ptp_caps, &ts);
+ } else {