115
static int lance_init(SysBusDevice *dev)
120
static int lance_init(SysBusDevice *sbd)
117
SysBusPCNetState *d = FROM_SYSBUS(SysBusPCNetState, dev);
122
DeviceState *dev = DEVICE(sbd);
123
SysBusPCNetState *d = SYSBUS_PCNET(dev);
118
124
PCNetState *s = &d->state;
120
memory_region_init_io(&s->mmio, &lance_mem_ops, d, "lance-mmio", 4);
122
qdev_init_gpio_in(&dev->qdev, parent_lance_reset, 1);
124
sysbus_init_mmio(dev, &s->mmio);
126
sysbus_init_irq(dev, &s->irq);
126
memory_region_init_io(&s->mmio, OBJECT(d), &lance_mem_ops, d,
129
qdev_init_gpio_in(dev, parent_lance_reset, 1);
131
sysbus_init_mmio(sbd, &s->mmio);
133
sysbus_init_irq(sbd, &s->irq);
128
135
s->phys_mem_read = ledma_memory_read;
129
136
s->phys_mem_write = ledma_memory_write;
130
return pcnet_common_init(&dev->qdev, s, &net_lance_info);
137
return pcnet_common_init(dev, s, &net_lance_info);
133
140
static void lance_reset(DeviceState *dev)
135
SysBusPCNetState *d = DO_UPCAST(SysBusPCNetState, busdev.qdev, dev);
142
SysBusPCNetState *d = SYSBUS_PCNET(dev);
137
144
pcnet_h_reset(&d->state);
149
156
SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
151
158
k->init = lance_init;
159
set_bit(DEVICE_CATEGORY_NETWORK, dc->categories);
152
160
dc->fw_name = "ethernet";
153
161
dc->reset = lance_reset;
154
162
dc->vmsd = &vmstate_lance;
158
166
static const TypeInfo lance_info = {
160
168
.parent = TYPE_SYS_BUS_DEVICE,
161
169
.instance_size = sizeof(SysBusPCNetState),
162
170
.class_init = lance_class_init,