Commit ce2c1d2e authored by Yunsheng Lin's avatar Yunsheng Lin Committed by David S. Miller

net: hns3: Implement shutdown ops in hns3 pci driver

This patch implements shutdown ops in hns3 pci driver, which
unloads the hns3 driver and set the power state to D3hot.
Signed-off-by: default avatarYunsheng Lin <linyunsheng@huawei.com>
Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
Signed-off-by: default avatarSalil Mehta <salil.mehta@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 54e97d11
...@@ -1662,11 +1662,24 @@ static int hns3_pci_sriov_configure(struct pci_dev *pdev, int num_vfs) ...@@ -1662,11 +1662,24 @@ static int hns3_pci_sriov_configure(struct pci_dev *pdev, int num_vfs)
return 0; return 0;
} }
static void hns3_shutdown(struct pci_dev *pdev)
{
struct hnae3_ae_dev *ae_dev = pci_get_drvdata(pdev);
hnae3_unregister_ae_dev(ae_dev);
devm_kfree(&pdev->dev, ae_dev);
pci_set_drvdata(pdev, NULL);
if (system_state == SYSTEM_POWER_OFF)
pci_set_power_state(pdev, PCI_D3hot);
}
static struct pci_driver hns3_driver = { static struct pci_driver hns3_driver = {
.name = hns3_driver_name, .name = hns3_driver_name,
.id_table = hns3_pci_tbl, .id_table = hns3_pci_tbl,
.probe = hns3_probe, .probe = hns3_probe,
.remove = hns3_remove, .remove = hns3_remove,
.shutdown = hns3_shutdown,
.sriov_configure = hns3_pci_sriov_configure, .sriov_configure = hns3_pci_sriov_configure,
}; };
......
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