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@linux.ibm.com>
---
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>
#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>
--
2.49.0
You added one unnecessary import to arch/s390/kvm/intercept.c With that removed: Reviewed-by: Christoph Schlameuss <schlameuss@linux.ibm.com> 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@linux.ibm.com> > --- > 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>
On Thu, 15 May 2025 15:56:44 +0200 "Christoph Schlameuss" <schlameuss@linux.ibm.com> wrote: > You added one unnecessary import to arch/s390/kvm/intercept.c > > With that removed: > Reviewed-by: Christoph Schlameuss <schlameuss@linux.ibm.com> > > > 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@linux.ibm.com> > > --- > > 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. it is needed here, but it can be removed in patch 5 (I'll fix that for v2) > > > > > #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> >
© 2016 - 2026 Red Hat, Inc.