mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
usb-musb: Take a DeviceState* in init function
Initialise usb-musb by passing it a DeviceState* and the offset of the IRQs in its gpio array, rather than a plain pointer to an irq array. This is simpler for callers and also allows us to pass in a valid parent to usb_bus_new(), so the USB bus actually appears in the qdev tree. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
9147b75288
commit
406c20754a
3 changed files with 8 additions and 12 deletions
|
@ -776,8 +776,6 @@ static void tusb6010_reset(DeviceState *dev)
|
|||
static int tusb6010_init(SysBusDevice *dev)
|
||||
{
|
||||
TUSBState *s = FROM_SYSBUS(TUSBState, dev);
|
||||
qemu_irq *musb_irqs;
|
||||
int i;
|
||||
s->otg_timer = qemu_new_timer_ns(vm_clock, tusb_otg_tick, s);
|
||||
s->pwr_timer = qemu_new_timer_ns(vm_clock, tusb_power_tick, s);
|
||||
memory_region_init_io(&s->iomem[1], &tusb_async_ops, s, "tusb-async",
|
||||
|
@ -786,11 +784,7 @@ static int tusb6010_init(SysBusDevice *dev)
|
|||
sysbus_init_mmio_region(dev, &s->iomem[1]);
|
||||
sysbus_init_irq(dev, &s->irq);
|
||||
qdev_init_gpio_in(&dev->qdev, tusb6010_irq, musb_irq_max + 1);
|
||||
musb_irqs = g_new0(qemu_irq, musb_irq_max);
|
||||
for (i = 0; i < musb_irq_max; i++) {
|
||||
musb_irqs[i] = qdev_get_gpio_in(&dev->qdev, i + 1);
|
||||
}
|
||||
s->musb = musb_init(musb_irqs);
|
||||
s->musb = musb_init(&dev->qdev, 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue