staging: gasket: apex: enable/disable gasket device from apex
authorTodd Poynor <toddpoynor@google.com>
Sun, 5 Aug 2018 20:07:42 +0000 (13:07 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Aug 2018 09:20:07 +0000 (11:20 +0200)
Gasket framework now places device drivers in charge of calling APIs to
enable and disable gasket device operations.  Make the appropriate calls
from the apex driver.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/gasket/apex_driver.c

index e2bc06b..1d8a100 100644 (file)
@@ -643,11 +643,23 @@ static int apex_pci_probe(struct pci_dev *pci_dev,
                return ret;
        }
 
+       pci_set_drvdata(pci_dev, gasket_dev);
+       ret = gasket_enable_device(gasket_dev);
+       if (ret) {
+               dev_err(&pci_dev->dev, "error enabling gasket device\n");
+               gasket_pci_remove_device(pci_dev);
+               pci_disable_device(pci_dev);
+               return ret;
+       }
+
        return 0;
 }
 
 static void apex_pci_remove(struct pci_dev *pci_dev)
 {
+       struct gasket_dev *gasket_dev = pci_get_drvdata(pci_dev);
+
+       gasket_disable_device(gasket_dev);
        gasket_pci_remove_device(pci_dev);
        pci_disable_device(pci_dev);
 }