From: Sathya Perla <sathya.perla@broadcom.com>
Date: Tue, 25 Jul 2017 13:28:39 -0400
Subject: bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch
Patch-mainline: v4.14-rc1
Git-commit: d3e3becedc43adc8b8fb12e7507dd4e5aae4d17d
References: bsc#1050242 FATE#322914
And define empty functions in bnxt_vfr.h when CONFIG_BNXT_SRIOV is not
defined.
This fixes build error when CONFIG_BNXT_SRIOV is switched off:
>> drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c:165:16: error: 'struct
>> bnxt' has no member named 'sriov_lock'
Reported-by: kbuild test robot <lkp@intel.com>
Fixes: 4ab0c6a8ffd7 ("bnxt_en: add support to enable VF-representors")
Signed-off-by: Sathya Perla <sathya.perla@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 4 +++
drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.h | 30 ++++++++++++++++++++++++++
2 files changed, 34 insertions(+)
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c
@@ -16,6 +16,8 @@
#include "bnxt.h"
#include "bnxt_vfr.h"
+#ifdef CONFIG_BNXT_SRIOV
+
#define CFA_HANDLE_INVALID 0xffff
#define VF_IDX_INVALID 0xffff
@@ -487,3 +489,5 @@ void bnxt_dl_unregister(struct bnxt *bp)
devlink_unregister(dl);
devlink_free(dl);
}
+
+#endif
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.h
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.h
@@ -10,6 +10,8 @@
#ifndef BNXT_VFR_H
#define BNXT_VFR_H
+#ifdef CONFIG_BNXT_SRIOV
+
#define MAX_CFA_CODE 65536
/* Struct to hold housekeeping info needed by devlink interface */
@@ -39,4 +41,32 @@ void bnxt_vf_reps_open(struct bnxt *bp);
void bnxt_vf_rep_rx(struct bnxt *bp, struct sk_buff *skb);
struct net_device *bnxt_get_vf_rep(struct bnxt *bp, u16 cfa_code);
+#else
+
+static inline int bnxt_dl_register(struct bnxt *bp)
+{
+ return 0;
+}
+
+static inline void bnxt_dl_unregister(struct bnxt *bp)
+{
+}
+
+static inline void bnxt_vf_reps_close(struct bnxt *bp)
+{
+}
+
+static inline void bnxt_vf_reps_open(struct bnxt *bp)
+{
+}
+
+static inline void bnxt_vf_rep_rx(struct bnxt *bp, struct sk_buff *skb)
+{
+}
+
+static inline struct net_device *bnxt_get_vf_rep(struct bnxt *bp, u16 cfa_code)
+{
+ return NULL;
+}
+#endif /* CONFIG_BNXT_SRIOV */
#endif /* BNXT_VFR_H */