aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Cochran <richardcochran@gmail.com>2015-03-29 17:12:09 -0400
committerDavid S. Miller <davem@davemloft.net>2015-03-31 12:01:18 -0400
commitb9acf24f779c778b994a7dc017c977a18560f690 (patch)
treeeaa856bbbac250789d29cda2836fdec15e684a0c
parenta5c79c26e168018df201c07e046003a6ab226cdc (diff)
ptp: tilegx: convert to the 64 bit get/set time methods.
This driver is 64 bit only, and so this driver and device are ready for 2038. This patch changes the driver to the new PHC and also carries the timespec64 parameter on out to the gxio_mpipe_get- set_timestamp functions, making explicit the fact that the tv_sec field is 64 bits wide. Not even compile tested. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Acked-by: Chris Metcalf <cmetcalf@ezchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--arch/tile/gxio/mpipe.c4
-rw-r--r--arch/tile/include/gxio/mpipe.h4
-rw-r--r--drivers/net/ethernet/tile/tilegx.c9
3 files changed, 9 insertions, 8 deletions
diff --git a/arch/tile/gxio/mpipe.c b/arch/tile/gxio/mpipe.c
index 6f00e9850636..ee186e13dfe6 100644
--- a/arch/tile/gxio/mpipe.c
+++ b/arch/tile/gxio/mpipe.c
@@ -456,7 +456,7 @@ int gxio_mpipe_equeue_init(gxio_mpipe_equeue_t *equeue,
456EXPORT_SYMBOL_GPL(gxio_mpipe_equeue_init); 456EXPORT_SYMBOL_GPL(gxio_mpipe_equeue_init);
457 457
458int gxio_mpipe_set_timestamp(gxio_mpipe_context_t *context, 458int gxio_mpipe_set_timestamp(gxio_mpipe_context_t *context,
459 const struct timespec *ts) 459 const struct timespec64 *ts)
460{ 460{
461 cycles_t cycles = get_cycles(); 461 cycles_t cycles = get_cycles();
462 return gxio_mpipe_set_timestamp_aux(context, (uint64_t)ts->tv_sec, 462 return gxio_mpipe_set_timestamp_aux(context, (uint64_t)ts->tv_sec,
@@ -466,7 +466,7 @@ int gxio_mpipe_set_timestamp(gxio_mpipe_context_t *context,
466EXPORT_SYMBOL_GPL(gxio_mpipe_set_timestamp); 466EXPORT_SYMBOL_GPL(gxio_mpipe_set_timestamp);
467 467
468int gxio_mpipe_get_timestamp(gxio_mpipe_context_t *context, 468int gxio_mpipe_get_timestamp(gxio_mpipe_context_t *context,
469 struct timespec *ts) 469 struct timespec64 *ts)
470{ 470{
471 int ret; 471 int ret;
472 cycles_t cycles_prev, cycles_now, clock_rate; 472 cycles_t cycles_prev, cycles_now, clock_rate;
diff --git a/arch/tile/include/gxio/mpipe.h b/arch/tile/include/gxio/mpipe.h
index e37cf4f0cffd..73e83a187866 100644
--- a/arch/tile/include/gxio/mpipe.h
+++ b/arch/tile/include/gxio/mpipe.h
@@ -1830,7 +1830,7 @@ extern int gxio_mpipe_link_set_attr(gxio_mpipe_link_t *link, uint32_t attr,
1830 * code. 1830 * code.
1831 */ 1831 */
1832extern int gxio_mpipe_get_timestamp(gxio_mpipe_context_t *context, 1832extern int gxio_mpipe_get_timestamp(gxio_mpipe_context_t *context,
1833 struct timespec *ts); 1833 struct timespec64 *ts);
1834 1834
1835/* Set the timestamp of mPIPE. 1835/* Set the timestamp of mPIPE.
1836 * 1836 *
@@ -1840,7 +1840,7 @@ extern int gxio_mpipe_get_timestamp(gxio_mpipe_context_t *context,
1840 * code. 1840 * code.
1841 */ 1841 */
1842extern int gxio_mpipe_set_timestamp(gxio_mpipe_context_t *context, 1842extern int gxio_mpipe_set_timestamp(gxio_mpipe_context_t *context,
1843 const struct timespec *ts); 1843 const struct timespec64 *ts);
1844 1844
1845/* Adjust the timestamp of mPIPE. 1845/* Adjust the timestamp of mPIPE.
1846 * 1846 *
diff --git a/drivers/net/ethernet/tile/tilegx.c b/drivers/net/ethernet/tile/tilegx.c
index bea8cd2bb56c..a789a2054388 100644
--- a/drivers/net/ethernet/tile/tilegx.c
+++ b/drivers/net/ethernet/tile/tilegx.c
@@ -838,7 +838,8 @@ static int ptp_mpipe_adjtime(struct ptp_clock_info *ptp, s64 delta)
838 return ret; 838 return ret;
839} 839}
840 840
841static int ptp_mpipe_gettime(struct ptp_clock_info *ptp, struct timespec *ts) 841static int ptp_mpipe_gettime(struct ptp_clock_info *ptp,
842 struct timespec64 *ts)
842{ 843{
843 int ret = 0; 844 int ret = 0;
844 struct mpipe_data *md = container_of(ptp, struct mpipe_data, caps); 845 struct mpipe_data *md = container_of(ptp, struct mpipe_data, caps);
@@ -850,7 +851,7 @@ static int ptp_mpipe_gettime(struct ptp_clock_info *ptp, struct timespec *ts)
850} 851}
851 852
852static int ptp_mpipe_settime(struct ptp_clock_info *ptp, 853static int ptp_mpipe_settime(struct ptp_clock_info *ptp,
853 const struct timespec *ts) 854 const struct timespec64 *ts)
854{ 855{
855 int ret = 0; 856 int ret = 0;
856 struct mpipe_data *md = container_of(ptp, struct mpipe_data, caps); 857 struct mpipe_data *md = container_of(ptp, struct mpipe_data, caps);
@@ -876,8 +877,8 @@ static struct ptp_clock_info ptp_mpipe_caps = {
876 .pps = 0, 877 .pps = 0,
877 .adjfreq = ptp_mpipe_adjfreq, 878 .adjfreq = ptp_mpipe_adjfreq,
878 .adjtime = ptp_mpipe_adjtime, 879 .adjtime = ptp_mpipe_adjtime,
879 .gettime = ptp_mpipe_gettime, 880 .gettime64 = ptp_mpipe_gettime,
880 .settime = ptp_mpipe_settime, 881 .settime64 = ptp_mpipe_settime,
881 .enable = ptp_mpipe_enable, 882 .enable = ptp_mpipe_enable,
882}; 883};
883 884