staging: unisys: visorbus: Get rid of passthrough function visorchipset_bus_create
authorDavid Kershner <david.kershner@unisys.com>
Tue, 22 Aug 2017 17:27:24 +0000 (13:27 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 22 Aug 2017 22:12:52 +0000 (15:12 -0700)
The function visorchipset_bus_create just called visorbus_create_instance,
we should just combine it with visorbus_create_instance.

Reviewed-by: Sameer Wadgaonkar <sameer.wadgaonkar@unisys.com>
Signed-off-by: David Kershner <david.kershner@unisys.com>
Reviewed-by: Tim Sell <timothy.sell@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/unisys/visorbus/visorbus_main.c
drivers/staging/unisys/visorbus/visorbus_private.h
drivers/staging/unisys/visorbus/visorchipset.c

index 8e8abac..80a9c22 100644 (file)
@@ -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);
index 1895035..55ce5c7 100644 (file)
@@ -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, const guid_t *guid);
index 83fcf6f..7094d62 100644 (file)
@@ -644,9 +644,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;