aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Habets2022-05-09 16:33:10 +0100
committerJakub Kicinski2022-05-10 15:38:15 -0700
commit782f7130849f58825fc0ab8dcfe297054cb58f2c (patch)
tree25831835bcf8543482771686e7c05e162f3532b1
parentc8443b698238fd0cd525c48578e74f093e9f80aa (diff)
sfc/siena: Inline functions in sriov.h to avoid conflicts with sfc
The implementation of each is quite short. This means sriov.c is not needed any more. Signed-off-by: Martin Habets <habetsm.xilinx@gmail.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--drivers/net/ethernet/sfc/siena/sriov.c72
-rw-r--r--drivers/net/ethernet/sfc/siena/sriov.h68
2 files changed, 63 insertions, 77 deletions
diff --git a/drivers/net/ethernet/sfc/siena/sriov.c b/drivers/net/ethernet/sfc/siena/sriov.c
deleted file mode 100644
index 3f241e6c881a..000000000000
--- a/drivers/net/ethernet/sfc/siena/sriov.c
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/****************************************************************************
- * Driver for Solarflare network controllers and boards
- * Copyright 2014-2015 Solarflare Communications Inc.
- */
-#include <linux/module.h>
-#include "net_driver.h"
-#include "nic.h"
-#include "sriov.h"
-
-int efx_sriov_set_vf_mac(struct net_device *net_dev, int vf_i, u8 *mac)
-{
- struct efx_nic *efx = netdev_priv(net_dev);
-
- if (efx->type->sriov_set_vf_mac)
- return efx->type->sriov_set_vf_mac(efx, vf_i, mac);
- else
- return -EOPNOTSUPP;
-}
-
-int efx_sriov_set_vf_vlan(struct net_device *net_dev, int vf_i, u16 vlan,
- u8 qos, __be16 vlan_proto)
-{
- struct efx_nic *efx = netdev_priv(net_dev);
-
- if (efx->type->sriov_set_vf_vlan) {
- if ((vlan & ~VLAN_VID_MASK) ||
- (qos & ~(VLAN_PRIO_MASK >> VLAN_PRIO_SHIFT)))
- return -EINVAL;
-
- if (vlan_proto != htons(ETH_P_8021Q))
- return -EPROTONOSUPPORT;
-
- return efx->type->sriov_set_vf_vlan(efx, vf_i, vlan, qos);
- } else {
- return -EOPNOTSUPP;
- }
-}
-
-int efx_sriov_set_vf_spoofchk(struct net_device *net_dev, int vf_i,
- bool spoofchk)
-{
- struct efx_nic *efx = netdev_priv(net_dev);
-
- if (efx->type->sriov_set_vf_spoofchk)
- return efx->type->sriov_set_vf_spoofchk(efx, vf_i, spoofchk);
- else
- return -EOPNOTSUPP;
-}
-
-int efx_sriov_get_vf_config(struct net_device *net_dev, int vf_i,
- struct ifla_vf_info *ivi)
-{
- struct efx_nic *efx = netdev_priv(net_dev);
-
- if (efx->type->sriov_get_vf_config)
- return efx->type->sriov_get_vf_config(efx, vf_i, ivi);
- else
- return -EOPNOTSUPP;
-}
-
-int efx_sriov_set_vf_link_state(struct net_device *net_dev, int vf_i,
- int link_state)
-{
- struct efx_nic *efx = netdev_priv(net_dev);
-
- if (efx->type->sriov_set_vf_link_state)
- return efx->type->sriov_set_vf_link_state(efx, vf_i,
- link_state);
- else
- return -EOPNOTSUPP;
-}
diff --git a/drivers/net/ethernet/sfc/siena/sriov.h b/drivers/net/ethernet/sfc/siena/sriov.h
index 747707bee483..fbde67319d87 100644
--- a/drivers/net/ethernet/sfc/siena/sriov.h
+++ b/drivers/net/ethernet/sfc/siena/sriov.h
@@ -11,15 +11,73 @@
#ifdef CONFIG_SFC_SRIOV
-int efx_sriov_set_vf_mac(struct net_device *net_dev, int vf_i, u8 *mac);
+static inline
+int efx_sriov_set_vf_mac(struct net_device *net_dev, int vf_i, u8 *mac)
+{
+ struct efx_nic *efx = netdev_priv(net_dev);
+
+ if (efx->type->sriov_set_vf_mac)
+ return efx->type->sriov_set_vf_mac(efx, vf_i, mac);
+ else
+ return -EOPNOTSUPP;
+}
+
+static inline
int efx_sriov_set_vf_vlan(struct net_device *net_dev, int vf_i, u16 vlan,
- u8 qos, __be16 vlan_proto);
+ u8 qos, __be16 vlan_proto)
+{
+ struct efx_nic *efx = netdev_priv(net_dev);
+
+ if (efx->type->sriov_set_vf_vlan) {
+ if ((vlan & ~VLAN_VID_MASK) ||
+ (qos & ~(VLAN_PRIO_MASK >> VLAN_PRIO_SHIFT)))
+ return -EINVAL;
+
+ if (vlan_proto != htons(ETH_P_8021Q))
+ return -EPROTONOSUPPORT;
+
+ return efx->type->sriov_set_vf_vlan(efx, vf_i, vlan, qos);
+ } else {
+ return -EOPNOTSUPP;
+ }
+}
+
+static inline
int efx_sriov_set_vf_spoofchk(struct net_device *net_dev, int vf_i,
- bool spoofchk);
+ bool spoofchk)
+{
+ struct efx_nic *efx = netdev_priv(net_dev);
+
+ if (efx->type->sriov_set_vf_spoofchk)
+ return efx->type->sriov_set_vf_spoofchk(efx, vf_i, spoofchk);
+ else
+ return -EOPNOTSUPP;
+}
+
+static inline
int efx_sriov_get_vf_config(struct net_device *net_dev, int vf_i,
- struct ifla_vf_info *ivi);
+ struct ifla_vf_info *ivi)
+{
+ struct efx_nic *efx = netdev_priv(net_dev);
+
+ if (efx->type->sriov_get_vf_config)
+ return efx->type->sriov_get_vf_config(efx, vf_i, ivi);
+ else
+ return -EOPNOTSUPP;
+}
+
+static inline
int efx_sriov_set_vf_link_state(struct net_device *net_dev, int vf_i,
- int link_state);
+ int link_state)
+{
+ struct efx_nic *efx = netdev_priv(net_dev);
+
+ if (efx->type->sriov_set_vf_link_state)
+ return efx->type->sriov_set_vf_link_state(efx, vf_i,
+ link_state);
+ else
+ return -EOPNOTSUPP;
+}
#endif /* CONFIG_SFC_SRIOV */
#endif /* EFX_SRIOV_H */