Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[linux-2.6-microblaze.git] / drivers / net / ethernet / hisilicon / hns3 / hns3vf / hclgevf_main.c
index 9386547..60588b1 100644 (file)
@@ -8,6 +8,7 @@
 #include "hclgevf_main.h"
 #include "hclge_mbx.h"
 #include "hnae3.h"
+#include "hclgevf_devlink.h"
 
 #define HCLGEVF_NAME   "hclgevf"
 
@@ -538,6 +539,7 @@ static int hclgevf_set_handle_info(struct hclgevf_dev *hdev)
        nic->pdev = hdev->pdev;
        nic->numa_node_mask = hdev->numa_node_mask;
        nic->flags |= HNAE3_SUPPORT_VF;
+       nic->kinfo.io_base = hdev->hw.io_base;
 
        ret = hclgevf_knic_setup(hdev);
        if (ret)
@@ -3339,6 +3341,10 @@ static int hclgevf_init_hdev(struct hclgevf_dev *hdev)
        if (ret)
                return ret;
 
+       ret = hclgevf_devlink_init(hdev);
+       if (ret)
+               goto err_devlink_init;
+
        ret = hclgevf_cmd_queue_init(hdev);
        if (ret)
                goto err_cmd_queue_init;
@@ -3443,6 +3449,8 @@ err_misc_irq_init:
 err_cmd_init:
        hclgevf_cmd_uninit(hdev);
 err_cmd_queue_init:
+       hclgevf_devlink_uninit(hdev);
+err_devlink_init:
        hclgevf_pci_uninit(hdev);
        clear_bit(HCLGEVF_STATE_IRQ_INITED, &hdev->state);
        return ret;
@@ -3464,6 +3472,7 @@ static void hclgevf_uninit_hdev(struct hclgevf_dev *hdev)
        }
 
        hclgevf_cmd_uninit(hdev);
+       hclgevf_devlink_uninit(hdev);
        hclgevf_pci_uninit(hdev);
        hclgevf_uninit_mac_list(hdev);
 }