On Fri, 06 Dec 2019 19:44:06 +0100 Greg Kurz <gr...@kaod.org> wrote: > Convert all targets to use cpu_class_set_parent_reset() with the following > coccinelle script: > > @@ > type CPUParentClass; > CPUParentClass *pcc; > CPUClass *cc; > identifier parent_fn; > identifier child_fn; > @@ > +cpu_class_set_parent_reset(cc, child_fn, &pcc->parent_fn); > -pcc->parent_fn = cc->reset; > ... > -cc->reset = child_fn; > > Signed-off-by: Greg Kurz <gr...@kaod.org> > --- > target/arm/cpu.c | 3 +-- > target/cris/cpu.c | 3 +-- > target/i386/cpu.c | 3 +-- > target/lm32/cpu.c | 3 +-- > target/m68k/cpu.c | 3 +-- > target/microblaze/cpu.c | 3 +-- > target/mips/cpu.c | 3 +-- > target/moxie/cpu.c | 3 +-- > target/nios2/cpu.c | 3 +-- > target/openrisc/cpu.c | 3 +-- > target/ppc/translate_init.inc.c | 3 +-- > target/riscv/cpu.c | 3 +-- > target/s390x/cpu.c | 3 +-- > target/sh4/cpu.c | 3 +-- > target/sparc/cpu.c | 3 +-- > target/tilegx/cpu.c | 3 +-- > target/tricore/cpu.c | 3 +-- > target/xtensa/cpu.c | 3 +-- > 18 files changed, 18 insertions(+), 36 deletions(-) >
> diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c > index 3abe7e80fd0a..cf7cf5655fbc 100644 > --- a/target/s390x/cpu.c > +++ b/target/s390x/cpu.c > @@ -469,13 +469,12 @@ static void s390_cpu_class_init(ObjectClass *oc, void > *data) > dc->props = s390x_cpu_properties; > dc->user_creatable = true; > > - scc->parent_reset = cc->reset; > + cpu_class_set_parent_reset(cc, s390_cpu_full_reset, &scc->parent_reset); > #if !defined(CONFIG_USER_ONLY) > scc->load_normal = s390_cpu_load_normal; > #endif > scc->cpu_reset = s390_cpu_reset; > scc->initial_cpu_reset = s390_cpu_initial_reset; > - cc->reset = s390_cpu_full_reset; > cc->class_by_name = s390_cpu_class_by_name, > cc->has_work = s390_cpu_has_work; > #ifdef CONFIG_TCG Also looks sane, but needs a tweak to apply on top of the s390-next branch as well.