Re: [PATCH net-next v2] net: Add support for providing the PTP hardware source in tsinfo
From: Jakub Kicinski
Date: Thu May 08 2025 - 22:36:58 EST
On Tue, 06 May 2025 14:18:45 +0200 Kory Maincent wrote:
> + -
> + name: ts-hwtstamp-source
> + enum-name: hwtstamp-source
> + header: linux/ethtool.h
> + type: enum
> + name-prefix: hwtstamp-source
> + entries: [ netdev, phylib ]
You're missing value: 1, you should let YNL generate this to avoid
the discrepancies.
diff --git a/Documentation/netlink/specs/ethtool.yaml b/Documentation/netlink/specs/ethtool.yaml
index 20c6b2bf5def..3e2f470fb213 100644
--- a/Documentation/netlink/specs/ethtool.yaml
+++ b/Documentation/netlink/specs/ethtool.yaml
@@ -99,12 +99,21 @@ uapi-header: linux/ethtool_netlink_generated.h
type: enum
entries: [ unknown, disabled, enabled ]
-
- name: ts-hwtstamp-source
- enum-name: hwtstamp-source
- header: linux/ethtool.h
+ name: hwtstamp-source
+ name-prefix: hwtstamp-source-
type: enum
- name-prefix: hwtstamp-source
- entries: [ netdev, phylib ]
+ entries:
+ -
+ name: netdev
+ doc: |
+ Hardware timestamp comes from a MAC or a device
+ which has MAC and PHY integrated
+ value: 1
+ -
+ name: phylib
+ doc: |
+ Hardware timestamp comes from one PHY device
+ of the network topology
attribute-sets:
-
@@ -906,7 +915,7 @@ uapi-header: linux/ethtool_netlink_generated.h
-
name: hwtstamp-source
type: u32
- enum: ts-hwtstamp-source
+ enum: hwtstamp-source
-
name: hwtstamp-phyindex
type: u32
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
index 1d886682b4b5..84833cca29fe 100644
--- a/include/uapi/linux/ethtool.h
+++ b/include/uapi/linux/ethtool.h
@@ -1730,18 +1730,6 @@ struct ethtool_ts_info {
__u32 rx_reserved[3];
};
-/**
- * enum hwtstamp_source - Source of the hardware timestamp
- * @HWTSTAMP_SOURCE_NETDEV: Hardware timestamp comes from a MAC or a device
- * which has MAC and PHY integrated
- * @HWTSTAMP_SOURCE_PHYLIB: Hardware timestamp comes from one PHY device
- * of the network topology
- */
-enum hwtstamp_source {
- HWTSTAMP_SOURCE_NETDEV = 1,
- HWTSTAMP_SOURCE_PHYLIB,
-};
-
/*
* %ETHTOOL_SFEATURES changes features present in features[].valid to the
* values of corresponding bits in features[].requested. Bits in .requested
diff --git a/include/uapi/linux/ethtool_netlink_generated.h b/include/uapi/linux/ethtool_netlink_generated.h
index 7cbcf44d0a32..6181211bb3f5 100644
--- a/include/uapi/linux/ethtool_netlink_generated.h
+++ b/include/uapi/linux/ethtool_netlink_generated.h
@@ -37,6 +37,18 @@ enum ethtool_tcp_data_split {
ETHTOOL_TCP_DATA_SPLIT_ENABLED,
};
+/**
+ * enum ethtool_hwtstamp_source
+ * @HWTSTAMP_SOURCE_NETDEV: Hardware timestamp comes from a MAC or a device
+ * which has MAC and PHY integrated
+ * @HWTSTAMP_SOURCE_PHYLIB: Hardware timestamp comes from one PHY device of the
+ * network topology
+ */
+enum ethtool_hwtstamp_source {
+ HWTSTAMP_SOURCE_NETDEV = 1,
+ HWTSTAMP_SOURCE_PHYLIB,
+};
+
enum {
ETHTOOL_A_HEADER_UNSPEC,
ETHTOOL_A_HEADER_DEV_INDEX,