From c83cda743e4b3b6d71e36276bf3dc2b35dc64515 Mon Sep 17 00:00:00 2001 From: nebula_matrix_driver Date: Thu, 6 Nov 2025 17:14:26 +0800 Subject: [PATCH] net:nebula-matrix:fix compile err nbl_core-driver inclusion category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/ID5BWD ------------------------------------------------------------ fix compile err Fixes: 468b0cd7b1e1 ("net:nebula-matrix:Add S1000 SNIC driver support") Signed-off-by: nebula_matrix_driver --- .../nebula-matrix/nbl/nbl_core/nbl_dev.c | 61 ++++++++++++++++--- .../nebula-matrix/nbl/nbl_core/nbl_dev.h | 2 + .../nebula-matrix/nbl/nbl_core/nbl_dev_user.c | 2 - .../nebula-matrix/nbl/nbl_core/nbl_service.c | 17 +++++- .../nebula-matrix/nbl/nbl_core/nbl_service.h | 4 +- .../nebula-matrix/nbl/nbl_core/nbl_tc_tun.c | 4 +- .../nbl/nbl_include/nbl_def_service.h | 6 +- 7 files changed, 80 insertions(+), 16 deletions(-) diff --git a/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c b/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c index 09f03d33f360..e04e2902b70d 100644 --- a/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c +++ b/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c @@ -679,6 +679,7 @@ static void nbl_dev_clear_interrupt_scheme(struct nbl_dev_mgt *dev_mgt) nbl_dev_free_msix_intr(dev_mgt); } +#ifdef CONFIG_NET_DEVLINK static void nbl_fw_tracer_clean_saved_traces_array(struct nbl_health_reporters *reps) { mutex_destroy(&reps->temp_st_arr.lock); @@ -735,9 +736,11 @@ static void nbl_fw_reboot_save_trace(struct nbl_health_reporters *reps) (reps->reboot_st_arr.saved_traces_index + 1) & (NBL_SAVED_TRACES_NUM - 1); mutex_unlock(&reps->reboot_st_arr.lock); } +#endif static void nbl_dev_health_report_temp_task(struct work_struct *work) { +#ifdef CONFIG_NET_DEVLINK struct nbl_fw_reporter_ctx fw_reporter_cxt; struct nbl_task_info *task_info = container_of(work, struct nbl_task_info, report_temp_task); @@ -754,10 +757,12 @@ static void nbl_dev_health_report_temp_task(struct work_struct *work) err = devlink_health_report(reps->fw_temp_reporter, "nbl_fw_temp", &fw_reporter_cxt); if (err) dev_err(dev, "failed to report nbl_fw_temp health\n"); +#endif } static void nbl_dev_health_report_reboot_task(struct work_struct *work) { +#ifdef CONFIG_NET_DEVLINK struct nbl_task_info *task_info = container_of(work, struct nbl_task_info, report_reboot_task); struct nbl_dev_mgt *dev_mgt = task_info->dev_mgt; @@ -772,6 +777,7 @@ static void nbl_dev_health_report_reboot_task(struct work_struct *work) if (err) { dev_err(dev, "failed to report nbl_fw_reboot health\n"); } +#endif } /* ---------- Channel config ---------- */ @@ -972,7 +978,9 @@ static void nbl_dev_fw_reset_task(struct work_struct *work) struct nbl_channel_ops *chan_ops = NBL_DEV_MGT_TO_CHAN_OPS(dev_mgt); struct nbl_service_ops *serv_ops = NBL_DEV_MGT_TO_SERV_OPS(dev_mgt); struct nbl_common_info *common = NBL_DEV_MGT_TO_COMMON(dev_mgt); +#ifdef CONFIG_NET_DEVLINK struct nbl_dev_ctrl *ctrl_dev = NBL_DEV_MGT_TO_CTRL_DEV(dev_mgt); +#endif if (serv_ops->check_fw_reset(NBL_DEV_MGT_TO_SERV_PRIV(dev_mgt))) { dev_notice(NBL_COMMON_TO_DEV(common), "FW recovered"); @@ -994,7 +1002,9 @@ static void nbl_dev_fw_reset_task(struct work_struct *work) nbl_dev_enable_port(dev_mgt, true); } task_info->fw_resetting = false; +#ifdef CONFIG_NET_DEVLINK nbl_fw_reboot_save_trace(&ctrl_dev->health_reporters); +#endif nbl_common_queue_work(&task_info->report_reboot_task, true, false); return; } @@ -1174,7 +1184,9 @@ static void nbl_dev_handle_temp_ext(struct nbl_dev_mgt *dev_mgt, u8 *data, u16 d uptime = *(u64 *)(data + sizeof(u16)); if (new_temp_status != NBL_TEMP_STATUS_NORMAL) { ctrl_dev->health_reporters.reporter_ctx.temp_num = temp; +#ifdef CONFIG_NET_DEVLINK nbl_fw_temp_save_trace(&ctrl_dev->health_reporters, temp, uptime); +#endif nbl_common_queue_work(&ctrl_dev->task_info.report_temp_task, false, false); } nbl_log(common, temp_alarm_info[new_temp_status].logvel, @@ -1469,6 +1481,7 @@ static void nbl_dev_remove_common_dev(struct nbl_adapter *adapter) NBL_DEV_MGT_TO_COMMON_DEV(dev_mgt) = NULL; } +#ifdef CONFIG_NET_DEVLINK static void nbl_devlink_fmsg_fill_temp_trace(struct devlink_fmsg *fmsg, struct nbl_fw_temp_trace_data *trace_data) { @@ -1653,6 +1666,7 @@ static int nbl_dev_health_init(struct nbl_dev_mgt *dev) nbl_setup_devlink_reporter(dev); return 0; } +#endif static int nbl_dev_setup_ctrl_dev(struct nbl_adapter *adapter, struct nbl_init_param *param) { @@ -2960,9 +2974,9 @@ static void nbl_dev_remove_ktls_ops(struct net_device *netdev) } #else -static ivoidnt nbl_dev_setup_ktls_ops(struct nbl_dev_mgt *dev_mgt, struct net_device *netdev - struct nbl_init_param *param) +static int nbl_dev_setup_ktls_ops(struct nbl_dev_mgt *dev_mgt, struct net_device *netdev) { + return 0; } static void nbl_dev_remove_ktls_ops(struct net_device *netdev) {} @@ -3081,6 +3095,7 @@ static void nbl_dev_remove_xfrm_ops(struct net_device *netdev) } #endif +#ifdef CONFIG_DCB static int nbl_dev_ieee_setets(struct net_device *netdev, struct ieee_ets *ets) { struct nbl_adapter *adapter = NBL_NETDEV_TO_ADAPTER(netdev); @@ -3248,6 +3263,7 @@ static void nbl_dev_remove_dcbnl_ops(struct net_device *netdev) { netdev->dcbnl_ops = NULL; } +#endif static void nbl_dev_set_eth_mac_addr(struct nbl_dev_mgt *dev_mgt, struct net_device *netdev) { @@ -3307,10 +3323,11 @@ static int nbl_dev_cfg_netdev(struct net_device *netdev, struct nbl_dev_mgt *dev ret = net_dev_ops->setup_ethtool_ops(dev_mgt, netdev, param); if (ret) goto set_ethtool_fail; - +#ifdef CONFIG_DCB ret = net_dev_ops->setup_dcbnl_ops(dev_mgt, netdev, param); if (ret) goto set_dcbnl_fail; +#endif if (!param->is_rep) { ret = nbl_dev_setup_ktls_ops(dev_mgt, netdev); @@ -3328,8 +3345,10 @@ static int nbl_dev_cfg_netdev(struct net_device *netdev, struct nbl_dev_mgt *dev set_xfrm_fail: nbl_dev_remove_ktls_ops(netdev); set_ktls_fail: +#ifdef CONFIG_DCB nbl_dev_remove_dcbnl_ops(netdev); set_dcbnl_fail: +#endif nbl_dev_remove_ethtool_ops(netdev); set_ethtool_fail: nbl_dev_remove_netops(netdev); @@ -3341,7 +3360,9 @@ static void nbl_dev_reset_netdev(struct net_device *netdev) { nbl_dev_remove_ktls_ops(netdev); nbl_dev_remove_xfrm_ops(netdev); +#ifdef CONFIG_DCB nbl_dev_remove_dcbnl_ops(netdev); +#endif nbl_dev_remove_ethtool_ops(netdev); nbl_dev_remove_netops(netdev); } @@ -4028,7 +4049,9 @@ static struct nbl_dev_net_ops netdev_ops[NBL_PRODUCT_MAX] = { { .setup_netdev_ops = nbl_dev_setup_netops_leonis, .setup_ethtool_ops = nbl_dev_setup_ethtool_ops_leonis, + #ifdef CONFIG_DCB .setup_dcbnl_ops = nbl_dev_setup_dcbnl_ops_leonis, + #endif }, }; @@ -4382,9 +4405,9 @@ static int nbl_dev_start_ctrl_dev(struct nbl_adapter *adapter, struct nbl_init_p err = nbl_dev_enable_adminq_irq(dev_mgt); if (err) goto enable_adminq_irq_err; - +#ifdef CONFIG_NET_DEVLINK nbl_dev_health_init(dev_mgt); - +#endif nbl_dev_get_port_attributes(dev_mgt); nbl_dev_init_port(dev_mgt); nbl_dev_enable_port(dev_mgt, true); @@ -4412,7 +4435,9 @@ static void nbl_dev_stop_ctrl_dev(struct nbl_adapter *adapter) nbl_dev_ctrl_task_stop(dev_mgt); nbl_dev_enable_port(dev_mgt, false); nbl_dev_disable_adminq_irq(dev_mgt); +#ifdef CONFIG_NET_DEVLINK nbl_dev_destroy_health(dev_mgt); +#endif nbl_dev_free_adminq_irq(dev_mgt, &NBL_DEV_MGT_TO_CTRL_DEV(dev_mgt)->task_info); nbl_dev_disable_abnormal_irq(dev_mgt); nbl_dev_free_abnormal_irq(dev_mgt); @@ -4624,6 +4649,7 @@ static int nbl_dev_eswitch_unload_rep(struct nbl_dev_mgt *dev_mgt) return 0; } +#ifdef CONFIG_NET_DEVLINK static int nbl_dev_eswitch_mode_to_devlink(u16 cur_eswitch_mode, u16 *devlink_eswitch_mode) { switch (cur_eswitch_mode) { @@ -4653,6 +4679,7 @@ static int nbl_dev_eswitch_mode_from_devlink(u16 devlink_eswitch_mode, u16 *cfg_ } return 0; } +#endif int nbl_dev_destroy_rep(void *p) { @@ -4739,6 +4766,7 @@ void nbl_dev_remove_vf_config(void *p) return serv_ops->remove_vf_config(NBL_DEV_MGT_TO_SERV_PRIV(dev_mgt)); } +#ifdef CONFIG_NET_DEVLINK static int nbl_dev_init_offload_mode(struct nbl_dev_mgt *dev_mgt, u16 vsi_id) { struct nbl_service_ops *serv_ops = NBL_DEV_MGT_TO_SERV_OPS(dev_mgt); @@ -4801,6 +4829,13 @@ static int nbl_dev_uninit_offload_mode(struct nbl_dev_mgt *dev_mgt) serv_ops->disable_phy_flow(NBL_DEV_MGT_TO_SERV_PRIV(dev_mgt), common->eth_id); return ret; } +#else + +static int nbl_dev_uninit_offload_mode(struct nbl_dev_mgt *dev_mgt) +{ + return 0; +} +#endif static void nbl_dev_destroy_flow_res(struct nbl_dev_mgt *dev_mgt) { @@ -5133,6 +5168,8 @@ static void nbl_dev_suspend_net_dev(struct nbl_adapter *adapter) nbl_dev_free_net_irq(dev_mgt); } +/* ---------- Devlink config ---------- */ +#ifdef CONFIG_NET_DEVLINK static int nbl_dev_get_devlink_eswitch_mode(struct devlink *devlink, u16 *mode) { struct nbl_devlink_priv *priv = devlink_priv(devlink); @@ -5241,7 +5278,7 @@ static int nbl_dev_set_devlink_eswitch_mode(struct devlink *devlink, u16 mode, } return -EBUSY; } -/* ---------- Devlink config ---------- */ + static void nbl_dev_devlink_free(void *devlink_ptr) { devlink_free((struct devlink *)devlink_ptr); @@ -5304,6 +5341,16 @@ static void nbl_dev_remove_devlink(struct nbl_dev_mgt *dev_mgt) } } +#else +static int nbl_dev_setup_devlink(struct nbl_dev_mgt *dev_mgt, struct nbl_init_param *param) +{ + return 0; +} + +static void nbl_dev_remove_devlink(struct nbl_dev_mgt *dev_mgt) +{ +} +#endif static int nbl_dev_start_common_dev(struct nbl_adapter *adapter, struct nbl_init_param *param) { struct nbl_dev_mgt *dev_mgt = (struct nbl_dev_mgt *)NBL_ADAPTER_TO_DEV_MGT(adapter); @@ -5325,11 +5372,9 @@ static int nbl_dev_start_common_dev(struct nbl_adapter *adapter, struct nbl_init ret = nbl_dev_enable_mailbox_irq(dev_mgt); if (ret) goto enable_mailbox_irq_err; - ret = nbl_dev_setup_devlink(dev_mgt, param); if (ret) goto setup_devlink_err; - if (!param->caps.is_vf && serv_ops->get_product_fix_cap(NBL_DEV_MGT_TO_SERV_PRIV(dev_mgt), NBL_HWMON_TEMP_CAP)) { diff --git a/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.h b/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.h index ff942823b1d9..beeb6a6325d8 100644 --- a/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.h +++ b/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.h @@ -213,8 +213,10 @@ struct nbl_dev_net_ops { struct nbl_init_param *param); int (*setup_ethtool_ops)(void *priv, struct net_device *netdev, struct nbl_init_param *param); +#ifdef CONFIG_DCB int (*setup_dcbnl_ops)(void *priv, struct net_device *netdev, struct nbl_init_param *param); +#endif }; struct nbl_dev_attr_info { diff --git a/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.c b/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.c index 975507249e49..0a0308e4ab9b 100644 --- a/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.c +++ b/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.c @@ -1387,13 +1387,11 @@ static int nbl_bus_probe(struct device *dev) return PTR_ERR(vdev); user->vdev = &vdev->vdev; vdev->user = user; - ret = vfio_register_emulated_iommu_dev(NBL_USERDEV_TO_VFIO_DEV(user)); if (ret) { dev_err(dev, "vfio register iommu failed, ret %d\n", ret); vfio_put_device(NBL_USERDEV_TO_VFIO_DEV(user)); } - return ret; } diff --git a/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c b/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c index 6a2195c20d65..bfdec2222467 100644 --- a/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c +++ b/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c @@ -4628,7 +4628,9 @@ static void nbl_init_qos_config(struct nbl_serv_net_resource_mgt *net_resource_m qos_info->rdma_bw = NBL_MAX_BW >> 1; qos_info->rdma_rate = NBL_COMMON_TO_ETH_MAX_SPEED(common); qos_info->net_rate = NBL_COMMON_TO_ETH_MAX_SPEED(common); +#ifdef CONFIG_DCB qos_info->dcbx_mode = DCB_CAP_DCBX_HOST | DCB_CAP_DCBX_VER_IEEE | DCB_CAP_DCBX_VER_CEE; +#endif for (i = 0; i < NBL_DSCP_MAX; i++) qos_info->dscp2prio_map[i] = i / NBL_MAX_PFC_PRIORITIES; @@ -4886,6 +4888,7 @@ static void nbl_serv_get_real_bdf(void *priv, u16 vsi_id, u8 *bus, u8 *dev, u8 * bus, dev, function); } +#ifdef CONFIG_NET_DEVLINK static int nbl_serv_get_devlink_info(struct devlink *devlink, struct devlink_info_req *req, struct netlink_ext_ack *extack) { @@ -4906,6 +4909,7 @@ static int nbl_serv_get_devlink_info(struct devlink *devlink, struct devlink_inf return ret; } +#endif /* Why do we need this? * Because the original function in kernel cannot handle when we set subvendor and subdevice @@ -5063,6 +5067,7 @@ static const struct pldmfw_ops nbl_update_fw_ops = { int nbl_serv_update_firmware(struct nbl_service_mgt *serv_mgt, const struct firmware *fw, struct netlink_ext_ack *extack) { +#ifdef CONFIG_FW_PLDM struct nbl_serv_update_fw_priv priv = {{0}}; int ret = 0; @@ -5074,8 +5079,12 @@ int nbl_serv_update_firmware(struct nbl_service_mgt *serv_mgt, const struct firm ret = pldmfw_flash_image(&priv.context, fw); return ret; +#else + return 0; +#endif } +#ifdef CONFIG_NET_DEVLINK static int nbl_serv_update_devlink_flash(struct devlink *devlink, struct devlink_flash_update_params *params, struct netlink_ext_ack *extack) @@ -5096,6 +5105,7 @@ static int nbl_serv_update_devlink_flash(struct devlink *devlink, NULL, 0, 0); return ret; } +#endif static u32 nbl_serv_get_adminq_tx_buf_size(void *priv) { @@ -6964,6 +6974,7 @@ static ssize_t nbl_serv_pfc_buffer_size_show(void *priv, u8 eth_id, char *buf) return count; } +#ifdef CONFIG_DCB static u8 nbl_serv_dcb_get_num_tc(struct net_device *netdev, struct ieee_ets *ets) { bool tc_unused = false; @@ -7310,6 +7321,7 @@ static u8 nbl_serv_dcnbl_getpfcstate(struct net_device *netdev) return 0; } +#endif static void nbl_serv_get_board_info(void *priv, struct nbl_board_port_info *board_info) { @@ -7591,8 +7603,10 @@ static struct nbl_service_ops serv_ops = { .configure_mirror = nbl_serv_configure_mirror, .configure_mirror_table = nbl_serv_configure_mirror_table, .clear_mirror_cfg = nbl_serv_clear_mirror_cfg, +#ifdef CONFIG_NET_DEVLINK .get_devlink_info = nbl_serv_get_devlink_info, .update_devlink_flash = nbl_serv_update_devlink_flash, +#endif .get_adminq_tx_buf_size = nbl_serv_get_adminq_tx_buf_size, .emp_console_write = nbl_serv_emp_console_write, @@ -7631,7 +7645,7 @@ static struct nbl_service_ops serv_ops = { .pfc_buffer_size_show = nbl_serv_pfc_buffer_size_show, .set_pfc_buffer_size = nbl_serv_set_pfc_buffer_size, .set_rate_limit = nbl_serv_set_rate_limit, - + #ifdef CONFIG_DCB .ieee_setets = nbl_serv_ieee_setets, .ieee_getets = nbl_serv_ieee_getets, .ieee_setpfc = nbl_serv_ieee_setpfc, @@ -7647,6 +7661,7 @@ static struct nbl_service_ops serv_ops = { .dcbnl_getstate = nbl_serv_dcnbl_getstate, .dcbnl_setstate = nbl_serv_dcnbl_setstate, .dcbnl_getpfcstate = nbl_serv_dcnbl_getpfcstate, + #endif .get_vf_function_id = nbl_serv_get_vf_function_id, .cfg_mirror_outputport_event = nbl_serv_cfg_mirror_outputport_event, }; diff --git a/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.h b/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.h index eaf9141a177f..75d2a074fc86 100644 --- a/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.h +++ b/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.h @@ -282,9 +282,11 @@ struct nbl_serv_qos_info { u32 rdma_rate; u32 net_rate; DECLARE_BITMAP(dscp_mapped, NBL_DSCP_MAX); + #ifdef CONFIG_DCB struct dcb_app app[NBL_DSCP_MAX]; - int buffer_sizes[NBL_MAX_PFC_PRIORITIES][2]; struct ieee_ets ets; + #endif + int buffer_sizes[NBL_MAX_PFC_PRIORITIES][2]; }; struct nbl_serv_net_resource_mgt { diff --git a/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_tc_tun.c b/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_tc_tun.c index c230767c7549..7f5325c8aafb 100644 --- a/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_tc_tun.c +++ b/drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_tc_tun.c @@ -94,7 +94,7 @@ static int nbl_route_lookup_ipv4(const struct nbl_common_info *common, out_dev = rt->dst.dev; if (is_vlan_dev(out_dev)) { - parent_dev = vlan_dev_priv(out_dev)->real_dev; + parent_dev = vlan_dev_real_dev(out_dev); if (is_vlan_dev(parent_dev)) { nbl_debug(common, NBL_DEBUG_FLOW, "encap o_dev is %s p_dev:%s\n", out_dev->name, parent_dev ? parent_dev->name : "NULL"); @@ -318,7 +318,7 @@ static int nbl_route_lookup_ipv6(const struct nbl_common_info *common, out_dev = dst->dev; if (is_vlan_dev(out_dev)) { - parent_dev = vlan_dev_priv(out_dev)->real_dev; + parent_dev = vlan_dev_real_dev(out_dev); real_out_dev = vlan_dev_real_dev(out_dev); if (is_vlan_dev(parent_dev)) { nbl_debug(common, NBL_DEBUG_FLOW, "ipv6 encap o_dev is %s, p_dev:%s\n", diff --git a/drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h b/drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h index 4e95220a9a2a..d173c762fe86 100644 --- a/drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h +++ b/drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h @@ -271,13 +271,13 @@ struct nbl_service_ops { u16 (*covert_vfid_to_vsi_id)(void *priv, u16 vfid); void (*recovery_abnormal)(void *priv); void (*keep_alive)(void *priv); - +#ifdef CONFIG_NET_DEVLINK int (*get_devlink_info)(struct devlink *devlink, struct devlink_info_req *req, struct netlink_ext_ack *extack); int (*update_devlink_flash)(struct devlink *devlink, struct devlink_flash_update_params *params, struct netlink_ext_ack *extack); - +#endif u32 (*get_adminq_tx_buf_size)(void *priv); int (*emp_console_write)(void *priv, char *buf, size_t count); bool (*check_fw_heartbeat)(void *priv); @@ -345,6 +345,7 @@ struct nbl_service_ops { ssize_t (*pfc_buffer_size_show)(void *priv, u8 eth_id, char *buf); /* dcb nl ops */ + #ifdef CONFIG_DCB int (*ieee_setets)(struct net_device *netdev, struct ieee_ets *ets); int (*ieee_getets)(struct net_device *netdev, struct ieee_ets *ets); int (*ieee_setpfc)(struct net_device *netdev, struct ieee_pfc *pfc); @@ -360,6 +361,7 @@ struct nbl_service_ops { u8 (*dcbnl_setstate)(struct net_device *netdev, u8 state); u8 (*dcbnl_getpfcstate)(struct net_device *netdev); u8 (*dcbnl_getcap)(struct net_device *netdev, int capid, u8 *cap); + #endif u16 (*get_vf_function_id)(void *priv, int vf_id); void (*cfg_mirror_outputport_event)(void *priv, bool enable); }; -- Gitee