Message ID | 20231024162423.40206-6-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | hw/arm/aspeed: Split AspeedSoCState per 2400/2600/10x0 | expand |
On 10/24/23 18:24, Philippe Mathieu-Daudé wrote: > TYPE_ASPEED10X0_SOC inherits from TYPE_ASPEED_SOC. > In few commits we'll add more fields, but to keep > review process simple, don't add any yet. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Cédric Le Goater <clg@kaod.org> Thanks, C. > --- > include/hw/arm/aspeed_soc.h | 7 +++++++ > hw/arm/aspeed_ast10x0.c | 26 +++++++++++++------------- > 2 files changed, 20 insertions(+), 13 deletions(-) > > diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h > index 8adff70072..dcb43a4ecd 100644 > --- a/include/hw/arm/aspeed_soc.h > +++ b/include/hw/arm/aspeed_soc.h > @@ -101,6 +101,13 @@ struct AspeedSoCState { > #define TYPE_ASPEED_SOC "aspeed-soc" > OBJECT_DECLARE_TYPE(AspeedSoCState, AspeedSoCClass, ASPEED_SOC) > > +struct Aspeed10x0SoCState { > + AspeedSoCState parent; > +}; > + > +#define TYPE_ASPEED10X0_SOC "aspeed10x0-soc" > +OBJECT_DECLARE_SIMPLE_TYPE(Aspeed10x0SoCState, ASPEED10X0_SOC) > + > struct AspeedSoCClass { > DeviceClass parent_class; > > diff --git a/hw/arm/aspeed_ast10x0.c b/hw/arm/aspeed_ast10x0.c > index 649b3b13c1..1c15bf422f 100644 > --- a/hw/arm/aspeed_ast10x0.c > +++ b/hw/arm/aspeed_ast10x0.c > @@ -435,18 +435,18 @@ static void aspeed_soc_ast1030_class_init(ObjectClass *klass, void *data) > sc->get_irq = aspeed_soc_ast1030_get_irq; > } > > -static const TypeInfo aspeed_soc_ast1030_type_info = { > - .name = "ast1030-a1", > - .parent = TYPE_ASPEED_SOC, > - .instance_size = sizeof(AspeedSoCState), > - .instance_init = aspeed_soc_ast1030_init, > - .class_init = aspeed_soc_ast1030_class_init, > - .class_size = sizeof(AspeedSoCClass), > +static const TypeInfo aspeed_soc_ast10x0_types[] = { > + { > + .name = TYPE_ASPEED10X0_SOC, > + .parent = TYPE_ASPEED_SOC, > + .instance_size = sizeof(Aspeed10x0SoCState), > + .abstract = true, > + }, { > + .name = "ast1030-a1", > + .parent = TYPE_ASPEED10X0_SOC, > + .instance_init = aspeed_soc_ast1030_init, > + .class_init = aspeed_soc_ast1030_class_init, > + }, > }; > > -static void aspeed_soc_register_types(void) > -{ > - type_register_static(&aspeed_soc_ast1030_type_info); > -} > - > -type_init(aspeed_soc_register_types) > +DEFINE_TYPES(aspeed_soc_ast10x0_types)
diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h index 8adff70072..dcb43a4ecd 100644 --- a/include/hw/arm/aspeed_soc.h +++ b/include/hw/arm/aspeed_soc.h @@ -101,6 +101,13 @@ struct AspeedSoCState { #define TYPE_ASPEED_SOC "aspeed-soc" OBJECT_DECLARE_TYPE(AspeedSoCState, AspeedSoCClass, ASPEED_SOC) +struct Aspeed10x0SoCState { + AspeedSoCState parent; +}; + +#define TYPE_ASPEED10X0_SOC "aspeed10x0-soc" +OBJECT_DECLARE_SIMPLE_TYPE(Aspeed10x0SoCState, ASPEED10X0_SOC) + struct AspeedSoCClass { DeviceClass parent_class; diff --git a/hw/arm/aspeed_ast10x0.c b/hw/arm/aspeed_ast10x0.c index 649b3b13c1..1c15bf422f 100644 --- a/hw/arm/aspeed_ast10x0.c +++ b/hw/arm/aspeed_ast10x0.c @@ -435,18 +435,18 @@ static void aspeed_soc_ast1030_class_init(ObjectClass *klass, void *data) sc->get_irq = aspeed_soc_ast1030_get_irq; } -static const TypeInfo aspeed_soc_ast1030_type_info = { - .name = "ast1030-a1", - .parent = TYPE_ASPEED_SOC, - .instance_size = sizeof(AspeedSoCState), - .instance_init = aspeed_soc_ast1030_init, - .class_init = aspeed_soc_ast1030_class_init, - .class_size = sizeof(AspeedSoCClass), +static const TypeInfo aspeed_soc_ast10x0_types[] = { + { + .name = TYPE_ASPEED10X0_SOC, + .parent = TYPE_ASPEED_SOC, + .instance_size = sizeof(Aspeed10x0SoCState), + .abstract = true, + }, { + .name = "ast1030-a1", + .parent = TYPE_ASPEED10X0_SOC, + .instance_init = aspeed_soc_ast1030_init, + .class_init = aspeed_soc_ast1030_class_init, + }, }; -static void aspeed_soc_register_types(void) -{ - type_register_static(&aspeed_soc_ast1030_type_info); -} - -type_init(aspeed_soc_register_types) +DEFINE_TYPES(aspeed_soc_ast10x0_types)
TYPE_ASPEED10X0_SOC inherits from TYPE_ASPEED_SOC. In few commits we'll add more fields, but to keep review process simple, don't add any yet. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- include/hw/arm/aspeed_soc.h | 7 +++++++ hw/arm/aspeed_ast10x0.c | 26 +++++++++++++------------- 2 files changed, 20 insertions(+), 13 deletions(-)