[PATCH 12/16] staging: gasket: core: factor out generic device remove code from PCI

2018-08-09 Thread Todd Poynor
From: Todd Poynor 

Separate code for generic parts of gasket device removal sequence from
the PCI device removal code, in prep for non-PCI devices later.

Signed-off-by: Todd Poynor 
---
 drivers/staging/gasket/gasket_core.c | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/gasket/gasket_core.c 
b/drivers/staging/gasket/gasket_core.c
index ce8ae226f82d9..5e048f6e16e12 100644
--- a/drivers/staging/gasket/gasket_core.c
+++ b/drivers/staging/gasket/gasket_core.c
@@ -1461,6 +1461,14 @@ static int __gasket_add_device(struct device *parent_dev,
return ret;
 }
 
+static void __gasket_remove_device(struct gasket_internal_desc *internal_desc,
+  struct gasket_dev *gasket_dev)
+{
+   gasket_sysfs_remove_mapping(gasket_dev->dev_info.device);
+   device_destroy(internal_desc->class, gasket_dev->dev_info.devt);
+   gasket_free_dev(gasket_dev);
+}
+
 /*
  * Add PCI gasket device.
  *
@@ -1515,9 +1523,7 @@ int gasket_pci_add_device(struct pci_dev *pci_dev,
 
 cleanup_pci:
gasket_cleanup_pci(gasket_dev);
-   gasket_sysfs_remove_mapping(gasket_dev->dev_info.device);
-   device_destroy(internal_desc->class, gasket_dev->dev_info.devt);
-   gasket_free_dev(gasket_dev);
+   __gasket_remove_device(internal_desc, gasket_dev);
return ret;
 }
 EXPORT_SYMBOL(gasket_pci_add_device);
@@ -1528,7 +1534,6 @@ void gasket_pci_remove_device(struct pci_dev *pci_dev)
int i;
struct gasket_internal_desc *internal_desc;
struct gasket_dev *gasket_dev = NULL;
-   const struct gasket_driver_desc *driver_desc;
/* Find the device desc. */
mutex_lock(_mutex);
internal_desc = lookup_internal_desc(pci_dev);
@@ -1538,8 +1543,6 @@ void gasket_pci_remove_device(struct pci_dev *pci_dev)
}
mutex_unlock(_mutex);
 
-   driver_desc = internal_desc->driver_desc;
-
/* Now find the specific device */
mutex_lock(_desc->mutex);
for (i = 0; i < GASKET_DEV_MAX; i++) {
@@ -1558,10 +1561,7 @@ void gasket_pci_remove_device(struct pci_dev *pci_dev)
internal_desc->driver_desc->name);
 
gasket_cleanup_pci(gasket_dev);
-
-   gasket_sysfs_remove_mapping(gasket_dev->dev_info.device);
-   device_destroy(internal_desc->class, gasket_dev->dev_info.devt);
-   gasket_free_dev(gasket_dev);
+   __gasket_remove_device(internal_desc, gasket_dev);
 }
 EXPORT_SYMBOL(gasket_pci_remove_device);
 
-- 
2.18.0.597.ga71716f1ad-goog



[PATCH 12/16] staging: gasket: core: factor out generic device remove code from PCI

2018-08-09 Thread Todd Poynor
From: Todd Poynor 

Separate code for generic parts of gasket device removal sequence from
the PCI device removal code, in prep for non-PCI devices later.

Signed-off-by: Todd Poynor 
---
 drivers/staging/gasket/gasket_core.c | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/gasket/gasket_core.c 
b/drivers/staging/gasket/gasket_core.c
index ce8ae226f82d9..5e048f6e16e12 100644
--- a/drivers/staging/gasket/gasket_core.c
+++ b/drivers/staging/gasket/gasket_core.c
@@ -1461,6 +1461,14 @@ static int __gasket_add_device(struct device *parent_dev,
return ret;
 }
 
+static void __gasket_remove_device(struct gasket_internal_desc *internal_desc,
+  struct gasket_dev *gasket_dev)
+{
+   gasket_sysfs_remove_mapping(gasket_dev->dev_info.device);
+   device_destroy(internal_desc->class, gasket_dev->dev_info.devt);
+   gasket_free_dev(gasket_dev);
+}
+
 /*
  * Add PCI gasket device.
  *
@@ -1515,9 +1523,7 @@ int gasket_pci_add_device(struct pci_dev *pci_dev,
 
 cleanup_pci:
gasket_cleanup_pci(gasket_dev);
-   gasket_sysfs_remove_mapping(gasket_dev->dev_info.device);
-   device_destroy(internal_desc->class, gasket_dev->dev_info.devt);
-   gasket_free_dev(gasket_dev);
+   __gasket_remove_device(internal_desc, gasket_dev);
return ret;
 }
 EXPORT_SYMBOL(gasket_pci_add_device);
@@ -1528,7 +1534,6 @@ void gasket_pci_remove_device(struct pci_dev *pci_dev)
int i;
struct gasket_internal_desc *internal_desc;
struct gasket_dev *gasket_dev = NULL;
-   const struct gasket_driver_desc *driver_desc;
/* Find the device desc. */
mutex_lock(_mutex);
internal_desc = lookup_internal_desc(pci_dev);
@@ -1538,8 +1543,6 @@ void gasket_pci_remove_device(struct pci_dev *pci_dev)
}
mutex_unlock(_mutex);
 
-   driver_desc = internal_desc->driver_desc;
-
/* Now find the specific device */
mutex_lock(_desc->mutex);
for (i = 0; i < GASKET_DEV_MAX; i++) {
@@ -1558,10 +1561,7 @@ void gasket_pci_remove_device(struct pci_dev *pci_dev)
internal_desc->driver_desc->name);
 
gasket_cleanup_pci(gasket_dev);
-
-   gasket_sysfs_remove_mapping(gasket_dev->dev_info.device);
-   device_destroy(internal_desc->class, gasket_dev->dev_info.devt);
-   gasket_free_dev(gasket_dev);
+   __gasket_remove_device(internal_desc, gasket_dev);
 }
 EXPORT_SYMBOL(gasket_pci_remove_device);
 
-- 
2.18.0.597.ga71716f1ad-goog