* visorbus_remove_instance() - remove a device instance for the visorbus itself
  * @dev: struct visor_device indentifying the bus to remove
  */
-static void visorbus_remove_instance(struct visor_device *dev)
+void visorbus_remove_instance(struct visor_device *dev)
 {
        /*
         * Note that this will result in the release method for
        kfree(dev->vbus_hdr_info);
        list_del(&dev->list_all);
        device_unregister(&dev->device);
+       visorbus_response(dev, 0, CONTROLVM_BUS_DESTROY);
 }
 
 /*
        }
 }
 
-void visorchipset_bus_destroy(struct visor_device *dev)
-{
-       visorbus_remove_instance(dev);
-       visorbus_response(dev, 0, CONTROLVM_BUS_DESTROY);
-}
-
 int visorchipset_device_create(struct visor_device *dev_info)
 {
        int err;
 
 #include "visorbus.h"
 
 int visorbus_create_instance(struct visor_device *dev);
-void visorchipset_bus_destroy(struct visor_device *bus_info);
+void visorbus_remove_instance(struct visor_device *bus_info);
 int visorchipset_device_create(struct visor_device *dev_info);
 void visorchipset_device_destroy(struct visor_device *dev_info);
 int visorchipset_device_pause(struct visor_device *dev_info);
 
                bus_info->pending_msg_hdr = pmsg_hdr;
        }
 
-       /* Response will be handled by visorchipset_bus_destroy */
-       visorchipset_bus_destroy(bus_info);
+       /* Response will be handled by visorbus_remove_instance */
+       visorbus_remove_instance(bus_info);
        return 0;
 
 err_respond: