浏览代码

asm-generic/io.h: remove asm/cacheflush.h include

Including <asm/cacheflush.h> from <asm-generic/io.h> prevents
cacheflush.h being able to use I/O functions like readl and writel due
to circular include dependencies. It doesn't appear as if anything from
cacheflush.h is actually used by the generic io.h, so remove the
include.

I've compile tested a defconfig compilation of blackfin, openrisc (which
needed <asm/pgtable.h> including from it's <asm/io.h> to get the PAGE_*
definitions), and xtensa.

Other architectures which use asm-generic/io.h are score and unicore32,
and looking at their io.h I don't see any obvious problems.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Acked-by: Jonas Bonn <jonas@southpole.se>
Cc: Chris Zankel <chris@zankel.net>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Chen Liqin <liqin.chen@sunplusct.com>
Cc: Lennox Wu <lennox.wu@gmail.com>
Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
James Hogan 12 年之前
父节点
当前提交
9b04ebd158
共有 2 个文件被更改,包括 1 次插入1 次删除
  1. 1 0
      arch/openrisc/include/asm/io.h
  2. 0 1
      include/asm-generic/io.h

+ 1 - 0
arch/openrisc/include/asm/io.h

@@ -30,6 +30,7 @@
 #define PIO_MASK		0
 #define PIO_MASK		0
 
 
 #include <asm-generic/io.h>
 #include <asm-generic/io.h>
+#include <asm/pgtable.h>
 
 
 extern void __iomem *__ioremap(phys_addr_t offset, unsigned long size,
 extern void __iomem *__ioremap(phys_addr_t offset, unsigned long size,
 				pgprot_t prot);
 				pgprot_t prot);

+ 0 - 1
include/asm-generic/io.h

@@ -12,7 +12,6 @@
 #define __ASM_GENERIC_IO_H
 #define __ASM_GENERIC_IO_H
 
 
 #include <asm/page.h> /* I/O is all done through memory accesses */
 #include <asm/page.h> /* I/O is all done through memory accesses */
-#include <asm/cacheflush.h>
 #include <linux/types.h>
 #include <linux/types.h>
 
 
 #ifdef CONFIG_GENERIC_IOMAP
 #ifdef CONFIG_GENERIC_IOMAP