[PATCH v9 net-next 00/12] Introduce ndo_hwtstamp_get() and ndo_hwtstamp_set()

From: Vladimir Oltean
Date: Tue Aug 01 2023 - 10:29:31 EST


Based on previous RFCs from Maxim Georgiev:
https://lore.kernel.org/netdev/20230502043150.17097-1-glipus@xxxxxxxxx/

this series attempts to introduce new API for the hardware timestamping
control path (SIOCGHWTSTAMP and SIOCSHWTSTAMP handling).

I don't have any board with phylib hardware timestamping, so I would
appreciate testing (especially on lan966x, the most intricate
conversion). I was, however, able to test netdev level timestamping,
because I also have some more unsubmitted conversions in progress:

https://github.com/vladimiroltean/linux/commits/ndo-hwtstamp-v9

I hope that the concerns expressed in the comments of previous series
were addressed, and that Köry Maincent's series:
https://lore.kernel.org/netdev/20230406173308.401924-1-kory.maincent@xxxxxxxxxxx/
can make progress in parallel with the conversion of the rest of drivers.

Maxim Georgiev (5):
net: add NDOs for configuring hardware timestamping
net: add hwtstamping helpers for stackable net devices
net: vlan: convert to ndo_hwtstamp_get() / ndo_hwtstamp_set()
net: macvlan: convert to ndo_hwtstamp_get() / ndo_hwtstamp_set()
net: bonding: convert to ndo_hwtstamp_get() / ndo_hwtstamp_set()

Vladimir Oltean (7):
net: fec: convert to ndo_hwtstamp_get() and ndo_hwtstamp_set()
net: fec: delete fec_ptp_disable_hwts()
net: sparx5: convert to ndo_hwtstamp_get() and ndo_hwtstamp_set()
net: lan966x: convert to ndo_hwtstamp_get() and ndo_hwtstamp_set()
net: transfer rtnl_lock() requirement from
ethtool_set_ethtool_phy_ops() to caller
net: phy: provide phylib stubs for hardware timestamping operations
net: remove phy_has_hwtstamp() -> phy_mii_ioctl() decision from
converted drivers

MAINTAINERS | 1 +
drivers/net/bonding/bond_main.c | 105 ++++++----
drivers/net/ethernet/freescale/fec.h | 6 +-
drivers/net/ethernet/freescale/fec_main.c | 62 +++---
drivers/net/ethernet/freescale/fec_ptp.c | 43 ++--
.../ethernet/microchip/lan966x/lan966x_main.c | 58 +++---
.../ethernet/microchip/lan966x/lan966x_main.h | 12 +-
.../ethernet/microchip/lan966x/lan966x_ptp.c | 34 ++--
.../ethernet/microchip/sparx5/sparx5_main.h | 9 +-
.../ethernet/microchip/sparx5/sparx5_netdev.c | 35 ++--
.../ethernet/microchip/sparx5/sparx5_ptp.c | 24 ++-
drivers/net/macvlan.c | 34 ++--
drivers/net/phy/Makefile | 2 +
drivers/net/phy/phy.c | 34 ++++
drivers/net/phy/phy_device.c | 26 +++
drivers/net/phy/stubs.c | 10 +
include/linux/net_tstamp.h | 30 +++
include/linux/netdevice.h | 25 +++
include/linux/phy.h | 7 +
include/linux/phylib_stubs.h | 68 +++++++
net/8021q/vlan_dev.c | 27 ++-
net/core/dev_ioctl.c | 184 +++++++++++++++++-
net/ethtool/common.c | 3 +-
23 files changed, 630 insertions(+), 209 deletions(-)
create mode 100644 drivers/net/phy/stubs.c
create mode 100644 include/linux/phylib_stubs.h

--
2.34.1