@samitouri / QOSamiQemu / commits / 4bf949e880

hw/gpio/aspeed_gpio: Convert to DEFINE_TYPES() with inlined TypeInfo

Replace the legacy type_register_static()/type_init() registration pattern with the modern DEFINE_TYPES() macro. Inline 7 standalone TypeInfo variables (aspeed_gpio_info as abstract base, aspeed_2400_gpio_info, aspeed_2500_gpio_info, aspeed_2600_1_8v_gpio_info, aspeed_2600_3_3v_gpio_info, aspeed_1030_gpio_info, aspeed_2700_gpio_info) directly into the 'aspeed_gpio_types[]' array, removing the need for separate declarations. No functional change. Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20260601024959.2347639-13-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>

Jamin Lin committed Jun 1, 2026 at 02:50 UTC 4bf949e880bf897a90482cb8993c19ad04430cba
1 file changed +46 -61
hw/gpio/aspeed_gpio.c
+46 -61
@@ -1620,66 +1620,51 @@ static void aspeed_gpio_2700_class_init(ObjectClass *klass, const void *data)
1620 agc->reg_ops = &aspeed_gpio_2700_ops;
1621 }
1622
1623 -static const TypeInfo aspeed_gpio_info = {
1624 - .name = TYPE_ASPEED_GPIO,
1625 - .parent = TYPE_SYS_BUS_DEVICE,
1626 - .instance_size = sizeof(AspeedGPIOState),
1627 - .class_size = sizeof(AspeedGPIOClass),
1628 - .class_init = aspeed_gpio_class_init,
1629 - .abstract = true,
1630 -};
1631 -
1632 -static const TypeInfo aspeed_gpio_ast2400_info = {
1633 - .name = TYPE_ASPEED_GPIO "-ast2400",
1634 - .parent = TYPE_ASPEED_GPIO,
1635 - .class_init = aspeed_gpio_ast2400_class_init,
1636 - .instance_init = aspeed_gpio_init,
1637 -};
1638 -
1639 -static const TypeInfo aspeed_gpio_ast2500_info = {
1640 - .name = TYPE_ASPEED_GPIO "-ast2500",
1641 - .parent = TYPE_ASPEED_GPIO,
1642 - .class_init = aspeed_gpio_2500_class_init,
1643 - .instance_init = aspeed_gpio_init,
1644 -};
1645 -
1646 -static const TypeInfo aspeed_gpio_ast2600_3_3v_info = {
1647 - .name = TYPE_ASPEED_GPIO "-ast2600",
1648 - .parent = TYPE_ASPEED_GPIO,
1649 - .class_init = aspeed_gpio_ast2600_3_3v_class_init,
1650 - .instance_init = aspeed_gpio_init,
1651 -};
1652 -
1653 -static const TypeInfo aspeed_gpio_ast2600_1_8v_info = {
1654 - .name = TYPE_ASPEED_GPIO "-ast2600-1_8v",
1655 - .parent = TYPE_ASPEED_GPIO,
1656 - .class_init = aspeed_gpio_ast2600_1_8v_class_init,
1657 - .instance_init = aspeed_gpio_init,
1658 -};
1659 -
1660 -static const TypeInfo aspeed_gpio_ast1030_info = {
1661 - .name = TYPE_ASPEED_GPIO "-ast1030",
1662 - .parent = TYPE_ASPEED_GPIO,
1663 - .class_init = aspeed_gpio_1030_class_init,
1664 - .instance_init = aspeed_gpio_init,
1665 -};
1666 -
1667 -static const TypeInfo aspeed_gpio_ast2700_info = {
1668 - .name = TYPE_ASPEED_GPIO "-ast2700",
1669 - .parent = TYPE_ASPEED_GPIO,
1670 - .class_init = aspeed_gpio_2700_class_init,
1671 - .instance_init = aspeed_gpio_init,
1623 +static const TypeInfo aspeed_gpio_types[] = {
1624 + {
1625 + .name = TYPE_ASPEED_GPIO,
1626 + .parent = TYPE_SYS_BUS_DEVICE,
1627 + .instance_size = sizeof(AspeedGPIOState),
1628 + .class_size = sizeof(AspeedGPIOClass),
1629 + .class_init = aspeed_gpio_class_init,
1630 + .abstract = true,
1631 + },
1632 + {
1633 + .name = TYPE_ASPEED_GPIO "-ast1030",
1634 + .parent = TYPE_ASPEED_GPIO,
1635 + .class_init = aspeed_gpio_1030_class_init,
1636 + .instance_init = aspeed_gpio_init,
1637 + },
1638 + {
1639 + .name = TYPE_ASPEED_GPIO "-ast2400",
1640 + .parent = TYPE_ASPEED_GPIO,
1641 + .class_init = aspeed_gpio_ast2400_class_init,
1642 + .instance_init = aspeed_gpio_init,
1643 + },
1644 + {
1645 + .name = TYPE_ASPEED_GPIO "-ast2500",
1646 + .parent = TYPE_ASPEED_GPIO,
1647 + .class_init = aspeed_gpio_2500_class_init,
1648 + .instance_init = aspeed_gpio_init,
1649 + },
1650 + {
1651 + .name = TYPE_ASPEED_GPIO "-ast2600",
1652 + .parent = TYPE_ASPEED_GPIO,
1653 + .class_init = aspeed_gpio_ast2600_3_3v_class_init,
1654 + .instance_init = aspeed_gpio_init,
1655 + },
1656 + {
1657 + .name = TYPE_ASPEED_GPIO "-ast2600-1_8v",
1658 + .parent = TYPE_ASPEED_GPIO,
1659 + .class_init = aspeed_gpio_ast2600_1_8v_class_init,
1660 + .instance_init = aspeed_gpio_init,
1661 + },
1662 + {
1663 + .name = TYPE_ASPEED_GPIO "-ast2700",
1664 + .parent = TYPE_ASPEED_GPIO,
1665 + .class_init = aspeed_gpio_2700_class_init,
1666 + .instance_init = aspeed_gpio_init,
1667 + }
1668 };
1669
1674 -static void aspeed_gpio_register_types(void)
1675 -{
1676 - type_register_static(&aspeed_gpio_info);
1677 - type_register_static(&aspeed_gpio_ast2400_info);
1678 - type_register_static(&aspeed_gpio_ast2500_info);
1679 - type_register_static(&aspeed_gpio_ast2600_3_3v_info);
1680 - type_register_static(&aspeed_gpio_ast2600_1_8v_info);
1681 - type_register_static(&aspeed_gpio_ast1030_info);
1682 - type_register_static(&aspeed_gpio_ast2700_info);
1683 -}
1684 -
1685 -type_init(aspeed_gpio_register_types);
1670 +DEFINE_TYPES(aspeed_gpio_types)