diff --git a/drivers/staging/unisys/include/visorbus.h b/drivers/staging/unisys/include/visorbus.h index 6c551df1adc0..14f6f8e9426d 100644 --- a/drivers/staging/unisys/include/visorbus.h +++ b/drivers/staging/unisys/include/visorbus.h @@ -40,9 +40,18 @@ struct visor_driver; struct visor_device; +extern struct bus_type visorbus_type; typedef void (*visorbus_state_complete_func) (struct visor_device *dev, int status); +struct visorchipset_state { + u32 created:1; + u32 attached:1; + u32 configured:1; + u32 running:1; + /* Add new fields above. */ + /* Remaining bits in this 32-bit word are unused. */ +}; /** This struct describes a specific Supervisor channel, by providing its * GUID, name, and sizes. @@ -141,6 +150,16 @@ struct visor_device { bool resuming; unsigned long chipset_bus_no; unsigned long chipset_dev_no; + struct visorchipset_state state; + uuid_le type; + uuid_le inst; + u8 *name; + u8 *description; + struct controlvm_message_header *pending_msg_hdr; + void *vbus_hdr_info; + u32 switch_no; + u32 internal_port_no; + uuid_le partition_uuid; }; #define to_visor_device(x) container_of(x, struct visor_device, device) diff --git a/drivers/staging/unisys/visorbus/visorbus_main.c b/drivers/staging/unisys/visorbus/visorbus_main.c index c654c67b782f..7dddb072a29e 100644 --- a/drivers/staging/unisys/visorbus/visorbus_main.c +++ b/drivers/staging/unisys/visorbus/visorbus_main.c @@ -88,7 +88,7 @@ const struct attribute_group *visorbus_bus_groups[] = { /** This describes the TYPE of bus. * (Don't confuse this with an INSTANCE of the bus.) */ -static struct bus_type visorbus_type = { +struct bus_type visorbus_type = { .name = "visorbus", .match = visorbus_match, .uevent = visorbus_uevent, diff --git a/drivers/staging/unisys/visorbus/visorbus_private.h b/drivers/staging/unisys/visorbus/visorbus_private.h index 8326e4da56c1..bbc64bd88e0a 100644 --- a/drivers/staging/unisys/visorbus/visorbus_private.h +++ b/drivers/staging/unisys/visorbus/visorbus_private.h @@ -27,15 +27,6 @@ struct visorchannel; -struct visorchipset_state { - u32 created:1; - u32 attached:1; - u32 configured:1; - u32 running:1; - /* Add new fields above. */ - /* Remaining bits in this 32-bit word are unused. */ -}; - enum visorchipset_addresstype { /** address is guest physical, but outside of the physical memory * region that is controlled by the running OS (this is the normal diff --git a/drivers/staging/unisys/visorbus/visorchannel.c b/drivers/staging/unisys/visorbus/visorchannel.c index 2d3e4d6defea..a9c3ae160ce5 100644 --- a/drivers/staging/unisys/visorbus/visorchannel.c +++ b/drivers/staging/unisys/visorbus/visorchannel.c @@ -23,6 +23,7 @@ #include "version.h" #include "visorbus.h" #include +#include "controlvmchannel.h" #define MYDRVNAME "visorchannel" @@ -44,6 +45,9 @@ struct visorchannel { struct signal_queue_header event_queue; struct signal_queue_header ack_queue; } safe_uis_queue; + struct irq_info intr; + uuid_le type; + uuid_le inst; }; /* Creates the struct visorchannel abstraction for a data area in memory,