The function visorchipset_bus_create just called visorbus_create_instance,
we should just combine it with visorbus_create_instance.

Reviewed-by: Sameer Wadgaonkar <sameer.wadgaon...@unisys.com>
Signed-off-by: David Kershner <david.kersh...@unisys.com>
Reviewed-by: Tim Sell <timothy.s...@unisys.com>
---
 drivers/staging/unisys/visorbus/visorbus_main.c    | 19 +++------------
 drivers/staging/unisys/visorbus/visorbus_private.h |  3 +--
 drivers/staging/unisys/visorbus/visorchipset.c     |  5 +---
 3 files changed, 7 insertions(+), 20 deletions(-)

diff --git a/drivers/staging/unisys/visorbus/visorbus_main.c 
b/drivers/staging/unisys/visorbus/visorbus_main.c
index 79a394d..2c89f15 100644
--- a/drivers/staging/unisys/visorbus/visorbus_main.c
+++ b/drivers/staging/unisys/visorbus/visorbus_main.c
@@ -1032,7 +1032,7 @@ EXPORT_SYMBOL_GPL(visorbus_register_visor_driver);
  * Return: 0 for success, otherwise negative errno value indicating reason for
  *         failure
  */
-static int visorbus_create_instance(struct visor_device *dev)
+int visorbus_create_instance(struct visor_device *dev)
 {
        int id = dev->chipset_bus_no;
        int err;
@@ -1065,12 +1065,15 @@ static int visorbus_create_instance(struct visor_device 
*dev)
 
        list_add_tail(&dev->list_all, &list_all_bus_instances);
 
+       dev->state.created = 1;
        dev->vbus_hdr_info = (void *)hdr_info;
        write_vbus_chp_info(dev->visorchannel, hdr_info,
                            &chipset_driverinfo);
        write_vbus_bus_info(dev->visorchannel, hdr_info,
                            &clientbus_driverinfo);
 
+       visorbus_response(dev, err, CONTROLVM_BUS_CREATE);
+
        return 0;
 
 err_debugfs_dir:
@@ -1115,20 +1118,6 @@ static void remove_all_visor_devices(void)
        }
 }
 
-int visorchipset_bus_create(struct visor_device *dev)
-{
-       int err;
-
-       err = visorbus_create_instance(dev);
-       if (err < 0)
-               return err;
-
-       visorbus_response(dev, err, CONTROLVM_BUS_CREATE);
-       dev->state.created = 1;
-
-       return 0;
-}
-
 void visorchipset_bus_destroy(struct visor_device *dev)
 {
        visorbus_remove_instance(dev);
diff --git a/drivers/staging/unisys/visorbus/visorbus_private.h 
b/drivers/staging/unisys/visorbus/visorbus_private.h
index 64b373c..bb91a6c 100644
--- a/drivers/staging/unisys/visorbus/visorbus_private.h
+++ b/drivers/staging/unisys/visorbus/visorbus_private.h
@@ -23,7 +23,7 @@
 #include "vbuschannel.h"
 #include "visorbus.h"
 
-int visorchipset_bus_create(struct visor_device *bus_info);
+int visorbus_create_instance(struct visor_device *dev);
 void visorchipset_bus_destroy(struct visor_device *bus_info);
 int visorchipset_device_create(struct visor_device *dev_info);
 void visorchipset_device_destroy(struct visor_device *dev_info);
@@ -38,7 +38,6 @@ int visorbus_init(void);
 void visorbus_exit(void);
 
 /* visorchannel access functions */
-
 struct visorchannel *visorchannel_create(u64 physaddr,
                                         unsigned long channel_bytes,
                                         gfp_t gfp, uuid_le guid);
diff --git a/drivers/staging/unisys/visorbus/visorchipset.c 
b/drivers/staging/unisys/visorbus/visorchipset.c
index 6d8d6b2..72131ce 100644
--- a/drivers/staging/unisys/visorbus/visorchipset.c
+++ b/drivers/staging/unisys/visorbus/visorchipset.c
@@ -642,9 +642,8 @@ static int visorbus_create(struct controlvm_message *inmsg)
 
        bus_info->visorchannel = visorchannel;
 
-       /* Response will be handled by visorchipset_bus_create */
-       err = visorchipset_bus_create(bus_info);
-       /* If visorchipset_bus_create didn't respond, need to respond here */
+       /* Response will be handled by visorbus_create_instance on success */
+       err = visorbus_create_instance(bus_info);
        if (err)
                goto err_destroy_channel;
 
-- 
git-series 0.9.1
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to