Revision 1d300b5f hw/gpio/omap_gpio.c

b/hw/gpio/omap_gpio.c
35 35
    uint16_t pins;
36 36
};
37 37

  
38
#define TYPE_OMAP1_GPIO "omap-gpio"
39
#define OMAP1_GPIO(obj) \
40
    OBJECT_CHECK(struct omap_gpif_s, (obj), TYPE_OMAP1_GPIO)
41

  
38 42
struct omap_gpif_s {
39
    SysBusDevice busdev;
43
    SysBusDevice parent_obj;
44

  
40 45
    MemoryRegion iomem;
41 46
    int mpu_model;
42 47
    void *clk;
......
587 592

  
588 593
static void omap_gpif_reset(DeviceState *dev)
589 594
{
590
    struct omap_gpif_s *s = FROM_SYSBUS(struct omap_gpif_s,
591
                    SYS_BUS_DEVICE(dev));
595
    struct omap_gpif_s *s = OMAP1_GPIO(dev);
596

  
592 597
    omap_gpio_reset(&s->omap1);
593 598
}
594 599

  
......
668 673
    .endianness = DEVICE_NATIVE_ENDIAN,
669 674
};
670 675

  
671
static int omap_gpio_init(SysBusDevice *dev)
676
static int omap_gpio_init(SysBusDevice *sbd)
672 677
{
673
    struct omap_gpif_s *s = FROM_SYSBUS(struct omap_gpif_s, dev);
678
    DeviceState *dev = DEVICE(sbd);
679
    struct omap_gpif_s *s = OMAP1_GPIO(dev);
680

  
674 681
    if (!s->clk) {
675 682
        hw_error("omap-gpio: clk not connected\n");
676 683
    }
677
    qdev_init_gpio_in(&dev->qdev, omap_gpio_set, 16);
678
    qdev_init_gpio_out(&dev->qdev, s->omap1.handler, 16);
679
    sysbus_init_irq(dev, &s->omap1.irq);
684
    qdev_init_gpio_in(dev, omap_gpio_set, 16);
685
    qdev_init_gpio_out(dev, s->omap1.handler, 16);
686
    sysbus_init_irq(sbd, &s->omap1.irq);
680 687
    memory_region_init_io(&s->iomem, OBJECT(s), &omap_gpio_ops, &s->omap1,
681 688
                          "omap.gpio", 0x1000);
682
    sysbus_init_mmio(dev, &s->iomem);
689
    sysbus_init_mmio(sbd, &s->iomem);
683 690
    return 0;
684 691
}
685 692

  
......
748 755
}
749 756

  
750 757
static const TypeInfo omap_gpio_info = {
751
    .name          = "omap-gpio",
758
    .name          = TYPE_OMAP1_GPIO,
752 759
    .parent        = TYPE_SYS_BUS_DEVICE,
753 760
    .instance_size = sizeof(struct omap_gpif_s),
754 761
    .class_init    = omap_gpio_class_init,

Also available in: Unified diff