hisi_acc_vfio_pci: Add helper to retrieve the struct pci_driver
authorShameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tue, 8 Mar 2022 18:48:59 +0000 (18:48 +0000)
committerAlex Williamson <alex.williamson@redhat.com>
Tue, 15 Mar 2022 17:34:09 +0000 (11:34 -0600)
struct pci_driver pointer is an input into the pci_iov_get_pf_drvdata().
Introduce helpers to retrieve the ACC PF dev struct pci_driver pointers
as we use this in ACC vfio migration driver.

Acked-by: Zhou Wang <wangzhou1@hisilicon.com>
Acked-by: Kai Ye <yekai13@huawei.com>
Acked-by: Longfang Liu <liulongfang@huawei.com>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Link: https://lore.kernel.org/r/20220308184902.2242-7-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/crypto/hisilicon/hpre/hpre_main.c
drivers/crypto/hisilicon/sec2/sec_main.c
drivers/crypto/hisilicon/zip/zip_main.c
include/linux/hisi_acc_qm.h

index 3589d8879b5ea3db3e5fca87dcb08d48879e2763..36ab30e9e6549b2472e1f12c1eab2d1ad2547686 100644 (file)
@@ -1190,6 +1190,12 @@ static struct pci_driver hpre_pci_driver = {
        .driver.pm              = &hpre_pm_ops,
 };
 
+struct pci_driver *hisi_hpre_get_pf_driver(void)
+{
+       return &hpre_pci_driver;
+}
+EXPORT_SYMBOL_GPL(hisi_hpre_get_pf_driver);
+
 static void hpre_register_debugfs(void)
 {
        if (!debugfs_initialized())
index 311a8747b5bf5cd58613de6f35f7e55d8831f0b2..421a405ca33758a275b9b3c619e2a6d18b9f1bcf 100644 (file)
@@ -1088,6 +1088,12 @@ static struct pci_driver sec_pci_driver = {
        .driver.pm = &sec_pm_ops,
 };
 
+struct pci_driver *hisi_sec_get_pf_driver(void)
+{
+       return &sec_pci_driver;
+}
+EXPORT_SYMBOL_GPL(hisi_sec_get_pf_driver);
+
 static void sec_register_debugfs(void)
 {
        if (!debugfs_initialized())
index 66decfe072820a43b647b0a7dfe7afdc2932075d..4534e1e107d1bec8c8d94d1a709a9c86d21fc3fd 100644 (file)
@@ -1012,6 +1012,12 @@ static struct pci_driver hisi_zip_pci_driver = {
        .driver.pm              = &hisi_zip_pm_ops,
 };
 
+struct pci_driver *hisi_zip_get_pf_driver(void)
+{
+       return &hisi_zip_pci_driver;
+}
+EXPORT_SYMBOL_GPL(hisi_zip_get_pf_driver);
+
 static void hisi_zip_register_debugfs(void)
 {
        if (!debugfs_initialized())
index 6a6477c34666f09a5b2a16395a823c94697c76f2..00f2a4db872311778dfbf207787fae02626a242b 100644 (file)
@@ -476,4 +476,9 @@ void hisi_qm_pm_init(struct hisi_qm *qm);
 int hisi_qm_get_dfx_access(struct hisi_qm *qm);
 void hisi_qm_put_dfx_access(struct hisi_qm *qm);
 void hisi_qm_regs_dump(struct seq_file *s, struct debugfs_regset32 *regset);
+
+/* Used by VFIO ACC live migration driver */
+struct pci_driver *hisi_sec_get_pf_driver(void);
+struct pci_driver *hisi_hpre_get_pf_driver(void);
+struct pci_driver *hisi_zip_get_pf_driver(void);
 #endif