mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	net: Replace hwtstamp_source by timestamping layer
Replace hwtstamp_source which is only used by the kernel_hwtstamp_config structure by the more widely use timestamp_layer structure. This is done to prepare the support of selectable timestamping source. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									aed5004ee7
								
							
						
					
					
						commit
						51bdf3165f
					
				
					 3 changed files with 7 additions and 12 deletions
				
			
		| 
						 | 
				
			
			@ -470,15 +470,15 @@ static int lan966x_port_hwtstamp_set(struct net_device *dev,
 | 
			
		|||
	struct lan966x_port *port = netdev_priv(dev);
 | 
			
		||||
	int err;
 | 
			
		||||
 | 
			
		||||
	if (cfg->source != HWTSTAMP_SOURCE_NETDEV &&
 | 
			
		||||
	    cfg->source != HWTSTAMP_SOURCE_PHYLIB)
 | 
			
		||||
	if (cfg->source != MAC_TIMESTAMPING &&
 | 
			
		||||
	    cfg->source != PHY_TIMESTAMPING)
 | 
			
		||||
		return -EOPNOTSUPP;
 | 
			
		||||
 | 
			
		||||
	err = lan966x_ptp_setup_traps(port, cfg);
 | 
			
		||||
	if (err)
 | 
			
		||||
		return err;
 | 
			
		||||
 | 
			
		||||
	if (cfg->source == HWTSTAMP_SOURCE_NETDEV) {
 | 
			
		||||
	if (cfg->source == MAC_TIMESTAMPING) {
 | 
			
		||||
		if (!port->lan966x->ptp)
 | 
			
		||||
			return -EOPNOTSUPP;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,11 +5,6 @@
 | 
			
		|||
 | 
			
		||||
#include <uapi/linux/net_tstamp.h>
 | 
			
		||||
 | 
			
		||||
enum hwtstamp_source {
 | 
			
		||||
	HWTSTAMP_SOURCE_NETDEV,
 | 
			
		||||
	HWTSTAMP_SOURCE_PHYLIB,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * struct kernel_hwtstamp_config - Kernel copy of struct hwtstamp_config
 | 
			
		||||
 *
 | 
			
		||||
| 
						 | 
				
			
			@ -20,8 +15,8 @@ enum hwtstamp_source {
 | 
			
		|||
 *	a legacy implementation of a lower driver
 | 
			
		||||
 * @copied_to_user: request was passed to a legacy implementation which already
 | 
			
		||||
 *	copied the ioctl request back to user space
 | 
			
		||||
 * @source: indication whether timestamps should come from the netdev or from
 | 
			
		||||
 *	an attached phylib PHY
 | 
			
		||||
 * @source: indication whether timestamps should come from software, the netdev
 | 
			
		||||
 *	or from an attached phylib PHY
 | 
			
		||||
 *
 | 
			
		||||
 * Prefer using this structure for in-kernel processing of hardware
 | 
			
		||||
 * timestamping configuration, over the inextensible struct hwtstamp_config
 | 
			
		||||
| 
						 | 
				
			
			@ -33,7 +28,7 @@ struct kernel_hwtstamp_config {
 | 
			
		|||
	int rx_filter;
 | 
			
		||||
	struct ifreq *ifr;
 | 
			
		||||
	bool copied_to_user;
 | 
			
		||||
	enum hwtstamp_source source;
 | 
			
		||||
	enum timestamping_layer source;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static inline void hwtstamp_config_to_kernel(struct kernel_hwtstamp_config *kernel_cfg,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -332,7 +332,7 @@ int dev_set_hwtstamp_phylib(struct net_device *dev,
 | 
			
		|||
	bool changed = false;
 | 
			
		||||
	int err;
 | 
			
		||||
 | 
			
		||||
	cfg->source = phy_ts ? HWTSTAMP_SOURCE_PHYLIB : HWTSTAMP_SOURCE_NETDEV;
 | 
			
		||||
	cfg->source = phy_ts ? PHY_TIMESTAMPING : MAC_TIMESTAMPING;
 | 
			
		||||
 | 
			
		||||
	if (phy_ts && (dev->priv_flags & IFF_SEE_ALL_HWTSTAMP_REQUESTS)) {
 | 
			
		||||
		err = ops->ndo_hwtstamp_get(dev, &old_cfg);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue