summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2018-09-25 16:30:07 -0400
committerJens Axboe <axboe@kernel.dk>2018-09-26 10:45:10 -0400
commit20e3267601f95ff62d7a3116a17a680e9f5cbcc9 (patch)
tree3a80325aca975b671866f88d3981cd4380669fe6
parentcd11b1d344784b1a4c0d7aa18edc0830fd3989d1 (diff)
xen: provide a prototype for xen_biovec_phys_mergeable in xen.h
Having multiple externs in arch headers is not a good way to provide a common interface. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--arch/arm/include/asm/io.h3
-rw-r--r--arch/arm64/include/asm/io.h3
-rw-r--r--arch/x86/include/asm/io.h4
-rw-r--r--include/xen/xen.h4
4 files changed, 4 insertions, 10 deletions
diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
index e58ca25eddb7..cf5cd88e7289 100644
--- a/arch/arm/include/asm/io.h
+++ b/arch/arm/include/asm/io.h
@@ -459,9 +459,6 @@ extern void pci_iounmap(struct pci_dev *dev, void __iomem *addr);
459 459
460#include <asm-generic/io.h> 460#include <asm-generic/io.h>
461 461
462struct bio_vec;
463extern bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
464 const struct bio_vec *vec2);
465#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) \ 462#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
466 (!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2)) 463 (!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2))
467 464
diff --git a/arch/arm64/include/asm/io.h b/arch/arm64/include/asm/io.h
index 774e03ea1bb0..06119ee511cd 100644
--- a/arch/arm64/include/asm/io.h
+++ b/arch/arm64/include/asm/io.h
@@ -205,9 +205,6 @@ extern int valid_mmap_phys_addr_range(unsigned long pfn, size_t size);
205 205
206extern int devmem_is_allowed(unsigned long pfn); 206extern int devmem_is_allowed(unsigned long pfn);
207 207
208struct bio_vec;
209extern bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
210 const struct bio_vec *vec2);
211#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) \ 208#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
212 (!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2)) 209 (!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2))
213 210
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index 7c6106216d9c..abdb501a551d 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -371,10 +371,6 @@ extern bool is_early_ioremap_ptep(pte_t *ptep);
371 371
372#ifdef CONFIG_XEN 372#ifdef CONFIG_XEN
373#include <xen/xen.h> 373#include <xen/xen.h>
374struct bio_vec;
375
376extern bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
377 const struct bio_vec *vec2);
378 374
379#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) \ 375#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
380 (!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2)) 376 (!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2))
diff --git a/include/xen/xen.h b/include/xen/xen.h
index 1e1d9bd0bd37..d7a2678da77f 100644
--- a/include/xen/xen.h
+++ b/include/xen/xen.h
@@ -39,4 +39,8 @@ extern uint32_t xen_start_flags;
39#define xen_initial_domain() (0) 39#define xen_initial_domain() (0)
40#endif /* CONFIG_XEN_DOM0 */ 40#endif /* CONFIG_XEN_DOM0 */
41 41
42struct bio_vec;
43bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
44 const struct bio_vec *vec2);
45
42#endif /* _XEN_XEN_H */ 46#endif /* _XEN_XEN_H */