Commit 08437c57 authored by Feras Daoud's avatar Feras Daoud Committed by Saeed Mahameed

net/mlx5e: IPoIB, Add PTP ioctl support for child interface

Add support to control precision time protocol on child interfaces
using ioctl.

This commit changes the following:
- Change parent ioctl function to be non static
- Reuse the parent ioctl function in child devices
Signed-off-by: default avatarFeras Daoud <ferasda@mellanox.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
parent 36e564b7
...@@ -41,7 +41,6 @@ ...@@ -41,7 +41,6 @@
static int mlx5i_open(struct net_device *netdev); static int mlx5i_open(struct net_device *netdev);
static int mlx5i_close(struct net_device *netdev); static int mlx5i_close(struct net_device *netdev);
static int mlx5i_change_mtu(struct net_device *netdev, int new_mtu); static int mlx5i_change_mtu(struct net_device *netdev, int new_mtu);
static int mlx5i_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
static const struct net_device_ops mlx5i_netdev_ops = { static const struct net_device_ops mlx5i_netdev_ops = {
.ndo_open = mlx5i_open, .ndo_open = mlx5i_open,
...@@ -396,7 +395,7 @@ int mlx5i_dev_init(struct net_device *dev) ...@@ -396,7 +395,7 @@ int mlx5i_dev_init(struct net_device *dev)
return 0; return 0;
} }
static int mlx5i_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) int mlx5i_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{ {
struct mlx5e_priv *priv = mlx5i_epriv(dev); struct mlx5e_priv *priv = mlx5i_epriv(dev);
......
...@@ -79,6 +79,7 @@ struct net_device *mlx5i_pkey_get_netdev(struct net_device *netdev, u32 qpn); ...@@ -79,6 +79,7 @@ struct net_device *mlx5i_pkey_get_netdev(struct net_device *netdev, u32 qpn);
/* Shared ndo functionts */ /* Shared ndo functionts */
int mlx5i_dev_init(struct net_device *dev); int mlx5i_dev_init(struct net_device *dev);
void mlx5i_dev_cleanup(struct net_device *dev); void mlx5i_dev_cleanup(struct net_device *dev);
int mlx5i_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
/* Parent profile functions */ /* Parent profile functions */
void mlx5i_init(struct mlx5_core_dev *mdev, void mlx5i_init(struct mlx5_core_dev *mdev,
......
...@@ -140,6 +140,7 @@ static int mlx5i_pkey_close(struct net_device *netdev); ...@@ -140,6 +140,7 @@ static int mlx5i_pkey_close(struct net_device *netdev);
static int mlx5i_pkey_dev_init(struct net_device *dev); static int mlx5i_pkey_dev_init(struct net_device *dev);
static void mlx5i_pkey_dev_cleanup(struct net_device *netdev); static void mlx5i_pkey_dev_cleanup(struct net_device *netdev);
static int mlx5i_pkey_change_mtu(struct net_device *netdev, int new_mtu); static int mlx5i_pkey_change_mtu(struct net_device *netdev, int new_mtu);
static int mlx5i_pkey_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
static const struct net_device_ops mlx5i_pkey_netdev_ops = { static const struct net_device_ops mlx5i_pkey_netdev_ops = {
.ndo_open = mlx5i_pkey_open, .ndo_open = mlx5i_pkey_open,
...@@ -147,6 +148,7 @@ static const struct net_device_ops mlx5i_pkey_netdev_ops = { ...@@ -147,6 +148,7 @@ static const struct net_device_ops mlx5i_pkey_netdev_ops = {
.ndo_init = mlx5i_pkey_dev_init, .ndo_init = mlx5i_pkey_dev_init,
.ndo_uninit = mlx5i_pkey_dev_cleanup, .ndo_uninit = mlx5i_pkey_dev_cleanup,
.ndo_change_mtu = mlx5i_pkey_change_mtu, .ndo_change_mtu = mlx5i_pkey_change_mtu,
.ndo_do_ioctl = mlx5i_pkey_ioctl,
}; };
/* Child NDOs */ /* Child NDOs */
...@@ -174,6 +176,11 @@ static int mlx5i_pkey_dev_init(struct net_device *dev) ...@@ -174,6 +176,11 @@ static int mlx5i_pkey_dev_init(struct net_device *dev)
return mlx5i_dev_init(dev); return mlx5i_dev_init(dev);
} }
static int mlx5i_pkey_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
return mlx5i_ioctl(dev, ifr, cmd);
}
static void mlx5i_pkey_dev_cleanup(struct net_device *netdev) static void mlx5i_pkey_dev_cleanup(struct net_device *netdev)
{ {
return mlx5i_dev_cleanup(netdev); return mlx5i_dev_cleanup(netdev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment