Message ID | 20231024162423.40206-7-philmd@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | hw/arm/aspeed: Split AspeedSoCState per 2400/2600/10x0 | expand |
On 10/24/23 18:24, Philippe Mathieu-Daudé wrote: > TYPE_ASPEED2600_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_ast2600.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 dcb43a4ecd..103b1598f6 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 Aspeed2600SoCState { > + AspeedSoCState parent; > +}; > + > +#define TYPE_ASPEED2600_SOC "aspeed2600-soc" > +OBJECT_DECLARE_SIMPLE_TYPE(Aspeed2600SoCState, ASPEED2600_SOC) > + > struct Aspeed10x0SoCState { > AspeedSoCState parent; > }; > diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c > index e122e1c32d..1ee460e56c 100644 > --- a/hw/arm/aspeed_ast2600.c > +++ b/hw/arm/aspeed_ast2600.c > @@ -646,18 +646,18 @@ static void aspeed_soc_ast2600_class_init(ObjectClass *oc, void *data) > sc->get_irq = aspeed_soc_ast2600_get_irq; > } > > -static const TypeInfo aspeed_soc_ast2600_type_info = { > - .name = "ast2600-a3", > - .parent = TYPE_ASPEED_SOC, > - .instance_size = sizeof(AspeedSoCState), > - .instance_init = aspeed_soc_ast2600_init, > - .class_init = aspeed_soc_ast2600_class_init, > - .class_size = sizeof(AspeedSoCClass), > +static const TypeInfo aspeed_soc_ast2600_types[] = { > + { > + .name = TYPE_ASPEED2600_SOC, > + .parent = TYPE_ASPEED_SOC, > + .instance_size = sizeof(Aspeed2600SoCState), > + .abstract = true, > + }, { > + .name = "ast2600-a3", > + .parent = TYPE_ASPEED2600_SOC, > + .instance_init = aspeed_soc_ast2600_init, > + .class_init = aspeed_soc_ast2600_class_init, > + }, > }; > > -static void aspeed_soc_register_types(void) > -{ > - type_register_static(&aspeed_soc_ast2600_type_info); > -}; > - > -type_init(aspeed_soc_register_types) > +DEFINE_TYPES(aspeed_soc_ast2600_types)
diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h index dcb43a4ecd..103b1598f6 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 Aspeed2600SoCState { + AspeedSoCState parent; +}; + +#define TYPE_ASPEED2600_SOC "aspeed2600-soc" +OBJECT_DECLARE_SIMPLE_TYPE(Aspeed2600SoCState, ASPEED2600_SOC) + struct Aspeed10x0SoCState { AspeedSoCState parent; }; diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c index e122e1c32d..1ee460e56c 100644 --- a/hw/arm/aspeed_ast2600.c +++ b/hw/arm/aspeed_ast2600.c @@ -646,18 +646,18 @@ static void aspeed_soc_ast2600_class_init(ObjectClass *oc, void *data) sc->get_irq = aspeed_soc_ast2600_get_irq; } -static const TypeInfo aspeed_soc_ast2600_type_info = { - .name = "ast2600-a3", - .parent = TYPE_ASPEED_SOC, - .instance_size = sizeof(AspeedSoCState), - .instance_init = aspeed_soc_ast2600_init, - .class_init = aspeed_soc_ast2600_class_init, - .class_size = sizeof(AspeedSoCClass), +static const TypeInfo aspeed_soc_ast2600_types[] = { + { + .name = TYPE_ASPEED2600_SOC, + .parent = TYPE_ASPEED_SOC, + .instance_size = sizeof(Aspeed2600SoCState), + .abstract = true, + }, { + .name = "ast2600-a3", + .parent = TYPE_ASPEED2600_SOC, + .instance_init = aspeed_soc_ast2600_init, + .class_init = aspeed_soc_ast2600_class_init, + }, }; -static void aspeed_soc_register_types(void) -{ - type_register_static(&aspeed_soc_ast2600_type_info); -}; - -type_init(aspeed_soc_register_types) +DEFINE_TYPES(aspeed_soc_ast2600_types)
TYPE_ASPEED2600_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_ast2600.c | 26 +++++++++++++------------- 2 files changed, 20 insertions(+), 13 deletions(-)