]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
crypto: qat - simplify adf_enable_aer()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 4 Oct 2021 12:59:33 +0000 (14:59 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 12 Oct 2021 22:37:15 +0000 (17:37 -0500)
A struct pci_driver is shared across all device instances, so assigning
pci_driver.err_handler once per device isn't really sensible.

Set adf_driver.err_handler statically instead of in adf_enable_aer().
This removes a use of pci_dev->driver, which is a step toward removing
pci_dev->driver altogether.

Since adf_enable_aer() returns zero unconditionally, make it a void
function.

Link: https://lore.kernel.org/r/20211004125935.2300113-10-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/crypto/qat/qat_4xxx/adf_drv.c
drivers/crypto/qat/qat_c3xxx/adf_drv.c
drivers/crypto/qat/qat_c62x/adf_drv.c
drivers/crypto/qat/qat_common/adf_aer.c
drivers/crypto/qat/qat_common/adf_common_drv.h
drivers/crypto/qat/qat_dh895xcc/adf_drv.c

index 359fb7989dfbfd4fd25e47892a695e5442abf302..71ef065914b22d319779609e71a04a2c04202a77 100644 (file)
@@ -247,11 +247,7 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
        pci_set_master(pdev);
 
-       if (adf_enable_aer(accel_dev)) {
-               dev_err(&pdev->dev, "Failed to enable aer.\n");
-               ret = -EFAULT;
-               goto out_err;
-       }
+       adf_enable_aer(accel_dev);
 
        if (pci_save_state(pdev)) {
                dev_err(&pdev->dev, "Failed to save pci state.\n");
@@ -304,6 +300,7 @@ static struct pci_driver adf_driver = {
        .probe = adf_probe,
        .remove = adf_remove,
        .sriov_configure = adf_sriov_configure,
+       .err_handler = &adf_err_handler,
 };
 
 module_pci_driver(adf_driver);
index cc6e75dc60de94a033aa6a3a42bd1e5e30f38823..2aef0bb791dfa3f39867662c55210bd47c96ec6e 100644 (file)
@@ -33,6 +33,7 @@ static struct pci_driver adf_driver = {
        .probe = adf_probe,
        .remove = adf_remove,
        .sriov_configure = adf_sriov_configure,
+       .err_handler = &adf_err_handler,
 };
 
 static void adf_cleanup_pci_dev(struct adf_accel_dev *accel_dev)
@@ -192,11 +193,7 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        }
        pci_set_master(pdev);
 
-       if (adf_enable_aer(accel_dev)) {
-               dev_err(&pdev->dev, "Failed to enable aer\n");
-               ret = -EFAULT;
-               goto out_err_free_reg;
-       }
+       adf_enable_aer(accel_dev);
 
        if (pci_save_state(pdev)) {
                dev_err(&pdev->dev, "Failed to save pci state\n");
index bf251dfe74b36603e6802a84f330184d86e6b94a..56163083f16163c878f02cf1859982492426a325 100644 (file)
@@ -33,6 +33,7 @@ static struct pci_driver adf_driver = {
        .probe = adf_probe,
        .remove = adf_remove,
        .sriov_configure = adf_sriov_configure,
+       .err_handler = &adf_err_handler,
 };
 
 static void adf_cleanup_pci_dev(struct adf_accel_dev *accel_dev)
@@ -192,11 +193,7 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        }
        pci_set_master(pdev);
 
-       if (adf_enable_aer(accel_dev)) {
-               dev_err(&pdev->dev, "Failed to enable aer\n");
-               ret = -EFAULT;
-               goto out_err_free_reg;
-       }
+       adf_enable_aer(accel_dev);
 
        if (pci_save_state(pdev)) {
                dev_err(&pdev->dev, "Failed to save pci state\n");
index ed3e40bc56eb2b4f9db0d6df77a641ad511b702a..fe9bb2f3536a978439aa55700f649db8b43f3805 100644 (file)
@@ -166,11 +166,12 @@ static void adf_resume(struct pci_dev *pdev)
        dev_info(&pdev->dev, "Device is up and running\n");
 }
 
-static const struct pci_error_handlers adf_err_handler = {
+const struct pci_error_handlers adf_err_handler = {
        .error_detected = adf_error_detected,
        .slot_reset = adf_slot_reset,
        .resume = adf_resume,
 };
+EXPORT_SYMBOL_GPL(adf_err_handler);
 
 /**
  * adf_enable_aer() - Enable Advance Error Reporting for acceleration device
@@ -179,17 +180,12 @@ static const struct pci_error_handlers adf_err_handler = {
  * Function enables PCI Advance Error Reporting for the
  * QAT acceleration device accel_dev.
  * To be used by QAT device specific drivers.
- *
- * Return: 0 on success, error code otherwise.
  */
-int adf_enable_aer(struct adf_accel_dev *accel_dev)
+void adf_enable_aer(struct adf_accel_dev *accel_dev)
 {
        struct pci_dev *pdev = accel_to_pci_dev(accel_dev);
-       struct pci_driver *pdrv = pdev->driver;
 
-       pdrv->err_handler = &adf_err_handler;
        pci_enable_pcie_error_reporting(pdev);
-       return 0;
 }
 EXPORT_SYMBOL_GPL(adf_enable_aer);
 
index 4261749fae8d45442f5afe5c0017d4ffdeecc788..e4c24be212ff9046fc37a6c4f669766972234a0f 100644 (file)
@@ -95,7 +95,8 @@ void adf_ae_fw_release(struct adf_accel_dev *accel_dev);
 int adf_ae_start(struct adf_accel_dev *accel_dev);
 int adf_ae_stop(struct adf_accel_dev *accel_dev);
 
-int adf_enable_aer(struct adf_accel_dev *accel_dev);
+extern const struct pci_error_handlers adf_err_handler;
+void adf_enable_aer(struct adf_accel_dev *accel_dev);
 void adf_disable_aer(struct adf_accel_dev *accel_dev);
 void adf_reset_sbr(struct adf_accel_dev *accel_dev);
 void adf_reset_flr(struct adf_accel_dev *accel_dev);
index 3976a81bd99b8b34fd2df8dc0a211063cdeaba1b..acca56752aa02dec61fcc901ace74edecdf63c32 100644 (file)
@@ -33,6 +33,7 @@ static struct pci_driver adf_driver = {
        .probe = adf_probe,
        .remove = adf_remove,
        .sriov_configure = adf_sriov_configure,
+       .err_handler = &adf_err_handler,
 };
 
 static void adf_cleanup_pci_dev(struct adf_accel_dev *accel_dev)
@@ -192,11 +193,7 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        }
        pci_set_master(pdev);
 
-       if (adf_enable_aer(accel_dev)) {
-               dev_err(&pdev->dev, "Failed to enable aer\n");
-               ret = -EFAULT;
-               goto out_err_free_reg;
-       }
+       adf_enable_aer(accel_dev);
 
        if (pci_save_state(pdev)) {
                dev_err(&pdev->dev, "Failed to save pci state\n");