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)