All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Cochran <richardcochran@gmail.com>
To: <netdev@vger.kernel.org>
Cc: linux-kernel@vger.kernel.org, "Amir Vadai" <amirv@mellanox.com>,
	"Ariel Elior" <ariel.elior@qlogic.com>,
	"Arnd Bergmann" <arnd@linaro.org>,
	"Baolin Wang" <baolin.wang@linaro.org>,
	"Ben Hutchings" <ben@decadent.org.uk>,
	"Bruce Allan" <bruce.w.allan@intel.com>,
	"Carolyn Wyborny" <carolyn.wyborny@intel.com>,
	"Chris Metcalf" <cmetcalf@ezchip.com>,
	"David Miller" <davem@davemloft.net>,
	"Frank Li" <Frank.Li@freescale.com>,
	"Giuseppe Cavallaro" <peppe.cavallaro@st.com>,
	"Jeff Kirsher" <jeffrey.t.kirsher@intel.com>,
	"John Stultz" <john.stultz@linaro.org>,
	"Luwei Zhou" <b45643@freescale.com>,
	"Matthew Vick" <matthew.vick@intel.com>,
	"Michael Chan" <mchan@broadcom.com>,
	"Prashant Sreedharan" <prashant@broadcom.com>,
	"Shradha Shah" <sshah@solarflare.com>,
	"Solarflare linux maintainers" <linux-net-drivers@solarflare.com>,
	"Sonic Zhang" <sonic.zhang@analog.com>,
	"Stefan Sørensen" <stefan.sorensen@spectralink.com>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Tom Lendacky" <thomas.lendacky@amd.com>
Subject: [PATCH net-next V2 13/23] ptp: igb: convert to the 64 bit get/set time methods.
Date: Sat, 21 Mar 2015 22:39:31 +0100	[thread overview]
Message-ID: <c63a73eca6e75dc82990266ba2e787b58b684721.1426973658.git.richardcochran@gmail.com> (raw)
In-Reply-To: <cover.1426973658.git.richardcochran@gmail.com>

For the 82576, the driver's clock is implemented using a timecounter,
and so with this patch that device is ready for the year 2038.

However, in the case of the i210, the device stores the number of
seconds in a 32 bit register.  Therefore, more work is needed on this
driver before the year 2038 comes around.

Compile tested only.

Signed-off-by: Richard Cochran <richardcochran@gmail.com>
---
 drivers/net/ethernet/intel/igb/igb_ptp.c |   41 +++++++++++++++---------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c
index 52d01b8..0348b7e 100644
--- a/drivers/net/ethernet/intel/igb/igb_ptp.c
+++ b/drivers/net/ethernet/intel/igb/igb_ptp.c
@@ -116,7 +116,8 @@ static cycle_t igb_ptp_read_82580(const struct cyclecounter *cc)
 }
 
 /* SYSTIM read access for I210/I211 */
-static void igb_ptp_read_i210(struct igb_adapter *adapter, struct timespec *ts)
+static void igb_ptp_read_i210(struct igb_adapter *adapter,
+			      struct timespec64 *ts)
 {
 	struct e1000_hw *hw = &adapter->hw;
 	u32 sec, nsec;
@@ -134,7 +135,7 @@ static void igb_ptp_read_i210(struct igb_adapter *adapter, struct timespec *ts)
 }
 
 static void igb_ptp_write_i210(struct igb_adapter *adapter,
-			       const struct timespec *ts)
+			       const struct timespec64 *ts)
 {
 	struct e1000_hw *hw = &adapter->hw;
 
@@ -269,13 +270,13 @@ static int igb_ptp_adjtime_i210(struct ptp_clock_info *ptp, s64 delta)
 	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
 					       ptp_caps);
 	unsigned long flags;
-	struct timespec now, then = ns_to_timespec(delta);
+	struct timespec64 now, then = ns_to_timespec64(delta);
 
 	spin_lock_irqsave(&igb->tmreg_lock, flags);
 
 	igb_ptp_read_i210(igb, &now);
-	now = timespec_add(now, then);
-	igb_ptp_write_i210(igb, (const struct timespec *)&now);
+	now = timespec64_add(now, then);
+	igb_ptp_write_i210(igb, (const struct timespec64 *)&now);
 
 	spin_unlock_irqrestore(&igb->tmreg_lock, flags);
 
@@ -283,7 +284,7 @@ static int igb_ptp_adjtime_i210(struct ptp_clock_info *ptp, s64 delta)
 }
 
 static int igb_ptp_gettime_82576(struct ptp_clock_info *ptp,
-				 struct timespec *ts)
+				 struct timespec64 *ts)
 {
 	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
 					       ptp_caps);
@@ -304,7 +305,7 @@ static int igb_ptp_gettime_82576(struct ptp_clock_info *ptp,
 }
 
 static int igb_ptp_gettime_i210(struct ptp_clock_info *ptp,
-				struct timespec *ts)
+				struct timespec64 *ts)
 {
 	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
 					       ptp_caps);
@@ -320,7 +321,7 @@ static int igb_ptp_gettime_i210(struct ptp_clock_info *ptp,
 }
 
 static int igb_ptp_settime_82576(struct ptp_clock_info *ptp,
-				 const struct timespec *ts)
+				 const struct timespec64 *ts)
 {
 	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
 					       ptp_caps);
@@ -340,7 +341,7 @@ static int igb_ptp_settime_82576(struct ptp_clock_info *ptp,
 }
 
 static int igb_ptp_settime_i210(struct ptp_clock_info *ptp,
-				const struct timespec *ts)
+				const struct timespec64 *ts)
 {
 	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
 					       ptp_caps);
@@ -627,11 +628,11 @@ static void igb_ptp_overflow_check(struct work_struct *work)
 {
 	struct igb_adapter *igb =
 		container_of(work, struct igb_adapter, ptp_overflow_work.work);
-	struct timespec ts;
+	struct timespec64 ts;
 
-	igb->ptp_caps.gettime(&igb->ptp_caps, &ts);
+	igb->ptp_caps.gettime64(&igb->ptp_caps, &ts);
 
-	pr_debug("igb overflow check at %ld.%09lu\n", ts.tv_sec, ts.tv_nsec);
+	pr_debug("igb overflow check at %lld.%09lu\n", ts.tv_sec, ts.tv_nsec);
 
 	schedule_delayed_work(&igb->ptp_overflow_work,
 			      IGB_SYSTIM_OVERFLOW_PERIOD);
@@ -989,8 +990,8 @@ void igb_ptp_init(struct igb_adapter *adapter)
 		adapter->ptp_caps.pps = 0;
 		adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82576;
 		adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;
-		adapter->ptp_caps.gettime = igb_ptp_gettime_82576;
-		adapter->ptp_caps.settime = igb_ptp_settime_82576;
+		adapter->ptp_caps.gettime64 = igb_ptp_gettime_82576;
+		adapter->ptp_caps.settime64 = igb_ptp_settime_82576;
 		adapter->ptp_caps.enable = igb_ptp_feature_enable;
 		adapter->cc.read = igb_ptp_read_82576;
 		adapter->cc.mask = CYCLECOUNTER_MASK(64);
@@ -1009,8 +1010,8 @@ void igb_ptp_init(struct igb_adapter *adapter)
 		adapter->ptp_caps.pps = 0;
 		adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580;
 		adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;
-		adapter->ptp_caps.gettime = igb_ptp_gettime_82576;
-		adapter->ptp_caps.settime = igb_ptp_settime_82576;
+		adapter->ptp_caps.gettime64 = igb_ptp_gettime_82576;
+		adapter->ptp_caps.settime64 = igb_ptp_settime_82576;
 		adapter->ptp_caps.enable = igb_ptp_feature_enable;
 		adapter->cc.read = igb_ptp_read_82580;
 		adapter->cc.mask = CYCLECOUNTER_MASK(IGB_NBITS_82580);
@@ -1038,8 +1039,8 @@ void igb_ptp_init(struct igb_adapter *adapter)
 		adapter->ptp_caps.pin_config = adapter->sdp_config;
 		adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580;
 		adapter->ptp_caps.adjtime = igb_ptp_adjtime_i210;
-		adapter->ptp_caps.gettime = igb_ptp_gettime_i210;
-		adapter->ptp_caps.settime = igb_ptp_settime_i210;
+		adapter->ptp_caps.gettime64 = igb_ptp_gettime_i210;
+		adapter->ptp_caps.settime64 = igb_ptp_settime_i210;
 		adapter->ptp_caps.enable = igb_ptp_feature_enable_i210;
 		adapter->ptp_caps.verify = igb_ptp_verify_pin;
 		/* Enable the timer functions by clearing bit 31. */
@@ -1057,7 +1058,7 @@ void igb_ptp_init(struct igb_adapter *adapter)
 
 	/* Initialize the clock and overflow work for devices that need it. */
 	if ((hw->mac.type == e1000_i210) || (hw->mac.type == e1000_i211)) {
-		struct timespec ts = ktime_to_timespec(ktime_get_real());
+		struct timespec64 ts = ktime_to_timespec64(ktime_get_real());
 
 		igb_ptp_settime_i210(&adapter->ptp_caps, &ts);
 	} else {
@@ -1171,7 +1172,7 @@ void igb_ptp_reset(struct igb_adapter *adapter)
 
 	/* Re-initialize the timer. */
 	if ((hw->mac.type == e1000_i210) || (hw->mac.type == e1000_i211)) {
-		struct timespec ts = ktime_to_timespec(ktime_get_real());
+		struct timespec64 ts = ktime_to_timespec64(ktime_get_real());
 
 		igb_ptp_write_i210(adapter, &ts);
 	} else {
-- 
1.7.10.4


WARNING: multiple messages have this Message-ID (diff)
From: Richard Cochran <richardcochran@gmail.com>
To: <netdev@vger.kernel.org>
Cc: linux-kernel@vger.kernel.org, "Amir Vadai" <amirv@mellanox.com>,
	"Ariel Elior" <ariel.elior@qlogic.com>,
	"Arnd Bergmann" <arnd@linaro.org>,
	"Baolin Wang" <baolin.wang@linaro.org>,
	"Ben Hutchings" <ben@decadent.org.uk>,
	"Bruce Allan" <bruce.w.allan@intel.com>,
	"Carolyn Wyborny" <carolyn.wyborny@intel.com>,
	"Chris Metcalf" <cmetcalf@ezchip.com>,
	"David Miller" <davem@davemloft.net>,
	"Frank Li" <Frank.Li@freescale.com>,
	"Giuseppe Cavallaro" <peppe.cavallaro@st.com>,
	"Jeff Kirsher" <jeffrey.t.kirsher@intel.com>,
	"John Stultz" <john.stultz@linaro.org>,
	"Luwei Zhou" <b45643@freescale.com>,
	"Matthew Vick" <matthew.vick@intel.com>,
	"Michael Chan" <mchan@broadcom.com>,
	"Prashant Sreedharan" <prashant@broadcom.com>,
	"Shradha Shah" <sshah@solarflare.com>,
	"Solarflare linux maintainers" <linux-net-drivers@solarflare.com>,
	"Sonic Zhang" <sonic.zhang@analog.com>
Subject: [PATCH net-next V2 13/23] ptp: igb: convert to the 64 bit get/set time methods.
Date: Sat, 21 Mar 2015 22:39:31 +0100	[thread overview]
Message-ID: <c63a73eca6e75dc82990266ba2e787b58b684721.1426973658.git.richardcochran@gmail.com> (raw)
In-Reply-To: <cover.1426973658.git.richardcochran@gmail.com>

For the 82576, the driver's clock is implemented using a timecounter,
and so with this patch that device is ready for the year 2038.

However, in the case of the i210, the device stores the number of
seconds in a 32 bit register.  Therefore, more work is needed on this
driver before the year 2038 comes around.

Compile tested only.

Signed-off-by: Richard Cochran <richardcochran@gmail.com>
---
 drivers/net/ethernet/intel/igb/igb_ptp.c |   41 +++++++++++++++---------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c
index 52d01b8..0348b7e 100644
--- a/drivers/net/ethernet/intel/igb/igb_ptp.c
+++ b/drivers/net/ethernet/intel/igb/igb_ptp.c
@@ -116,7 +116,8 @@ static cycle_t igb_ptp_read_82580(const struct cyclecounter *cc)
 }
 
 /* SYSTIM read access for I210/I211 */
-static void igb_ptp_read_i210(struct igb_adapter *adapter, struct timespec *ts)
+static void igb_ptp_read_i210(struct igb_adapter *adapter,
+			      struct timespec64 *ts)
 {
 	struct e1000_hw *hw = &adapter->hw;
 	u32 sec, nsec;
@@ -134,7 +135,7 @@ static void igb_ptp_read_i210(struct igb_adapter *adapter, struct timespec *ts)
 }
 
 static void igb_ptp_write_i210(struct igb_adapter *adapter,
-			       const struct timespec *ts)
+			       const struct timespec64 *ts)
 {
 	struct e1000_hw *hw = &adapter->hw;
 
@@ -269,13 +270,13 @@ static int igb_ptp_adjtime_i210(struct ptp_clock_info *ptp, s64 delta)
 	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
 					       ptp_caps);
 	unsigned long flags;
-	struct timespec now, then = ns_to_timespec(delta);
+	struct timespec64 now, then = ns_to_timespec64(delta);
 
 	spin_lock_irqsave(&igb->tmreg_lock, flags);
 
 	igb_ptp_read_i210(igb, &now);
-	now = timespec_add(now, then);
-	igb_ptp_write_i210(igb, (const struct timespec *)&now);
+	now = timespec64_add(now, then);
+	igb_ptp_write_i210(igb, (const struct timespec64 *)&now);
 
 	spin_unlock_irqrestore(&igb->tmreg_lock, flags);
 
@@ -283,7 +284,7 @@ static int igb_ptp_adjtime_i210(struct ptp_clock_info *ptp, s64 delta)
 }
 
 static int igb_ptp_gettime_82576(struct ptp_clock_info *ptp,
-				 struct timespec *ts)
+				 struct timespec64 *ts)
 {
 	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
 					       ptp_caps);
@@ -304,7 +305,7 @@ static int igb_ptp_gettime_82576(struct ptp_clock_info *ptp,
 }
 
 static int igb_ptp_gettime_i210(struct ptp_clock_info *ptp,
-				struct timespec *ts)
+				struct timespec64 *ts)
 {
 	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
 					       ptp_caps);
@@ -320,7 +321,7 @@ static int igb_ptp_gettime_i210(struct ptp_clock_info *ptp,
 }
 
 static int igb_ptp_settime_82576(struct ptp_clock_info *ptp,
-				 const struct timespec *ts)
+				 const struct timespec64 *ts)
 {
 	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
 					       ptp_caps);
@@ -340,7 +341,7 @@ static int igb_ptp_settime_82576(struct ptp_clock_info *ptp,
 }
 
 static int igb_ptp_settime_i210(struct ptp_clock_info *ptp,
-				const struct timespec *ts)
+				const struct timespec64 *ts)
 {
 	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
 					       ptp_caps);
@@ -627,11 +628,11 @@ static void igb_ptp_overflow_check(struct work_struct *work)
 {
 	struct igb_adapter *igb =
 		container_of(work, struct igb_adapter, ptp_overflow_work.work);
-	struct timespec ts;
+	struct timespec64 ts;
 
-	igb->ptp_caps.gettime(&igb->ptp_caps, &ts);
+	igb->ptp_caps.gettime64(&igb->ptp_caps, &ts);
 
-	pr_debug("igb overflow check at %ld.%09lu\n", ts.tv_sec, ts.tv_nsec);
+	pr_debug("igb overflow check at %lld.%09lu\n", ts.tv_sec, ts.tv_nsec);
 
 	schedule_delayed_work(&igb->ptp_overflow_work,
 			      IGB_SYSTIM_OVERFLOW_PERIOD);
@@ -989,8 +990,8 @@ void igb_ptp_init(struct igb_adapter *adapter)
 		adapter->ptp_caps.pps = 0;
 		adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82576;
 		adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;
-		adapter->ptp_caps.gettime = igb_ptp_gettime_82576;
-		adapter->ptp_caps.settime = igb_ptp_settime_82576;
+		adapter->ptp_caps.gettime64 = igb_ptp_gettime_82576;
+		adapter->ptp_caps.settime64 = igb_ptp_settime_82576;
 		adapter->ptp_caps.enable = igb_ptp_feature_enable;
 		adapter->cc.read = igb_ptp_read_82576;
 		adapter->cc.mask = CYCLECOUNTER_MASK(64);
@@ -1009,8 +1010,8 @@ void igb_ptp_init(struct igb_adapter *adapter)
 		adapter->ptp_caps.pps = 0;
 		adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580;
 		adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;
-		adapter->ptp_caps.gettime = igb_ptp_gettime_82576;
-		adapter->ptp_caps.settime = igb_ptp_settime_82576;
+		adapter->ptp_caps.gettime64 = igb_ptp_gettime_82576;
+		adapter->ptp_caps.settime64 = igb_ptp_settime_82576;
 		adapter->ptp_caps.enable = igb_ptp_feature_enable;
 		adapter->cc.read = igb_ptp_read_82580;
 		adapter->cc.mask = CYCLECOUNTER_MASK(IGB_NBITS_82580);
@@ -1038,8 +1039,8 @@ void igb_ptp_init(struct igb_adapter *adapter)
 		adapter->ptp_caps.pin_config = adapter->sdp_config;
 		adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580;
 		adapter->ptp_caps.adjtime = igb_ptp_adjtime_i210;
-		adapter->ptp_caps.gettime = igb_ptp_gettime_i210;
-		adapter->ptp_caps.settime = igb_ptp_settime_i210;
+		adapter->ptp_caps.gettime64 = igb_ptp_gettime_i210;
+		adapter->ptp_caps.settime64 = igb_ptp_settime_i210;
 		adapter->ptp_caps.enable = igb_ptp_feature_enable_i210;
 		adapter->ptp_caps.verify = igb_ptp_verify_pin;
 		/* Enable the timer functions by clearing bit 31. */
@@ -1057,7 +1058,7 @@ void igb_ptp_init(struct igb_adapter *adapter)
 
 	/* Initialize the clock and overflow work for devices that need it. */
 	if ((hw->mac.type == e1000_i210) || (hw->mac.type == e1000_i211)) {
-		struct timespec ts = ktime_to_timespec(ktime_get_real());
+		struct timespec64 ts = ktime_to_timespec64(ktime_get_real());
 
 		igb_ptp_settime_i210(&adapter->ptp_caps, &ts);
 	} else {
@@ -1171,7 +1172,7 @@ void igb_ptp_reset(struct igb_adapter *adapter)
 
 	/* Re-initialize the timer. */
 	if ((hw->mac.type == e1000_i210) || (hw->mac.type == e1000_i211)) {
-		struct timespec ts = ktime_to_timespec(ktime_get_real());
+		struct timespec64 ts = ktime_to_timespec64(ktime_get_real());
 
 		igb_ptp_write_i210(adapter, &ts);
 	} else {
-- 
1.7.10.4

  parent reply	other threads:[~2015-03-21 21:45 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-21 21:39 [PATCH net-next V2 00/23] ptp: get ready for 2038 Richard Cochran
2015-03-21 21:39 ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 01/23] ptp: introduce get/set time methods with explicit 64 bit seconds Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 02/23] ptp: use the 64 bit gettime method for the SYS_OFFSET ioctl Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 03/23] ptp: use the 64 bit get/set time methods for the posix clock Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 04/23] ptp: blackfin: convert to the 64 bit get/set time methods Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-22  2:28   ` Arnd Bergmann
2015-03-22  2:28     ` Arnd Bergmann
2015-03-22  7:27     ` Richard Cochran
2015-03-22  7:27       ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 05/23] ptp: xgbe: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 06/23] ptp: bnx2x: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 07/23] ptp: tg3: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 08/23] ptp: fec: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 09/23] ptp: gianfar: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 10/23] ptp: e1000e: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 11/23] ptp: fm10k: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 12/23] ptp: i40e: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` Richard Cochran [this message]
2015-03-21 21:39   ` [PATCH net-next V2 13/23] ptp: igb: " Richard Cochran
2015-03-22  2:40   ` Arnd Bergmann
2015-03-22  2:40     ` Arnd Bergmann
2015-03-21 21:39 ` [PATCH net-next V2 14/23] ptp: ixgbe: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 15/23] ptp: mlx4: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 16/23] ptp: sfc: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 17/23] ptp: stmmac: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-23 15:35   ` Giuseppe CAVALLARO
2015-03-23 15:35     ` Giuseppe CAVALLARO
2015-03-31 13:22     ` Rayagond Kokatanur
2015-03-31 13:22       ` Rayagond Kokatanur
2015-03-21 21:39 ` [PATCH net-next V2 18/23] ptp: cpts: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 19/23] ptp: tilegx: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-23 16:02   ` Chris Metcalf
2015-03-23 16:02     ` Chris Metcalf
2015-03-23 16:58     ` Richard Cochran
2015-03-23 16:58       ` Richard Cochran
2015-03-23 17:26       ` Chris Metcalf
2015-03-23 17:26         ` Chris Metcalf
2015-03-23 20:06         ` Richard Cochran
2015-03-23 20:06           ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 20/23] ptp: dp83640: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-22  2:36   ` Arnd Bergmann
2015-03-22  2:36     ` Arnd Bergmann
2015-03-22  7:29     ` Richard Cochran
2015-03-22  7:29       ` Richard Cochran
2015-03-22 17:48       ` Arnd Bergmann
2015-03-22 17:48         ` Arnd Bergmann
2015-03-23  8:10         ` Richard Cochran
2015-03-23  8:10           ` Richard Cochran
2015-03-23 15:06           ` Arnd Bergmann
2015-03-23 15:06             ` Arnd Bergmann
2015-03-21 21:39 ` [PATCH net-next V2 21/23] ptp: ixp46x: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 22/23] ptp: pch: " Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-21 21:39 ` [PATCH net-next V2 23/23] ptp: remove 32 bit get/set methods Richard Cochran
2015-03-21 21:39   ` Richard Cochran
2015-03-22  2:43 ` [PATCH net-next V2 00/23] ptp: get ready for 2038 Arnd Bergmann
2015-03-22  2:43   ` Arnd Bergmann
2015-03-23 10:16 ` Jeff Kirsher
2015-03-23 10:16   ` Jeff Kirsher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c63a73eca6e75dc82990266ba2e787b58b684721.1426973658.git.richardcochran@gmail.com \
    --to=richardcochran@gmail.com \
    --cc=Frank.Li@freescale.com \
    --cc=amirv@mellanox.com \
    --cc=ariel.elior@qlogic.com \
    --cc=arnd@linaro.org \
    --cc=b45643@freescale.com \
    --cc=baolin.wang@linaro.org \
    --cc=ben@decadent.org.uk \
    --cc=bruce.w.allan@intel.com \
    --cc=carolyn.wyborny@intel.com \
    --cc=cmetcalf@ezchip.com \
    --cc=davem@davemloft.net \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=john.stultz@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-net-drivers@solarflare.com \
    --cc=matthew.vick@intel.com \
    --cc=mchan@broadcom.com \
    --cc=netdev@vger.kernel.org \
    --cc=peppe.cavallaro@st.com \
    --cc=prashant@broadcom.com \
    --cc=sonic.zhang@analog.com \
    --cc=sshah@solarflare.com \
    --cc=stefan.sorensen@spectralink.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.