[RFC,net-next,v8,03/13] net: Make net_hwtstamp_validate accessible

Message ID 20240216-feature_ptp_netnext-v8-3-510f42f444fb@bootlin.com
State New
Headers
Series net: Make timestamping selectable |

Commit Message

Köry Maincent Feb. 16, 2024, 3:52 p.m. UTC
  Make the net_hwtstamp_validate function accessible in prevision to use
it from ethtool to validate the hwtstamp configuration before setting it.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
---

Change in v8:
- New patch
---
 include/linux/netdevice.h | 1 +
 net/core/dev_ioctl.c      | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
  

Comments

Florian Fainelli Feb. 16, 2024, 6:44 p.m. UTC | #1
On 2/16/24 07:52, Kory Maincent wrote:
> Make the net_hwtstamp_validate function accessible in prevision to use
> it from ethtool to validate the hwtstamp configuration before setting it.
> 
> Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
  

Patch

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index fa92085c29a8..37cccdc333c6 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -4002,6 +4002,7 @@  int generic_hwtstamp_get_lower(struct net_device *dev,
 int generic_hwtstamp_set_lower(struct net_device *dev,
 			       struct kernel_hwtstamp_config *kernel_cfg,
 			       struct netlink_ext_ack *extack);
+int net_hwtstamp_validate(const struct kernel_hwtstamp_config *cfg);
 int dev_set_hwtstamp_phylib(struct net_device *dev,
 			    struct kernel_hwtstamp_config *cfg,
 			    struct netlink_ext_ack *extack);
diff --git a/net/core/dev_ioctl.c b/net/core/dev_ioctl.c
index 5d3b169d8f18..847254fd7f13 100644
--- a/net/core/dev_ioctl.c
+++ b/net/core/dev_ioctl.c
@@ -184,7 +184,7 @@  static int dev_ifsioc_locked(struct net *net, struct ifreq *ifr, unsigned int cm
 	return err;
 }
 
-static int net_hwtstamp_validate(const struct kernel_hwtstamp_config *cfg)
+int net_hwtstamp_validate(const struct kernel_hwtstamp_config *cfg)
 {
 	enum hwtstamp_tx_types tx_type;
 	enum hwtstamp_rx_filters rx_filter;
@@ -238,6 +238,7 @@  static int net_hwtstamp_validate(const struct kernel_hwtstamp_config *cfg)
 
 	return 0;
 }
+EXPORT_SYMBOL_GPL(net_hwtstamp_validate);
 
 static int dev_eth_ioctl(struct net_device *dev,
 			 struct ifreq *ifr, unsigned int cmd)