@samitouri / QOSamiQemu / commits / 16382404d9

hw/misc/aspeed_hace: Convert to DEFINE_TYPES() with inlined TypeInfo

Replace the legacy type_register_static()/type_init() registration pattern with the modern DEFINE_TYPES() macro. Inline 6 standalone TypeInfo variables (aspeed_hace_info as abstract base, aspeed_2400_hace_info, aspeed_2500_hace_info, aspeed_2600_hace_info, aspeed_1030_hace_info, aspeed_2700_hace_info) directly into the 'aspeed_hace_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-2-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>

Jamin Lin committed Jun 1, 2026 at 02:50 UTC 16382404d91e347563cdc30907edec37c0770c3d
1 file changed +34 -47
hw/misc/aspeed_hace.c
+34 -47
@@ -696,14 +696,6 @@ static void aspeed_hace_class_init(ObjectClass *klass, const void *data)
696 dc->vmsd = &vmstate_aspeed_hace;
697 }
698
699 -static const TypeInfo aspeed_hace_info = {
700 - .name = TYPE_ASPEED_HACE,
701 - .parent = TYPE_SYS_BUS_DEVICE,
702 - .instance_size = sizeof(AspeedHACEState),
703 - .class_init = aspeed_hace_class_init,
704 - .class_size = sizeof(AspeedHACEClass)
705 -};
706 -
699 static void aspeed_ast2400_hace_class_init(ObjectClass *klass, const void *data)
700 {
701 DeviceClass *dc = DEVICE_CLASS(klass);
@@ -718,12 +710,6 @@ static void aspeed_ast2400_hace_class_init(ObjectClass *klass, const void *data)
710 ahc->hash_mask = 0x000003ff; /* No SG or SHA512 modes */
711 }
712
721 -static const TypeInfo aspeed_ast2400_hace_info = {
722 - .name = TYPE_ASPEED_AST2400_HACE,
723 - .parent = TYPE_ASPEED_HACE,
724 - .class_init = aspeed_ast2400_hace_class_init,
725 -};
726 -
713 static void aspeed_ast2500_hace_class_init(ObjectClass *klass, const void *data)
714 {
715 DeviceClass *dc = DEVICE_CLASS(klass);
@@ -738,12 +724,6 @@ static void aspeed_ast2500_hace_class_init(ObjectClass *klass, const void *data)
724 ahc->hash_mask = 0x000003ff; /* No SG or SHA512 modes */
725 }
726
741 -static const TypeInfo aspeed_ast2500_hace_info = {
742 - .name = TYPE_ASPEED_AST2500_HACE,
743 - .parent = TYPE_ASPEED_HACE,
744 - .class_init = aspeed_ast2500_hace_class_init,
745 -};
746 -
727 static void aspeed_ast2600_hace_class_init(ObjectClass *klass, const void *data)
728 {
729 DeviceClass *dc = DEVICE_CLASS(klass);
@@ -758,12 +738,6 @@ static void aspeed_ast2600_hace_class_init(ObjectClass *klass, const void *data)
738 ahc->hash_mask = 0x00147FFF;
739 }
740
761 -static const TypeInfo aspeed_ast2600_hace_info = {
762 - .name = TYPE_ASPEED_AST2600_HACE,
763 - .parent = TYPE_ASPEED_HACE,
764 - .class_init = aspeed_ast2600_hace_class_init,
765 -};
766 -
741 static void aspeed_ast1030_hace_class_init(ObjectClass *klass, const void *data)
742 {
743 DeviceClass *dc = DEVICE_CLASS(klass);
@@ -778,12 +752,6 @@ static void aspeed_ast1030_hace_class_init(ObjectClass *klass, const void *data)
752 ahc->hash_mask = 0x00147FFF;
753 }
754
781 -static const TypeInfo aspeed_ast1030_hace_info = {
782 - .name = TYPE_ASPEED_AST1030_HACE,
783 - .parent = TYPE_ASPEED_HACE,
784 - .class_init = aspeed_ast1030_hace_class_init,
785 -};
786 -
755 static void aspeed_ast2700_hace_class_init(ObjectClass *klass, const void *data)
756 {
757 DeviceClass *dc = DEVICE_CLASS(klass);
@@ -823,20 +791,39 @@ static void aspeed_ast2700_hace_class_init(ObjectClass *klass, const void *data)
791 ahc->has_dma64 = true;
792 }
793
826 -static const TypeInfo aspeed_ast2700_hace_info = {
827 - .name = TYPE_ASPEED_AST2700_HACE,
828 - .parent = TYPE_ASPEED_HACE,
829 - .class_init = aspeed_ast2700_hace_class_init,
794 +static const TypeInfo aspeed_hace_types[] = {
795 + {
796 + .name = TYPE_ASPEED_HACE,
797 + .parent = TYPE_SYS_BUS_DEVICE,
798 + .instance_size = sizeof(AspeedHACEState),
799 + .class_init = aspeed_hace_class_init,
800 + .class_size = sizeof(AspeedHACEClass),
801 + },
802 + {
803 + .name = TYPE_ASPEED_AST1030_HACE,
804 + .parent = TYPE_ASPEED_HACE,
805 + .class_init = aspeed_ast1030_hace_class_init,
806 + },
807 + {
808 + .name = TYPE_ASPEED_AST2400_HACE,
809 + .parent = TYPE_ASPEED_HACE,
810 + .class_init = aspeed_ast2400_hace_class_init,
811 + },
812 + {
813 + .name = TYPE_ASPEED_AST2500_HACE,
814 + .parent = TYPE_ASPEED_HACE,
815 + .class_init = aspeed_ast2500_hace_class_init,
816 + },
817 + {
818 + .name = TYPE_ASPEED_AST2600_HACE,
819 + .parent = TYPE_ASPEED_HACE,
820 + .class_init = aspeed_ast2600_hace_class_init,
821 + },
822 + {
823 + .name = TYPE_ASPEED_AST2700_HACE,
824 + .parent = TYPE_ASPEED_HACE,
825 + .class_init = aspeed_ast2700_hace_class_init,
826 + }
827 };
828
832 -static void aspeed_hace_register_types(void)
833 -{
834 - type_register_static(&aspeed_ast2400_hace_info);
835 - type_register_static(&aspeed_ast2500_hace_info);
836 - type_register_static(&aspeed_ast2600_hace_info);
837 - type_register_static(&aspeed_ast1030_hace_info);
838 - type_register_static(&aspeed_ast2700_hace_info);
839 - type_register_static(&aspeed_hace_info);
840 -}
841 -
842 -type_init(aspeed_hace_register_types);
829 +DEFINE_TYPES(aspeed_hace_types)