Revision 1431b6a1 hw/sysbus.c

b/hw/sysbus.c
21 21
#include "sysbus.h"
22 22
#include "sysemu.h"
23 23

  
24
typedef struct {
25
    DeviceInfo qdev;
26
    sysbus_initfn init;
27
} SysBusDeviceInfo;
28

  
29 24
void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq irq)
30 25
{
31 26
    assert(n >= 0 && n < dev->num_irq);
......
109 104
    info->init(sysbus_from_qdev(dev));
110 105
}
111 106

  
112
void sysbus_register_dev(const char *name, size_t size, sysbus_initfn init)
107
void sysbus_register_withprop(const char *name, size_t size,
108
                              SysBusDeviceInfo *info)
113 109
{
114
    SysBusDeviceInfo *info;
115

  
116
    info = qemu_mallocz(sizeof(*info));
117
    info->init = init;
118 110
    info->qdev.init = sysbus_device_init;
119 111
    info->qdev.bus_type = BUS_TYPE_SYSTEM;
120 112

  
......
122 114
    qdev_register(name, size, &info->qdev);
123 115
}
124 116

  
117
void sysbus_register_dev(const char *name, size_t size, sysbus_initfn init)
118
{
119
    SysBusDeviceInfo *info;
120

  
121
    info = qemu_mallocz(sizeof(*info));
122
    info->init = init;
123
    sysbus_register_withprop(name, size, info);
124
}
125

  
125 126
DeviceState *sysbus_create_varargs(const char *name,
126 127
                                   target_phys_addr_t addr, ...)
127 128
{

Also available in: Unified diff