Linux-mm Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH] include: Remove highmem.h from pagemap.h
@ 2020-02-13 19:56 Matthew Wilcox
  2020-02-14  5:41 ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: Matthew Wilcox @ 2020-02-13 19:56 UTC (permalink / raw)
  To: Andrew Morton, linux-mm; +Cc: Matthew Wilcox (Oracle)

From: "Matthew Wilcox (Oracle)" <willy@infradead.org>

pagemap.h doesn't need highmem.h itself.  Only two dozen users were
relying on pagemap to pull in highmem (usually for kmap), so fix them
all up and we can remove this header file dependency.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
 drivers/char/virtio_console.c                                  | 1 +
 drivers/media/pci/ivtv/ivtv-driver.h                           | 1 +
 drivers/media/v4l2-core/videobuf-dma-sg.c                      | 1 +
 .../staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c | 1 +
 fs/affs/affs.h                                                 | 1 +
 fs/ext2/namei.c                                                | 1 +
 fs/freevxfs/vxfs_immed.c                                       | 1 +
 fs/freevxfs/vxfs_subr.c                                        | 1 +
 fs/hfs/btree.c                                                 | 1 +
 fs/jffs2/gc.c                                                  | 1 +
 fs/minix/minix.h                                               | 1 +
 fs/ocfs2/symlink.c                                             | 1 +
 fs/qnx6/qnx6.h                                                 | 1 +
 fs/read_write.c                                                | 1 +
 fs/reiserfs/ioctl.c                                            | 1 +
 fs/reiserfs/tail_conversion.c                                  | 1 +
 fs/reiserfs/xattr.c                                            | 3 ++-
 fs/squashfs/file.c                                             | 1 +
 fs/squashfs/symlink.c                                          | 1 +
 fs/sysv/namei.c                                                | 1 +
 fs/udf/file.c                                                  | 1 +
 fs/ufs/ufs_fs.h                                                | 1 +
 include/linux/pagemap.h                                        | 1 -
 kernel/bpf/stackmap.c                                          | 1 +
 lib/iov_iter.c                                                 | 1 +
 net/sunrpc/auth_gss/gss_krb5_wrap.c                            | 1 +
 net/sunrpc/cache.c                                             | 1 +
 27 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index 4df9b40d6342..40e1de830593 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -13,6 +13,7 @@
 #include <linux/fs.h>
 #include <linux/splice.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/init.h>
 #include <linux/list.h>
 #include <linux/poll.h>
diff --git a/drivers/media/pci/ivtv/ivtv-driver.h b/drivers/media/pci/ivtv/ivtv-driver.h
index e5efe525ad7b..8a40f2ae5b51 100644
--- a/drivers/media/pci/ivtv/ivtv-driver.h
+++ b/drivers/media/pci/ivtv/ivtv-driver.h
@@ -50,6 +50,7 @@
 #include <linux/list.h>
 #include <linux/unistd.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/scatterlist.h>
 #include <linux/kthread.h>
 #include <linux/mutex.h>
diff --git a/drivers/media/v4l2-core/videobuf-dma-sg.c b/drivers/media/v4l2-core/videobuf-dma-sg.c
index 13b65ed9e74c..e709f140c9be 100644
--- a/drivers/media/v4l2-core/videobuf-dma-sg.c
+++ b/drivers/media/v4l2-core/videobuf-dma-sg.c
@@ -25,6 +25,7 @@
 #include <linux/dma-mapping.h>
 #include <linux/vmalloc.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/scatterlist.h>
 #include <asm/page.h>
 #include <asm/pgtable.h>
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
index ca30bfd52919..456cba37a9b5 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
@@ -4,6 +4,7 @@
 #include <linux/kernel.h>
 #include <linux/types.h>
 #include <linux/errno.h>
+#include <linux/highmem.h>
 #include <linux/interrupt.h>
 #include <linux/pagemap.h>
 #include <linux/dma-mapping.h>
diff --git a/fs/affs/affs.h b/fs/affs/affs.h
index a755bef7c4c7..6f909c20e169 100644
--- a/fs/affs/affs.h
+++ b/fs/affs/affs.h
@@ -8,6 +8,7 @@
 #include <linux/types.h>
 #include <linux/fs.h>
 #include <linux/buffer_head.h>
+#include <linux/highmem.h>
 #include "amigaffs.h"
 #include <linux/mutex.h>
 #include <linux/workqueue.h>
diff --git a/fs/ext2/namei.c b/fs/ext2/namei.c
index ccfbbf59e2fc..c17be0d2167e 100644
--- a/fs/ext2/namei.c
+++ b/fs/ext2/namei.c
@@ -31,6 +31,7 @@
  *        David S. Miller (davem@caip.rutgers.edu), 1995
  */
 
+#include <linux/highmem.h>
 #include <linux/pagemap.h>
 #include <linux/quotaops.h>
 #include "ext2.h"
diff --git a/fs/freevxfs/vxfs_immed.c b/fs/freevxfs/vxfs_immed.c
index bfc780c682fb..9b4a600abebf 100644
--- a/fs/freevxfs/vxfs_immed.c
+++ b/fs/freevxfs/vxfs_immed.c
@@ -32,6 +32,7 @@
  */
 #include <linux/fs.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 
 #include "vxfs.h"
 #include "vxfs_extern.h"
diff --git a/fs/freevxfs/vxfs_subr.c b/fs/freevxfs/vxfs_subr.c
index e806694d4145..763344889132 100644
--- a/fs/freevxfs/vxfs_subr.c
+++ b/fs/freevxfs/vxfs_subr.c
@@ -34,6 +34,7 @@
 #include <linux/buffer_head.h>
 #include <linux/kernel.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 
 #include "vxfs_extern.h"
 
diff --git a/fs/hfs/btree.c b/fs/hfs/btree.c
index 19017d296173..3be8998c10fc 100644
--- a/fs/hfs/btree.c
+++ b/fs/hfs/btree.c
@@ -10,6 +10,7 @@
  */
 
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/slab.h>
 #include <linux/log2.h>
 
diff --git a/fs/jffs2/gc.c b/fs/jffs2/gc.c
index 373b3b7c9f44..c4b9936b02c5 100644
--- a/fs/jffs2/gc.c
+++ b/fs/jffs2/gc.c
@@ -16,6 +16,7 @@
 #include <linux/mtd/mtd.h>
 #include <linux/slab.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/crc32.h>
 #include <linux/compiler.h>
 #include <linux/stat.h>
diff --git a/fs/minix/minix.h b/fs/minix/minix.h
index df081e8afcc3..2ee63e390e52 100644
--- a/fs/minix/minix.h
+++ b/fs/minix/minix.h
@@ -4,6 +4,7 @@
 
 #include <linux/fs.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/minix_fs.h>
 
 #define INODE_VERSION(inode)	minix_sb(inode->i_sb)->s_version
diff --git a/fs/ocfs2/symlink.c b/fs/ocfs2/symlink.c
index 94cfacc9bad7..cb1acc16226d 100644
--- a/fs/ocfs2/symlink.c
+++ b/fs/ocfs2/symlink.c
@@ -38,6 +38,7 @@
 #include <linux/types.h>
 #include <linux/slab.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/namei.h>
 
 #include <cluster/masklog.h>
diff --git a/fs/qnx6/qnx6.h b/fs/qnx6/qnx6.h
index 34a6b126a3a9..469fcf2aacfe 100644
--- a/fs/qnx6/qnx6.h
+++ b/fs/qnx6/qnx6.h
@@ -19,6 +19,7 @@
 
 #include <linux/fs.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 
 typedef __u16 __bitwise __fs16;
 typedef __u32 __bitwise __fs32;
diff --git a/fs/read_write.c b/fs/read_write.c
index 59d819c5b92e..ec041e35a59d 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -16,6 +16,7 @@
 #include <linux/export.h>
 #include <linux/syscalls.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/splice.h>
 #include <linux/compat.h>
 #include <linux/mount.h>
diff --git a/fs/reiserfs/ioctl.c b/fs/reiserfs/ioctl.c
index 45e1a5d11af3..e26a17295ca3 100644
--- a/fs/reiserfs/ioctl.c
+++ b/fs/reiserfs/ioctl.c
@@ -9,6 +9,7 @@
 #include <linux/time.h>
 #include <linux/uaccess.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/compat.h>
 
 /*
diff --git a/fs/reiserfs/tail_conversion.c b/fs/reiserfs/tail_conversion.c
index b0ae088dffc7..e8eefe61a77f 100644
--- a/fs/reiserfs/tail_conversion.c
+++ b/fs/reiserfs/tail_conversion.c
@@ -6,6 +6,7 @@
 
 #include <linux/time.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/buffer_head.h>
 #include "reiserfs.h"
 
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c
index 28b241cd6987..ec9a47dbf096 100644
--- a/fs/reiserfs/xattr.c
+++ b/fs/reiserfs/xattr.c
@@ -37,11 +37,12 @@
 #include "reiserfs.h"
 #include <linux/capability.h>
 #include <linux/dcache.h>
-#include <linux/namei.h>
 #include <linux/errno.h>
 #include <linux/gfp.h>
 #include <linux/fs.h>
 #include <linux/file.h>
+#include <linux/highmem.h>
+#include <linux/namei.h>
 #include <linux/pagemap.h>
 #include <linux/xattr.h>
 #include "xattr.h"
diff --git a/fs/squashfs/file.c b/fs/squashfs/file.c
index 7b1128398976..a46d3dc93b1a 100644
--- a/fs/squashfs/file.c
+++ b/fs/squashfs/file.c
@@ -33,6 +33,7 @@
 #include <linux/slab.h>
 #include <linux/string.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/mutex.h>
 
 #include "squashfs_fs.h"
diff --git a/fs/squashfs/symlink.c b/fs/squashfs/symlink.c
index 1430613183e6..b7f5f2e2967d 100644
--- a/fs/squashfs/symlink.c
+++ b/fs/squashfs/symlink.c
@@ -22,6 +22,7 @@
 #include <linux/kernel.h>
 #include <linux/string.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/xattr.h>
 
 #include "squashfs_fs.h"
diff --git a/fs/sysv/namei.c b/fs/sysv/namei.c
index ea2414b385ec..f458e9359dd7 100644
--- a/fs/sysv/namei.c
+++ b/fs/sysv/namei.c
@@ -13,6 +13,7 @@
  *  Copyright (C) 1997, 1998  Krzysztof G. Baranowski
  */
 
+#include <linux/highmem.h>
 #include <linux/pagemap.h>
 #include "sysv.h"
 
diff --git a/fs/udf/file.c b/fs/udf/file.c
index 628941a6b79a..e5e339216adf 100644
--- a/fs/udf/file.c
+++ b/fs/udf/file.c
@@ -33,6 +33,7 @@
 #include <linux/capability.h>
 #include <linux/errno.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/uio.h>
 
 #include "udf_i.h"
diff --git a/fs/ufs/ufs_fs.h b/fs/ufs/ufs_fs.h
index ef9ead44776a..48a12a92acfd 100644
--- a/fs/ufs/ufs_fs.h
+++ b/fs/ufs/ufs_fs.h
@@ -35,6 +35,7 @@
 #include <linux/kernel.h>
 #include <linux/stat.h>
 #include <linux/fs.h>
+#include <linux/highmem.h>
 #include <linux/workqueue.h>
 
 #include <asm/div64.h>
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index b5db51dfc605..d0944439eae6 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -8,7 +8,6 @@
 #include <linux/mm.h>
 #include <linux/fs.h>
 #include <linux/list.h>
-#include <linux/highmem.h>
 #include <linux/compiler.h>
 #include <linux/uaccess.h>
 #include <linux/gfp.h>
diff --git a/kernel/bpf/stackmap.c b/kernel/bpf/stackmap.c
index 3f958b90d914..9d9cd0ec2992 100644
--- a/kernel/bpf/stackmap.c
+++ b/kernel/bpf/stackmap.c
@@ -8,6 +8,7 @@
 #include <linux/perf_event.h>
 #include <linux/elf.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/irq_work.h>
 #include "percpu_freelist.h"
 
diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index 51595bf3af85..d642640c5c25 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -3,6 +3,7 @@
 #include <linux/bvec.h>
 #include <linux/uio.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <linux/slab.h>
 #include <linux/vmalloc.h>
 #include <linux/splice.h>
diff --git a/net/sunrpc/auth_gss/gss_krb5_wrap.c b/net/sunrpc/auth_gss/gss_krb5_wrap.c
index 6c1920eed771..349626f9466a 100644
--- a/net/sunrpc/auth_gss/gss_krb5_wrap.c
+++ b/net/sunrpc/auth_gss/gss_krb5_wrap.c
@@ -34,6 +34,7 @@
 #include <linux/sunrpc/gss_krb5.h>
 #include <linux/random.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 
 #if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
 # define RPCDBG_FACILITY	RPCDBG_AUTH
diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c
index bd843a81afa0..46c299f37572 100644
--- a/net/sunrpc/cache.c
+++ b/net/sunrpc/cache.c
@@ -27,6 +27,7 @@
 #include <linux/workqueue.h>
 #include <linux/mutex.h>
 #include <linux/pagemap.h>
+#include <linux/highmem.h>
 #include <asm/ioctls.h>
 #include <linux/sunrpc/types.h>
 #include <linux/sunrpc/cache.h>
-- 
2.25.0



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] include: Remove highmem.h from pagemap.h
  2020-02-13 19:56 [PATCH] include: Remove highmem.h from pagemap.h Matthew Wilcox
@ 2020-02-14  5:41 ` Andrew Morton
  2020-02-14 11:18   ` Matthew Wilcox
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2020-02-14  5:41 UTC (permalink / raw)
  To: Matthew Wilcox; +Cc: linux-mm

On Thu, 13 Feb 2020 11:56:43 -0800 Matthew Wilcox <willy@infradead.org> wrote:

> pagemap.h doesn't need highmem.h itself.  Only two dozen users were
> relying on pagemap to pull in highmem (usually for kmap), so fix them
> all up and we can remove this header file dependency.

Three compilation errors in an x86_64 allnoconfig build.  This one will
need a lot more testing, please.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] include: Remove highmem.h from pagemap.h
  2020-02-14  5:41 ` Andrew Morton
@ 2020-02-14 11:18   ` Matthew Wilcox
  0 siblings, 0 replies; 3+ messages in thread
From: Matthew Wilcox @ 2020-02-14 11:18 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-mm

On Thu, Feb 13, 2020 at 09:41:10PM -0800, Andrew Morton wrote:
> On Thu, 13 Feb 2020 11:56:43 -0800 Matthew Wilcox <willy@infradead.org> wrote:
> 
> > pagemap.h doesn't need highmem.h itself.  Only two dozen users were
> > relying on pagemap to pull in highmem (usually for kmap), so fix them
> > all up and we can remove this header file dependency.
> 
> Three compilation errors in an x86_64 allnoconfig build.  This one will
> need a lot more testing, please.

Weird; I did an allyesconfig build without error.  Will try.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-13 19:56 [PATCH] include: Remove highmem.h from pagemap.h Matthew Wilcox
2020-02-14  5:41 ` Andrew Morton
2020-02-14 11:18   ` Matthew Wilcox

Linux-mm Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-mm/0 linux-mm/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-mm linux-mm/ https://lore.kernel.org/linux-mm \
		linux-mm@kvack.org
	public-inbox-index linux-mm

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kvack.linux-mm


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git