summaryrefslogtreecommitdiffstats
path: root/hw/qdev.h
diff options
context:
space:
mode:
authorGerd Hoffmann2009-06-30 14:12:09 +0200
committerPaul Brook2009-07-09 14:07:03 +0200
commit042f84d0af0e6c654d836f57ce916d7dec2b263d (patch)
treeb7595a3d02e7c474a11d361278629f7c60fe7e49 /hw/qdev.h
parentqdev: replace bus_type enum with bus_info struct. (diff)
downloadqemu-042f84d0af0e6c654d836f57ce916d7dec2b263d.tar.gz
qemu-042f84d0af0e6c654d836f57ce916d7dec2b263d.tar.xz
qemu-042f84d0af0e6c654d836f57ce916d7dec2b263d.zip
qdev: remove DeviceType
The only purpose DeviceType serves is creating a linked list of DeviceInfo structs. This removes DeviceType and add a next field to DeviceInfo instead, so the DeviceInfo structs can be changed that way. Elimitates a pointless extra level of indirection. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/qdev.h')
-rw-r--r--hw/qdev.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/hw/qdev.h b/hw/qdev.h
index 36def1e6bf..b18dbf91d6 100644
--- a/hw/qdev.h
+++ b/hw/qdev.h
@@ -4,7 +4,7 @@
#include "hw.h"
#include "sys-queue.h"
-typedef struct DeviceType DeviceType;
+typedef struct DeviceInfo DeviceInfo;
typedef struct DeviceProperty DeviceProperty;
@@ -15,7 +15,7 @@ typedef struct BusInfo BusInfo;
/* This structure should not be accessed directly. We declare it here
so that it can be embedded in individual device state structures. */
struct DeviceState {
- DeviceType *type;
+ DeviceInfo *info;
BusState *parent_bus;
DeviceProperty *props;
int num_gpio_out;
@@ -72,8 +72,6 @@ typedef struct {
DevicePropType type;
} DevicePropList;
-typedef struct DeviceInfo DeviceInfo;
-
typedef void (*qdev_initfn)(DeviceState *dev, DeviceInfo *info);
typedef void (*SCSIAttachFn)(DeviceState *host, BlockDriverState *bdrv,
int unit);
@@ -86,6 +84,7 @@ struct DeviceInfo {
/* Private to qdev / bus. */
qdev_initfn init;
BusInfo *bus_info;
+ struct DeviceInfo *next;
};
void qdev_register(DeviceInfo *info);