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