diff options
author | Don Zickus | 2015-06-04 15:22:41 +0200 |
---|---|---|
committer | Greg Kroah-Hartman | 2015-06-08 22:36:43 +0200 |
commit | d32517e392b90354f79f6c7a357f96c37b5fe4fd (patch) | |
tree | cce91d403b092d2d8f83d8b1a84abba17c4333be /drivers/staging/unisys/visorbus/visorbus_private.h | |
parent | staging: unisys: Do not use 0 as the default bus root device number (diff) | |
download | kernel-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.h | 34 |
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 */ |