From: Todd Poynor <toddpoy...@google.com>

Gasket device drivers are now in charge of orchestrating the device add
and removal sequences, so the callbacks from the framework to the device
drivers for these events are no longer needed.

Signed-off-by: Todd Poynor <toddpoy...@google.com>
---
 drivers/staging/gasket/gasket_core.c | 10 ----------
 drivers/staging/gasket/gasket_core.h | 29 ----------------------------
 2 files changed, 39 deletions(-)

diff --git a/drivers/staging/gasket/gasket_core.c 
b/drivers/staging/gasket/gasket_core.c
index fad4883e6332c..0d76e18fcde5b 100644
--- a/drivers/staging/gasket/gasket_core.c
+++ b/drivers/staging/gasket/gasket_core.c
@@ -1468,12 +1468,6 @@ int gasket_pci_add_device(struct pci_dev *pci_dev,
        if (ret)
                goto fail2;
 
-       ret = check_and_invoke_callback(gasket_dev, driver_desc->add_dev_cb);
-       if (ret) {
-               dev_err(gasket_dev->dev, "Error in add device cb: %d\n", ret);
-               goto fail2;
-       }
-
        ret = gasket_sysfs_create_mapping(gasket_dev->dev_info.device,
                                          gasket_dev);
        if (ret)
@@ -1512,7 +1506,6 @@ int gasket_pci_add_device(struct pci_dev *pci_dev,
        gasket_sysfs_remove_mapping(gasket_dev->dev_info.device);
 fail2:
        gasket_cleanup_pci(gasket_dev);
-       check_and_invoke_callback(gasket_dev, driver_desc->remove_dev_cb);
        device_destroy(internal_desc->class, gasket_dev->dev_info.devt);
 fail1:
        gasket_free_dev(gasket_dev);
@@ -1559,9 +1552,6 @@ void gasket_pci_remove_device(struct pci_dev *pci_dev)
 
        check_and_invoke_callback(gasket_dev, driver_desc->sysfs_cleanup_cb);
        gasket_sysfs_remove_mapping(gasket_dev->dev_info.device);
-
-       check_and_invoke_callback(gasket_dev, driver_desc->remove_dev_cb);
-
        device_destroy(internal_desc->class, gasket_dev->dev_info.devt);
        gasket_free_dev(gasket_dev);
 }
diff --git a/drivers/staging/gasket/gasket_core.h 
b/drivers/staging/gasket/gasket_core.h
index 9c143ebeba452..0ef0a2640f0fe 100644
--- a/drivers/staging/gasket/gasket_core.h
+++ b/drivers/staging/gasket/gasket_core.h
@@ -302,12 +302,6 @@ struct gasket_dev {
        /* Hardware revision value for this device. */
        int hardware_revision;
 
-       /*
-        * Device-specific data; allocated in gasket_driver_desc.add_dev_cb()
-        * and freed in gasket_driver_desc.remove_dev_cb().
-        */
-       void *cb_data;
-
        /* Protects access to per-device data (i.e. this structure). */
        struct mutex mutex;
 
@@ -415,29 +409,6 @@ struct gasket_driver_desc {
        int interrupt_pack_width;
 
        /* Driver callback functions - all may be NULL */
-       /*
-        * add_dev_cb: Callback when a device is found.
-        * @dev: The gasket_dev struct for this driver instance.
-        *
-        * This callback should initialize the device-specific cb_data.
-        * Called when a device is found by the driver,
-        * before any BAR ranges have been mapped. If this call fails (returns
-        * nonzero), remove_dev_cb will be called.
-        *
-        */
-       int (*add_dev_cb)(struct gasket_dev *dev);
-
-       /*
-        * remove_dev_cb: Callback for when a device is removed from the system.
-        * @dev: The gasket_dev struct for this driver instance.
-        *
-        * This callback should free data allocated in add_dev_cb.
-        * Called immediately before a device is unregistered by the driver.
-        * All framework-managed resources will have been cleaned up by the time
-        * this callback is invoked (PCI BARs, character devices, ...).
-        */
-       int (*remove_dev_cb)(struct gasket_dev *dev);
-
        /*
         * device_open_cb: Callback for when a device node is opened in write
         * mode.
-- 
2.18.0.597.ga71716f1ad-goog

Reply via email to