summaryrefslogtreecommitdiffstats
path: root/drivers/staging/unisys/visorbus/visorbus_private.h
diff options
context:
space:
mode:
authorDon Zickus2015-06-04 15:22:41 +0200
committerGreg Kroah-Hartman2015-06-08 22:36:43 +0200
commitd32517e392b90354f79f6c7a357f96c37b5fe4fd (patch)
treecce91d403b092d2d8f83d8b1a84abba17c4333be /drivers/staging/unisys/visorbus/visorbus_private.h
parentstaging: unisys: Do not use 0 as the default bus root device number (diff)
downloadkernel-qcow2-linux-d32517e392b90354f79f6c7a357f96c37b5fe4fd.tar.gz
kernel-qcow2-linux-d32517e392b90354f79f6c7a357f96c37b5fe4fd.tar.xz
kernel-qcow2-linux-d32517e392b90354f79f6c7a357f96c37b5fe4fd.zip
staging: unisys: Convert bus creation to use visor_device
This patch removes the legacy bus_info struct and instead creates and passes around a traditional struct device. This allows us to remove a lot of the various look up code and removes the doubt if the struct exists or not. Half of the churn is just the conversion of visorchipset_bus_info to visor_device. Various cleanups include re-arranging the failure paths to make more sense. Signed-off-by: Don Zickus <dzickus@redhat.com> Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/unisys/visorbus/visorbus_private.h')
-rw-r--r--drivers/staging/unisys/visorbus/visorbus_private.h34
1 files changed, 6 insertions, 28 deletions
diff --git a/drivers/staging/unisys/visorbus/visorbus_private.h b/drivers/staging/unisys/visorbus/visorbus_private.h
index af71809828dd..6fd55af8926c 100644
--- a/drivers/staging/unisys/visorbus/visorbus_private.h
+++ b/drivers/staging/unisys/visorbus/visorbus_private.h
@@ -49,35 +49,13 @@ struct visorchipset_device_info {
void *bus_driver_context;
};
-/** Attributes for a particular Supervisor bus.
- * (For a service partition acting as the server for buses/devices, there
- * is a 1-to-1 relationship between busses and guest partitions.)
- * Any visorchipset client can query these attributes using
- * visorchipset_get_client_bus_info() or visorchipset_get_bus_info().
- */
-struct visorchipset_bus_info {
- struct list_head entry;
- u32 bus_no;
- struct visorchipset_state state;
- struct visorchannel *visorchannel;
- uuid_le partition_uuid;
- u64 partition_handle;
- u8 *name; /* UTF8 */
- u8 *description; /* UTF8 */
- u64 reserved1;
- u32 reserved2;
- struct controlvm_message_header *pending_msg_hdr;/* CONTROLVM MsgHdr */
- /** For private use by the bus driver */
- void *bus_driver_context;
-};
-
/* These functions will be called from within visorchipset when certain
* events happen. (The implementation of these functions is outside of
* visorchipset.)
*/
struct visorchipset_busdev_notifiers {
- void (*bus_create)(struct visorchipset_bus_info *bus_info);
- void (*bus_destroy)(struct visorchipset_bus_info *bus_info);
+ void (*bus_create)(struct visor_device *bus_info);
+ void (*bus_destroy)(struct visor_device *bus_info);
void (*device_create)(struct visorchipset_device_info *bus_info);
void (*device_destroy)(struct visorchipset_device_info *bus_info);
void (*device_pause)(struct visorchipset_device_info *bus_info);
@@ -91,8 +69,8 @@ struct visorchipset_busdev_notifiers {
* -1 = it failed
*/
struct visorchipset_busdev_responders {
- void (*bus_create)(struct visorchipset_bus_info *p, int response);
- void (*bus_destroy)(struct visorchipset_bus_info *p, int response);
+ void (*bus_create)(struct visor_device *p, int response);
+ void (*bus_destroy)(struct visor_device *p, int response);
void (*device_create)(struct visorchipset_device_info *p, int response);
void (*device_destroy)(struct visorchipset_device_info *p,
int response);
@@ -112,10 +90,10 @@ visorchipset_register_busdev(
struct ultra_vbus_deviceinfo *driver_info);
bool visorchipset_get_bus_info(u32 bus_no,
- struct visorchipset_bus_info *bus_info);
+ struct visor_device *bus_info);
bool visorchipset_get_device_info(u32 bus_no, u32 dev_no,
struct visorchipset_device_info *dev_info);
-bool visorchipset_set_bus_context(struct visorchipset_bus_info *bus_info,
+bool visorchipset_set_bus_context(struct visor_device *bus_info,
void *context);
/* visorbus init and exit functions */