Revision 3bdf5327 hw/arm/musicpal.c
b/hw/arm/musicpal.c | ||
---|---|---|
1436 | 1436 |
#define MP_KEY_BTN_VOLUME (1 << 6) |
1437 | 1437 |
#define MP_KEY_BTN_NAVIGATION (1 << 7) |
1438 | 1438 |
|
1439 |
#define TYPE_MUSICPAL_KEY "musicpal_key" |
|
1440 |
#define MUSICPAL_KEY(obj) \ |
|
1441 |
OBJECT_CHECK(musicpal_key_state, (obj), TYPE_MUSICPAL_KEY) |
|
1442 |
|
|
1439 | 1443 |
typedef struct musicpal_key_state { |
1440 |
SysBusDevice busdev; |
|
1444 |
/*< private >*/ |
|
1445 |
SysBusDevice parent_obj; |
|
1446 |
/*< public >*/ |
|
1447 |
|
|
1441 | 1448 |
MemoryRegion iomem; |
1442 | 1449 |
uint32_t kbd_extended; |
1443 | 1450 |
uint32_t pressed_keys; |
... | ... | |
1521 | 1528 |
s->kbd_extended = 0; |
1522 | 1529 |
} |
1523 | 1530 |
|
1524 |
static int musicpal_key_init(SysBusDevice *dev)
|
|
1531 |
static int musicpal_key_init(SysBusDevice *sbd)
|
|
1525 | 1532 |
{ |
1526 |
musicpal_key_state *s = FROM_SYSBUS(musicpal_key_state, dev); |
|
1533 |
DeviceState *dev = DEVICE(sbd); |
|
1534 |
musicpal_key_state *s = MUSICPAL_KEY(dev); |
|
1527 | 1535 |
|
1528 | 1536 |
memory_region_init(&s->iomem, OBJECT(s), "dummy", 0); |
1529 |
sysbus_init_mmio(dev, &s->iomem);
|
|
1537 |
sysbus_init_mmio(sbd, &s->iomem);
|
|
1530 | 1538 |
|
1531 | 1539 |
s->kbd_extended = 0; |
1532 | 1540 |
s->pressed_keys = 0; |
1533 | 1541 |
|
1534 |
qdev_init_gpio_out(&dev->qdev, s->out, ARRAY_SIZE(s->out));
|
|
1542 |
qdev_init_gpio_out(dev, s->out, ARRAY_SIZE(s->out)); |
|
1535 | 1543 |
|
1536 | 1544 |
qemu_add_kbd_event_handler(musicpal_key_event, s); |
1537 | 1545 |
|
... | ... | |
1560 | 1568 |
} |
1561 | 1569 |
|
1562 | 1570 |
static const TypeInfo musicpal_key_info = { |
1563 |
.name = "musicpal_key",
|
|
1571 |
.name = TYPE_MUSICPAL_KEY,
|
|
1564 | 1572 |
.parent = TYPE_SYS_BUS_DEVICE, |
1565 | 1573 |
.instance_size = sizeof(musicpal_key_state), |
1566 | 1574 |
.class_init = musicpal_key_class_init, |
... | ... | |
1684 | 1692 |
i2c = (i2c_bus *)qdev_get_child_bus(i2c_dev, "i2c"); |
1685 | 1693 |
|
1686 | 1694 |
lcd_dev = sysbus_create_simple(TYPE_MUSICPAL_LCD, MP_LCD_BASE, NULL); |
1687 |
key_dev = sysbus_create_simple("musicpal_key", -1, NULL);
|
|
1695 |
key_dev = sysbus_create_simple(TYPE_MUSICPAL_KEY, -1, NULL);
|
|
1688 | 1696 |
|
1689 | 1697 |
/* I2C read data */ |
1690 | 1698 |
qdev_connect_gpio_out(i2c_dev, 0, |
Also available in: Unified diff