On Mon, Dec 08, 2014 at 03:24:35PM -0500, Pranith Kumar wrote: > KVM uses srcu structures because of which CONFIG_KVM selects CONFIG_SRCU. In > asm-offsets.c, we are including kvm_host.h unconditionally even though > CONFIG_KVM is not enabled because of which we get errors like follows: > > In file included from arch/s390/kernel/asm-offsets.c:10:0: > >> include/linux/kvm_host.h:363:21: error: field 'srcu' has incomplete type > struct srcu_struct srcu; > ^ > >> include/linux/kvm_host.h:364:21: error: field 'irq_srcu' has incomplete type > struct srcu_struct irq_srcu; > ^ > make[2]: *** [arch/s390/kernel/asm-offsets.s] Error 1 > make[2]: Target '__build' not remade because of errors. > make[1]: *** [prepare0] Error 2 > make[1]: Target 'prepare' not remade because of errors. > make: *** [sub-make] Error 2 > > This patch fixes these by including kvm_host.h conditionally on CONFIG_KVM. > > Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> To make the commits bisectable, we need to combine these two patches, correct? Thanx, Paul > --- > arch/s390/kernel/asm-offsets.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/arch/s390/kernel/asm-offsets.c b/arch/s390/kernel/asm-offsets.c > index ef279a1..055334d 100644 > --- a/arch/s390/kernel/asm-offsets.c > +++ b/arch/s390/kernel/asm-offsets.c > @@ -7,12 +7,15 @@ > #define ASM_OFFSETS_C > > #include <linux/kbuild.h> > -#include <linux/kvm_host.h> > #include <linux/sched.h> > #include <asm/idle.h> > #include <asm/vdso.h> > #include <asm/pgtable.h> > > +#ifdef CONFIG_KVM > +#include <linux/kvm_host.h> > +#endif > + > /* > * Make sure that the compiler is new enough. We want a compiler that > * is known to work with the "Q" assembler constraint. > @@ -182,8 +185,10 @@ int main(void) > DEFINE(__LC_PGM_TDB, offsetof(struct _lowcore, pgm_tdb)); > DEFINE(__THREAD_trap_tdb, offsetof(struct task_struct, thread.trap_tdb)); > DEFINE(__GMAP_ASCE, offsetof(struct gmap, asce)); > +#ifdef CONFIG_KVM > DEFINE(__SIE_PROG0C, offsetof(struct kvm_s390_sie_block, prog0c)); > DEFINE(__SIE_PROG20, offsetof(struct kvm_s390_sie_block, prog20)); > +#endif /* CONFIG_KVM */ > #endif /* CONFIG_32BIT */ > return 0; > } > -- > 1.9.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html