Commit 15dd95ff authored by Richard Cochran's avatar Richard Cochran Committed by David S. Miller

ptp: xgbe: convert to the 64 bit get/set time methods.

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

Compile tested only.
Signed-off-by: default avatarRichard Cochran <richardcochran@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 20ca7fb6
...@@ -179,7 +179,7 @@ static int xgbe_adjtime(struct ptp_clock_info *info, s64 delta) ...@@ -179,7 +179,7 @@ static int xgbe_adjtime(struct ptp_clock_info *info, s64 delta)
return 0; return 0;
} }
static int xgbe_gettime(struct ptp_clock_info *info, struct timespec *ts) static int xgbe_gettime(struct ptp_clock_info *info, struct timespec64 *ts)
{ {
struct xgbe_prv_data *pdata = container_of(info, struct xgbe_prv_data *pdata = container_of(info,
struct xgbe_prv_data, struct xgbe_prv_data,
...@@ -193,12 +193,13 @@ static int xgbe_gettime(struct ptp_clock_info *info, struct timespec *ts) ...@@ -193,12 +193,13 @@ static int xgbe_gettime(struct ptp_clock_info *info, struct timespec *ts)
spin_unlock_irqrestore(&pdata->tstamp_lock, flags); spin_unlock_irqrestore(&pdata->tstamp_lock, flags);
*ts = ns_to_timespec(nsec); *ts = ns_to_timespec64(nsec);
return 0; return 0;
} }
static int xgbe_settime(struct ptp_clock_info *info, const struct timespec *ts) static int xgbe_settime(struct ptp_clock_info *info,
const struct timespec64 *ts)
{ {
struct xgbe_prv_data *pdata = container_of(info, struct xgbe_prv_data *pdata = container_of(info,
struct xgbe_prv_data, struct xgbe_prv_data,
...@@ -206,7 +207,7 @@ static int xgbe_settime(struct ptp_clock_info *info, const struct timespec *ts) ...@@ -206,7 +207,7 @@ static int xgbe_settime(struct ptp_clock_info *info, const struct timespec *ts)
unsigned long flags; unsigned long flags;
u64 nsec; u64 nsec;
nsec = timespec_to_ns(ts); nsec = timespec64_to_ns(ts);
spin_lock_irqsave(&pdata->tstamp_lock, flags); spin_lock_irqsave(&pdata->tstamp_lock, flags);
...@@ -236,8 +237,8 @@ void xgbe_ptp_register(struct xgbe_prv_data *pdata) ...@@ -236,8 +237,8 @@ void xgbe_ptp_register(struct xgbe_prv_data *pdata)
info->max_adj = pdata->ptpclk_rate; info->max_adj = pdata->ptpclk_rate;
info->adjfreq = xgbe_adjfreq; info->adjfreq = xgbe_adjfreq;
info->adjtime = xgbe_adjtime; info->adjtime = xgbe_adjtime;
info->gettime = xgbe_gettime; info->gettime64 = xgbe_gettime;
info->settime = xgbe_settime; info->settime64 = xgbe_settime;
info->enable = xgbe_enable; info->enable = xgbe_enable;
clock = ptp_clock_register(info, pdata->dev); clock = ptp_clock_register(info, pdata->dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment