ptp: fm10k: convert to the 64 bit get/set time methods.
The device appears to use a 64 bit nanoseconds register, and so with this patch the driver should be ready for the year 2038. Compile tested only. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
07c74eb775
commit
843293e1bb
|
@ -285,7 +285,7 @@ static int fm10k_ptp_adjtime(struct ptp_clock_info *ptp, s64 delta)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int fm10k_ptp_gettime(struct ptp_clock_info *ptp, struct timespec *ts)
|
static int fm10k_ptp_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts)
|
||||||
{
|
{
|
||||||
struct fm10k_intfc *interface;
|
struct fm10k_intfc *interface;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
@ -297,17 +297,17 @@ static int fm10k_ptp_gettime(struct ptp_clock_info *ptp, struct timespec *ts)
|
||||||
now = fm10k_systime_read(interface) + interface->ptp_adjust;
|
now = fm10k_systime_read(interface) + interface->ptp_adjust;
|
||||||
read_unlock_irqrestore(&interface->systime_lock, flags);
|
read_unlock_irqrestore(&interface->systime_lock, flags);
|
||||||
|
|
||||||
*ts = ns_to_timespec(now);
|
*ts = ns_to_timespec64(now);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int fm10k_ptp_settime(struct ptp_clock_info *ptp,
|
static int fm10k_ptp_settime(struct ptp_clock_info *ptp,
|
||||||
const struct timespec *ts)
|
const struct timespec64 *ts)
|
||||||
{
|
{
|
||||||
struct fm10k_intfc *interface;
|
struct fm10k_intfc *interface;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
u64 ns = timespec_to_ns(ts);
|
u64 ns = timespec64_to_ns(ts);
|
||||||
|
|
||||||
interface = container_of(ptp, struct fm10k_intfc, ptp_caps);
|
interface = container_of(ptp, struct fm10k_intfc, ptp_caps);
|
||||||
|
|
||||||
|
@ -419,8 +419,8 @@ void fm10k_ptp_register(struct fm10k_intfc *interface)
|
||||||
ptp_caps->max_adj = 976562;
|
ptp_caps->max_adj = 976562;
|
||||||
ptp_caps->adjfreq = fm10k_ptp_adjfreq;
|
ptp_caps->adjfreq = fm10k_ptp_adjfreq;
|
||||||
ptp_caps->adjtime = fm10k_ptp_adjtime;
|
ptp_caps->adjtime = fm10k_ptp_adjtime;
|
||||||
ptp_caps->gettime = fm10k_ptp_gettime;
|
ptp_caps->gettime64 = fm10k_ptp_gettime;
|
||||||
ptp_caps->settime = fm10k_ptp_settime;
|
ptp_caps->settime64 = fm10k_ptp_settime;
|
||||||
|
|
||||||
/* provide pins if BAR4 is accessible */
|
/* provide pins if BAR4 is accessible */
|
||||||
if (interface->sw_addr) {
|
if (interface->sw_addr) {
|
||||||
|
|
Loading…
Reference in New Issue