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: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
					parent
					
						
							
								20ca7fb6e4
							
						
					
				
			
			
				commit
				
					
						15dd95ffe4
					
				
			
		
					 1 changed files with 7 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -179,7 +179,7 @@ static int xgbe_adjtime(struct ptp_clock_info *info, s64 delta)
 | 
			
		|||
	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,
 | 
			
		||||
| 
						 | 
				
			
			@ -193,12 +193,13 @@ static int xgbe_gettime(struct ptp_clock_info *info, struct timespec *ts)
 | 
			
		|||
 | 
			
		||||
	spin_unlock_irqrestore(&pdata->tstamp_lock, flags);
 | 
			
		||||
 | 
			
		||||
	*ts = ns_to_timespec(nsec);
 | 
			
		||||
	*ts = ns_to_timespec64(nsec);
 | 
			
		||||
 | 
			
		||||
	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,
 | 
			
		||||
| 
						 | 
				
			
			@ -206,7 +207,7 @@ static int xgbe_settime(struct ptp_clock_info *info, const struct timespec *ts)
 | 
			
		|||
	unsigned long flags;
 | 
			
		||||
	u64 nsec;
 | 
			
		||||
 | 
			
		||||
	nsec = timespec_to_ns(ts);
 | 
			
		||||
	nsec = timespec64_to_ns(ts);
 | 
			
		||||
 | 
			
		||||
	spin_lock_irqsave(&pdata->tstamp_lock, flags);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -236,8 +237,8 @@ void xgbe_ptp_register(struct xgbe_prv_data *pdata)
 | 
			
		|||
	info->max_adj = pdata->ptpclk_rate;
 | 
			
		||||
	info->adjfreq = xgbe_adjfreq;
 | 
			
		||||
	info->adjtime = xgbe_adjtime;
 | 
			
		||||
	info->gettime = xgbe_gettime;
 | 
			
		||||
	info->settime = xgbe_settime;
 | 
			
		||||
	info->gettime64 = xgbe_gettime;
 | 
			
		||||
	info->settime64 = xgbe_settime;
 | 
			
		||||
	info->enable = xgbe_enable;
 | 
			
		||||
 | 
			
		||||
	clock = ptp_clock_register(info, pdata->dev);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue