diff options
author | David S. Miller <davem@davemloft.net> | 2023-04-03 10:04:27 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-04-03 10:04:27 +0100 |
commit | 858e5b06409f65d09dc60e32432e4b8e12e4dba0 (patch) | |
tree | e59030b8a2b0657651f7b0528d270f0d2d585a72 /net/dsa/master.h | |
parent | 51aaa68222d6c34f0373cf95223ce2f230329e8f (diff) | |
parent | 88c0a6b503b7f4fffb68a8d49c3987870c5b1d6b (diff) | |
download | linux-858e5b06409f65d09dc60e32432e4b8e12e4dba0.tar.gz linux-858e5b06409f65d09dc60e32432e4b8e12e4dba0.tar.bz2 linux-858e5b06409f65d09dc60e32432e4b8e12e4dba0.zip |
Merge branch 'dsa_master_ioctl-notifier'
Vladimir Oltean says:
====================
net: Convert dsa_master_ioctl() to netdev notifier
This is preparatory work in order for Maxim Georgiev to be able to start
the API conversion process of hardware timestamping from ndo_eth_ioctl()
to ndo_hwtstamp_set():
https://lore.kernel.org/netdev/20230331045619.40256-1-glipus@gmail.com/
In turn, Maxim Georgiev's work is a preparation so that Köry Maincent is
able to make the active hardware timestamping layer selectable by user
space.
https://lore.kernel.org/netdev/20230308135936.761794-1-kory.maincent@bootlin.com/
So, quite some dependency chain.
Before this patch set, DSA prevented the conversion of any networking
driver from the ndo_eth_ioctl() API to the ndo_hwtstamp_set() API,
because it wanted to validate the hwtstamping settings on the DSA
master, and it was only coded up to do this using the old API.
After this patch set, a new netdev notifier exists, which does not
depend on anything that would constitute the "soon-to-be-legacy" API,
but rather, it uses a newly introduced struct kernel_hwtstamp_config,
and it doesn't issue any ioctl at all, being thus compatible both with
ndo_eth_ioctl(), and with the not-yet-introduced, but now possible,
ndo_hwtstamp_set().
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dsa/master.h')
-rw-r--r-- | net/dsa/master.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/dsa/master.h b/net/dsa/master.h index 3fc0e610b5b5..80842f4e27f7 100644 --- a/net/dsa/master.h +++ b/net/dsa/master.h @@ -15,5 +15,8 @@ int dsa_master_lag_setup(struct net_device *lag_dev, struct dsa_port *cpu_dp, struct netlink_ext_ack *extack); void dsa_master_lag_teardown(struct net_device *lag_dev, struct dsa_port *cpu_dp); +int dsa_master_pre_change_hwtstamp(struct net_device *dev, + const struct kernel_hwtstamp_config *config, + struct netlink_ext_ack *extack); #endif |