You added one unnecessary import to arch/s390/kvm/intercept.c With that removed: Reviewed-by: Christoph Schlameuss <schlameuss@xxxxxxxxxxxxx> On Wed May 14, 2025 at 6:38 PM CEST, Claudio Imbrenda wrote: > Many files don't need to include asm/tlb.h or asm/gmap.h. > On the other hand, asm/tlb.h does need to include asm/gmap.h. > > Remove all unneeded includes so that asm/tlb.h is not directly used by > s390 arch code anymore. Remove asm/gmap.h from a few other files as > well, so that now only KVM code, mm/gmap.c, and asm/tlb.h include it. > > Signed-off-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> > --- > arch/s390/include/asm/tlb.h | 1 + > arch/s390/include/asm/uv.h | 1 - > arch/s390/kvm/intercept.c | 1 + > arch/s390/mm/fault.c | 1 - > arch/s390/mm/gmap.c | 1 - > arch/s390/mm/init.c | 1 - > arch/s390/mm/pgalloc.c | 2 -- > arch/s390/mm/pgtable.c | 1 - > 8 files changed, 2 insertions(+), 7 deletions(-) > > diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h > index f20601995bb0..56d5f9e0eb2e 100644 > --- a/arch/s390/include/asm/tlb.h > +++ b/arch/s390/include/asm/tlb.h > @@ -36,6 +36,7 @@ static inline bool __tlb_remove_folio_pages(struct mmu_gather *tlb, > > #include <asm/tlbflush.h> > #include <asm-generic/tlb.h> > +#include <asm/gmap.h> > > /* > * Release the page cache reference for a pte removed by > diff --git a/arch/s390/include/asm/uv.h b/arch/s390/include/asm/uv.h > index 46fb0ef6f984..eeb2db4783e6 100644 > --- a/arch/s390/include/asm/uv.h > +++ b/arch/s390/include/asm/uv.h > @@ -16,7 +16,6 @@ > #include <linux/bug.h> > #include <linux/sched.h> > #include <asm/page.h> > -#include <asm/gmap.h> > #include <asm/asm.h> > > #define UVC_CC_OK 0 > diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c > index a06a000f196c..b4834bd4d216 100644 > --- a/arch/s390/kvm/intercept.c > +++ b/arch/s390/kvm/intercept.c > @@ -16,6 +16,7 @@ > #include <asm/irq.h> > #include <asm/sysinfo.h> > #include <asm/uv.h> > +#include <asm/gmap.h> This import is not needed. > > #include "kvm-s390.h" > #include "gaccess.h" > diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c > index da84ff6770de..3829521450dd 100644 > --- a/arch/s390/mm/fault.c > +++ b/arch/s390/mm/fault.c > @@ -40,7 +40,6 @@ > #include <asm/ptrace.h> > #include <asm/fault.h> > #include <asm/diag.h> > -#include <asm/gmap.h> > #include <asm/irq.h> > #include <asm/facility.h> > #include <asm/uv.h> > diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c > index a94bd4870c65..4869555ff403 100644 > --- a/arch/s390/mm/gmap.c > +++ b/arch/s390/mm/gmap.c > @@ -24,7 +24,6 @@ > #include <asm/machine.h> > #include <asm/gmap.h> > #include <asm/page.h> > -#include <asm/tlb.h> > > /* > * The address is saved in a radix tree directly; NULL would be ambiguous, > diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c > index afa085e8186c..074bf4fb4ce2 100644 > --- a/arch/s390/mm/init.c > +++ b/arch/s390/mm/init.c > @@ -40,7 +40,6 @@ > #include <asm/kfence.h> > #include <asm/dma.h> > #include <asm/abs_lowcore.h> > -#include <asm/tlb.h> > #include <asm/tlbflush.h> > #include <asm/sections.h> > #include <asm/sclp.h> > diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c > index e3a6f8ae156c..ddab36875370 100644 > --- a/arch/s390/mm/pgalloc.c > +++ b/arch/s390/mm/pgalloc.c > @@ -12,8 +12,6 @@ > #include <asm/mmu_context.h> > #include <asm/page-states.h> > #include <asm/pgalloc.h> > -#include <asm/gmap.h> > -#include <asm/tlb.h> > #include <asm/tlbflush.h> > > unsigned long *crst_table_alloc(struct mm_struct *mm) > diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c > index 9901934284ec..7df70cd8f739 100644 > --- a/arch/s390/mm/pgtable.c > +++ b/arch/s390/mm/pgtable.c > @@ -20,7 +20,6 @@ > #include <linux/ksm.h> > #include <linux/mman.h> > > -#include <asm/tlb.h> > #include <asm/tlbflush.h> > #include <asm/mmu_context.h> > #include <asm/page-states.h>