include/hw/arm/aspeed_soc.h | 3 +++ hw/arm/aspeed_ast10x0.c | 3 ++- hw/arm/aspeed_ast2600.c | 3 ++- hw/arm/aspeed_soc.c | 11 +++++++++-- 4 files changed, 16 insertions(+), 4 deletions(-)
and make routine aspeed_soc_get_irq() common to all SoCs. This will be
useful to share code.
Cc: Jamin Lin <jamin_lin@aspeedtech.com>
Cc: Peter Delevoryas <pdel@fb.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
include/hw/arm/aspeed_soc.h | 3 +++
hw/arm/aspeed_ast10x0.c | 3 ++-
hw/arm/aspeed_ast2600.c | 3 ++-
hw/arm/aspeed_soc.c | 11 +++++++++--
4 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h
index e13af374b923..3789f38603e5 100644
--- a/include/hw/arm/aspeed_soc.h
+++ b/include/hw/arm/aspeed_soc.h
@@ -94,6 +94,7 @@ struct AspeedSoCClass {
const int *irqmap;
const hwaddr *memmap;
uint32_t num_cpus;
+ qemu_irq (*get_irq)(AspeedSoCState *s, int dev);
};
@@ -153,4 +154,6 @@ enum {
ASPEED_DEV_I3C,
};
+qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int dev);
+
#endif /* ASPEED_SOC_H */
diff --git a/hw/arm/aspeed_ast10x0.c b/hw/arm/aspeed_ast10x0.c
index 427154928254..ddec5706f3c1 100644
--- a/hw/arm/aspeed_ast10x0.c
+++ b/hw/arm/aspeed_ast10x0.c
@@ -61,7 +61,7 @@ static const int aspeed_soc_ast1030_irqmap[] = {
[ASPEED_DEV_KCS] = 138, /* 138 -> 142 */
};
-static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl)
+static qemu_irq aspeed_soc_ast1030_get_irq(AspeedSoCState *s, int dev)
{
AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s);
@@ -280,6 +280,7 @@ static void aspeed_soc_ast1030_class_init(ObjectClass *klass, void *data)
sc->irqmap = aspeed_soc_ast1030_irqmap;
sc->memmap = aspeed_soc_ast1030_memmap;
sc->num_cpus = 1;
+ sc->get_irq = aspeed_soc_ast1030_get_irq;
}
static const TypeInfo aspeed_soc_ast1030_type_info = {
diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c
index eedda7badc37..255dbc6b95ab 100644
--- a/hw/arm/aspeed_ast2600.c
+++ b/hw/arm/aspeed_ast2600.c
@@ -114,7 +114,7 @@ static const int aspeed_soc_ast2600_irqmap[] = {
[ASPEED_DEV_I3C] = 102, /* 102 -> 107 */
};
-static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl)
+static qemu_irq aspeed_soc_ast2600_get_irq(AspeedSoCState *s, int dev)
{
AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s);
@@ -572,6 +572,7 @@ static void aspeed_soc_ast2600_class_init(ObjectClass *oc, void *data)
sc->irqmap = aspeed_soc_ast2600_irqmap;
sc->memmap = aspeed_soc_ast2600_memmap;
sc->num_cpus = 2;
+ sc->get_irq = aspeed_soc_ast2600_get_irq;
}
static const TypeInfo aspeed_soc_ast2600_type_info = {
diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c
index 58714cb2a01d..15b641da9a36 100644
--- a/hw/arm/aspeed_soc.c
+++ b/hw/arm/aspeed_soc.c
@@ -121,7 +121,7 @@ static const int aspeed_soc_ast2400_irqmap[] = {
#define aspeed_soc_ast2500_irqmap aspeed_soc_ast2400_irqmap
-static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl)
+static qemu_irq aspeed_soc_ast2400_get_irq(AspeedSoCState *s, int dev)
{
AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s);
@@ -487,6 +487,7 @@ static void aspeed_soc_ast2400_class_init(ObjectClass *oc, void *data)
sc->irqmap = aspeed_soc_ast2400_irqmap;
sc->memmap = aspeed_soc_ast2400_memmap;
sc->num_cpus = 1;
+ sc->get_irq = aspeed_soc_ast2400_get_irq;
}
static const TypeInfo aspeed_soc_ast2400_type_info = {
@@ -512,6 +513,7 @@ static void aspeed_soc_ast2500_class_init(ObjectClass *oc, void *data)
sc->irqmap = aspeed_soc_ast2500_irqmap;
sc->memmap = aspeed_soc_ast2500_memmap;
sc->num_cpus = 1;
+ sc->get_irq = aspeed_soc_ast2400_get_irq;
}
static const TypeInfo aspeed_soc_ast2500_type_info = {
@@ -528,4 +530,9 @@ static void aspeed_soc_register_types(void)
type_register_static(&aspeed_soc_ast2500_type_info);
};
-type_init(aspeed_soc_register_types)
+type_init(aspeed_soc_register_types);
+
+qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int dev)
+{
+ return ASPEED_SOC_GET_CLASS(s)->get_irq(s, ctrl);
+}
--
2.35.1
> On May 15, 2022, at 2:10 PM, Cédric Le Goater <clg@kaod.org> wrote: > > and make routine aspeed_soc_get_irq() common to all SoCs. This will be > useful to share code. > > Cc: Jamin Lin <jamin_lin@aspeedtech.com> > Cc: Peter Delevoryas <pdel@fb.com> > Signed-off-by: Cédric Le Goater <clg@kaod.org> > --- > include/hw/arm/aspeed_soc.h | 3 +++ > hw/arm/aspeed_ast10x0.c | 3 ++- > hw/arm/aspeed_ast2600.c | 3 ++- > hw/arm/aspeed_soc.c | 11 +++++++++-- > 4 files changed, 16 insertions(+), 4 deletions(-) > > diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h > index e13af374b923..3789f38603e5 100644 > --- a/include/hw/arm/aspeed_soc.h > +++ b/include/hw/arm/aspeed_soc.h > @@ -94,6 +94,7 @@ struct AspeedSoCClass { > const int *irqmap; > const hwaddr *memmap; > uint32_t num_cpus; > + qemu_irq (*get_irq)(AspeedSoCState *s, int dev); > }; > > > @@ -153,4 +154,6 @@ enum { > ASPEED_DEV_I3C, > }; > > +qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int dev); > + > #endif /* ASPEED_SOC_H */ > diff --git a/hw/arm/aspeed_ast10x0.c b/hw/arm/aspeed_ast10x0.c > index 427154928254..ddec5706f3c1 100644 > --- a/hw/arm/aspeed_ast10x0.c > +++ b/hw/arm/aspeed_ast10x0.c > @@ -61,7 +61,7 @@ static const int aspeed_soc_ast1030_irqmap[] = { > [ASPEED_DEV_KCS] = 138, /* 138 -> 142 */ > }; > > -static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl) > +static qemu_irq aspeed_soc_ast1030_get_irq(AspeedSoCState *s, int dev) > { > AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s); > > @@ -280,6 +280,7 @@ static void aspeed_soc_ast1030_class_init(ObjectClass *klass, void *data) > sc->irqmap = aspeed_soc_ast1030_irqmap; > sc->memmap = aspeed_soc_ast1030_memmap; > sc->num_cpus = 1; > + sc->get_irq = aspeed_soc_ast1030_get_irq; > } > > static const TypeInfo aspeed_soc_ast1030_type_info = { > diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c > index eedda7badc37..255dbc6b95ab 100644 > --- a/hw/arm/aspeed_ast2600.c > +++ b/hw/arm/aspeed_ast2600.c > @@ -114,7 +114,7 @@ static const int aspeed_soc_ast2600_irqmap[] = { > [ASPEED_DEV_I3C] = 102, /* 102 -> 107 */ > }; > > -static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl) > +static qemu_irq aspeed_soc_ast2600_get_irq(AspeedSoCState *s, int dev) > { > AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s); > > @@ -572,6 +572,7 @@ static void aspeed_soc_ast2600_class_init(ObjectClass *oc, void *data) > sc->irqmap = aspeed_soc_ast2600_irqmap; > sc->memmap = aspeed_soc_ast2600_memmap; > sc->num_cpus = 2; > + sc->get_irq = aspeed_soc_ast2600_get_irq; > } > > static const TypeInfo aspeed_soc_ast2600_type_info = { > diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c > index 58714cb2a01d..15b641da9a36 100644 > --- a/hw/arm/aspeed_soc.c > +++ b/hw/arm/aspeed_soc.c > @@ -121,7 +121,7 @@ static const int aspeed_soc_ast2400_irqmap[] = { > > #define aspeed_soc_ast2500_irqmap aspeed_soc_ast2400_irqmap > > -static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl) > +static qemu_irq aspeed_soc_ast2400_get_irq(AspeedSoCState *s, int dev) > { > AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s); > > @@ -487,6 +487,7 @@ static void aspeed_soc_ast2400_class_init(ObjectClass *oc, void *data) > sc->irqmap = aspeed_soc_ast2400_irqmap; > sc->memmap = aspeed_soc_ast2400_memmap; > sc->num_cpus = 1; > + sc->get_irq = aspeed_soc_ast2400_get_irq; > } > > static const TypeInfo aspeed_soc_ast2400_type_info = { > @@ -512,6 +513,7 @@ static void aspeed_soc_ast2500_class_init(ObjectClass *oc, void *data) > sc->irqmap = aspeed_soc_ast2500_irqmap; > sc->memmap = aspeed_soc_ast2500_memmap; > sc->num_cpus = 1; > + sc->get_irq = aspeed_soc_ast2400_get_irq; > } > > static const TypeInfo aspeed_soc_ast2500_type_info = { > @@ -528,4 +530,9 @@ static void aspeed_soc_register_types(void) > type_register_static(&aspeed_soc_ast2500_type_info); > }; > > -type_init(aspeed_soc_register_types) > +type_init(aspeed_soc_register_types); > + > +qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int dev) > +{ > + return ASPEED_SOC_GET_CLASS(s)->get_irq(s, ctrl); > +} I think “dev” needs to be changed to “ctrl” or vice-versa. (Compilation failure) > -- > 2.35.1 >
On 5/16/22 01:01, Peter Delevoryas wrote: > >> On May 15, 2022, at 2:10 PM, Cédric Le Goater <clg@kaod.org> wrote: >> >> and make routine aspeed_soc_get_irq() common to all SoCs. This will be >> useful to share code. >> >> Cc: Jamin Lin <jamin_lin@aspeedtech.com> >> Cc: Peter Delevoryas <pdel@fb.com> >> Signed-off-by: Cédric Le Goater <clg@kaod.org> >> --- >> include/hw/arm/aspeed_soc.h | 3 +++ >> hw/arm/aspeed_ast10x0.c | 3 ++- >> hw/arm/aspeed_ast2600.c | 3 ++- >> hw/arm/aspeed_soc.c | 11 +++++++++-- >> 4 files changed, 16 insertions(+), 4 deletions(-) >> >> diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h >> index e13af374b923..3789f38603e5 100644 >> --- a/include/hw/arm/aspeed_soc.h >> +++ b/include/hw/arm/aspeed_soc.h >> @@ -94,6 +94,7 @@ struct AspeedSoCClass { >> const int *irqmap; >> const hwaddr *memmap; >> uint32_t num_cpus; >> + qemu_irq (*get_irq)(AspeedSoCState *s, int dev); >> }; >> >> >> @@ -153,4 +154,6 @@ enum { >> ASPEED_DEV_I3C, >> }; >> >> +qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int dev); >> + >> #endif /* ASPEED_SOC_H */ >> diff --git a/hw/arm/aspeed_ast10x0.c b/hw/arm/aspeed_ast10x0.c >> index 427154928254..ddec5706f3c1 100644 >> --- a/hw/arm/aspeed_ast10x0.c >> +++ b/hw/arm/aspeed_ast10x0.c >> @@ -61,7 +61,7 @@ static const int aspeed_soc_ast1030_irqmap[] = { >> [ASPEED_DEV_KCS] = 138, /* 138 -> 142 */ >> }; >> >> -static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl) >> +static qemu_irq aspeed_soc_ast1030_get_irq(AspeedSoCState *s, int dev) >> { >> AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s); >> >> @@ -280,6 +280,7 @@ static void aspeed_soc_ast1030_class_init(ObjectClass *klass, void *data) >> sc->irqmap = aspeed_soc_ast1030_irqmap; >> sc->memmap = aspeed_soc_ast1030_memmap; >> sc->num_cpus = 1; >> + sc->get_irq = aspeed_soc_ast1030_get_irq; >> } >> >> static const TypeInfo aspeed_soc_ast1030_type_info = { >> diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c >> index eedda7badc37..255dbc6b95ab 100644 >> --- a/hw/arm/aspeed_ast2600.c >> +++ b/hw/arm/aspeed_ast2600.c >> @@ -114,7 +114,7 @@ static const int aspeed_soc_ast2600_irqmap[] = { >> [ASPEED_DEV_I3C] = 102, /* 102 -> 107 */ >> }; >> >> -static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl) >> +static qemu_irq aspeed_soc_ast2600_get_irq(AspeedSoCState *s, int dev) >> { >> AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s); >> >> @@ -572,6 +572,7 @@ static void aspeed_soc_ast2600_class_init(ObjectClass *oc, void *data) >> sc->irqmap = aspeed_soc_ast2600_irqmap; >> sc->memmap = aspeed_soc_ast2600_memmap; >> sc->num_cpus = 2; >> + sc->get_irq = aspeed_soc_ast2600_get_irq; >> } >> >> static const TypeInfo aspeed_soc_ast2600_type_info = { >> diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c >> index 58714cb2a01d..15b641da9a36 100644 >> --- a/hw/arm/aspeed_soc.c >> +++ b/hw/arm/aspeed_soc.c >> @@ -121,7 +121,7 @@ static const int aspeed_soc_ast2400_irqmap[] = { >> >> #define aspeed_soc_ast2500_irqmap aspeed_soc_ast2400_irqmap >> >> -static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl) >> +static qemu_irq aspeed_soc_ast2400_get_irq(AspeedSoCState *s, int dev) >> { >> AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s); >> >> @@ -487,6 +487,7 @@ static void aspeed_soc_ast2400_class_init(ObjectClass *oc, void *data) >> sc->irqmap = aspeed_soc_ast2400_irqmap; >> sc->memmap = aspeed_soc_ast2400_memmap; >> sc->num_cpus = 1; >> + sc->get_irq = aspeed_soc_ast2400_get_irq; >> } >> >> static const TypeInfo aspeed_soc_ast2400_type_info = { >> @@ -512,6 +513,7 @@ static void aspeed_soc_ast2500_class_init(ObjectClass *oc, void *data) >> sc->irqmap = aspeed_soc_ast2500_irqmap; >> sc->memmap = aspeed_soc_ast2500_memmap; >> sc->num_cpus = 1; >> + sc->get_irq = aspeed_soc_ast2400_get_irq; >> } >> >> static const TypeInfo aspeed_soc_ast2500_type_info = { >> @@ -528,4 +530,9 @@ static void aspeed_soc_register_types(void) >> type_register_static(&aspeed_soc_ast2500_type_info); >> }; >> >> -type_init(aspeed_soc_register_types) >> +type_init(aspeed_soc_register_types); >> + >> +qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int dev) >> +{ >> + return ASPEED_SOC_GET_CLASS(s)->get_irq(s, ctrl); >> +} > > I think “dev” needs to be changed to “ctrl” or vice-versa. > (Compilation failure) Last minute changes ... Sent a v2 ! Thanks, C.
© 2016 - 2024 Red Hat, Inc.