Skip to content

Commit 2111375

Browse files
kmaincentkuba-moo
authored andcommitted
net: Add struct kernel_ethtool_ts_info
In prevision to add new UAPI for hwtstamp we will be limited to the struct ethtool_ts_info that is currently passed in fixed binary format through the ETHTOOL_GET_TS_INFO ethtool ioctl. It would be good if new kernel code already started operating on an extensible kernel variant of that structure, similar in concept to struct kernel_hwtstamp_config vs struct hwtstamp_config. Since struct ethtool_ts_info is in include/uapi/linux/ethtool.h, here we introduce the kernel-only structure in include/linux/ethtool.h. The manual copy is then made in the function called by ETHTOOL_GET_TS_INFO. Acked-by: Shannon Nelson <[email protected]> Acked-by: Alexandra Winter <[email protected]> Signed-off-by: Kory Maincent <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent bc5a07e commit 2111375

File tree

101 files changed

+151
-123
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+151
-123
lines changed

drivers/net/bonding/bond_main.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5755,10 +5755,10 @@ static void bond_ethtool_get_drvinfo(struct net_device *bond_dev,
57555755
}
57565756

57575757
static int bond_ethtool_get_ts_info(struct net_device *bond_dev,
5758-
struct ethtool_ts_info *info)
5758+
struct kernel_ethtool_ts_info *info)
57595759
{
57605760
struct bonding *bond = netdev_priv(bond_dev);
5761-
struct ethtool_ts_info ts_info;
5761+
struct kernel_ethtool_ts_info ts_info;
57625762
struct net_device *real_dev;
57635763
bool sw_tx_support = false;
57645764
struct list_head *iter;

drivers/net/can/dev/dev.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ EXPORT_SYMBOL(can_eth_ioctl_hwts);
376376
* supporting hardware timestamps
377377
*/
378378
int can_ethtool_op_get_ts_info_hwts(struct net_device *dev,
379-
struct ethtool_ts_info *info)
379+
struct kernel_ethtool_ts_info *info)
380380
{
381381
info->so_timestamping =
382382
SOF_TIMESTAMPING_TX_SOFTWARE |

drivers/net/can/peak_canfd/peak_canfd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -777,7 +777,7 @@ static const struct net_device_ops peak_canfd_netdev_ops = {
777777
};
778778

779779
static int peak_get_ts_info(struct net_device *dev,
780-
struct ethtool_ts_info *info)
780+
struct kernel_ethtool_ts_info *info)
781781
{
782782
info->so_timestamping =
783783
SOF_TIMESTAMPING_TX_SOFTWARE |

drivers/net/can/usb/gs_usb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1148,7 +1148,7 @@ static int gs_usb_set_phys_id(struct net_device *netdev,
11481148
}
11491149

11501150
static int gs_usb_get_ts_info(struct net_device *netdev,
1151-
struct ethtool_ts_info *info)
1151+
struct kernel_ethtool_ts_info *info)
11521152
{
11531153
struct gs_can *dev = netdev_priv(netdev);
11541154

drivers/net/can/usb/peak_usb/pcan_usb_core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -897,7 +897,7 @@ int peak_usb_set_eeprom(struct net_device *netdev,
897897
return 0;
898898
}
899899

900-
int pcan_get_ts_info(struct net_device *dev, struct ethtool_ts_info *info)
900+
int pcan_get_ts_info(struct net_device *dev, struct kernel_ethtool_ts_info *info)
901901
{
902902
info->so_timestamping =
903903
SOF_TIMESTAMPING_TX_SOFTWARE |

drivers/net/can/usb/peak_usb/pcan_usb_core.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ void peak_usb_get_ts_time(struct peak_time_ref *time_ref, u32 ts, ktime_t *tv);
145145
int peak_usb_netif_rx_64(struct sk_buff *skb, u32 ts_low, u32 ts_high);
146146
void peak_usb_async_complete(struct urb *urb);
147147
void peak_usb_restart_complete(struct peak_usb_device *dev);
148-
int pcan_get_ts_info(struct net_device *dev, struct ethtool_ts_info *info);
148+
int pcan_get_ts_info(struct net_device *dev, struct kernel_ethtool_ts_info *info);
149149

150150
/* common 32-bit CAN channel ID ethtool management */
151151
int peak_usb_get_eeprom_len(struct net_device *netdev);

drivers/net/dsa/hirschmann/hellcreek_hwtstamp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#include "hellcreek_ptp.h"
1717

1818
int hellcreek_get_ts_info(struct dsa_switch *ds, int port,
19-
struct ethtool_ts_info *info)
19+
struct kernel_ethtool_ts_info *info)
2020
{
2121
struct hellcreek *hellcreek = ds->priv;
2222

drivers/net/dsa/hirschmann/hellcreek_hwtstamp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ void hellcreek_port_txtstamp(struct dsa_switch *ds, int port,
4848
struct sk_buff *skb);
4949

5050
int hellcreek_get_ts_info(struct dsa_switch *ds, int port,
51-
struct ethtool_ts_info *info);
51+
struct kernel_ethtool_ts_info *info);
5252

5353
long hellcreek_hwtstamp_work(struct ptp_clock_info *ptp);
5454

drivers/net/dsa/microchip/ksz_ptp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ static int ksz_ptp_enable_mode(struct ksz_device *dev)
293293
/* The function is return back the capability of timestamping feature when
294294
* requested through ethtool -T <interface> utility
295295
*/
296-
int ksz_get_ts_info(struct dsa_switch *ds, int port, struct ethtool_ts_info *ts)
296+
int ksz_get_ts_info(struct dsa_switch *ds, int port, struct kernel_ethtool_ts_info *ts)
297297
{
298298
struct ksz_device *dev = ds->priv;
299299
struct ksz_ptp_data *ptp_data;

drivers/net/dsa/microchip/ksz_ptp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ int ksz_ptp_clock_register(struct dsa_switch *ds);
3838
void ksz_ptp_clock_unregister(struct dsa_switch *ds);
3939

4040
int ksz_get_ts_info(struct dsa_switch *ds, int port,
41-
struct ethtool_ts_info *ts);
41+
struct kernel_ethtool_ts_info *ts);
4242
int ksz_hwtstamp_get(struct dsa_switch *ds, int port, struct ifreq *ifr);
4343
int ksz_hwtstamp_set(struct dsa_switch *ds, int port, struct ifreq *ifr);
4444
void ksz_port_txtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb);

0 commit comments

Comments
 (0)