summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@kernel.bkbits.net>2004-09-13 10:25:41 -0700
committerDavid S. Miller <davem@kernel.bkbits.net>2004-09-13 10:25:41 -0700
commit5ca8dc165f099da3f72ed6f6c459d6f1f52bd5e5 (patch)
tree5969f0de681d489068d758409b44abc2cfc07774 /include
parentcf11cae7380e2da18f343dc48a1bc3074f2943d0 (diff)
parent5c422c68d6e8cb32f6d3525858c5fb8bc71ef754 (diff)
Merge davem@nuts.davemloft.net:/disk1/BK/net-2.6
into kernel.bkbits.net:/home/davem/net-2.6
Diffstat (limited to 'include')
-rw-r--r--include/asm-generic/iomap.h44
-rw-r--r--include/asm-i386/dma-mapping.h1
-rw-r--r--include/asm-i386/io.h2
-rw-r--r--include/asm-ia64/dma-mapping.h1
-rw-r--r--include/asm-mips/dma-mapping.h1
-rw-r--r--include/asm-ppc/dma-mapping.h1
-rw-r--r--include/asm-ppc64/dma-mapping.h1
-rw-r--r--include/asm-ppc64/io.h2
-rw-r--r--include/asm-sh/dma-mapping.h1
-rw-r--r--include/asm-sh64/dma-mapping.h1
-rw-r--r--include/asm-sparc/dma-mapping.h1
-rw-r--r--include/asm-x86_64/dma-mapping.h1
-rw-r--r--include/linux/dma-mapping.h1
-rw-r--r--include/linux/sched.h3
14 files changed, 52 insertions, 9 deletions
diff --git a/include/asm-generic/iomap.h b/include/asm-generic/iomap.h
new file mode 100644
index 000000000000..cbd9e7f03a2a
--- /dev/null
+++ b/include/asm-generic/iomap.h
@@ -0,0 +1,44 @@
+#ifndef __GENERIC_IO_H
+#define __GENERIC_IO_H
+
+#include <linux/linkage.h>
+
+/*
+ * These are the "generic" interfaces for doing new-style
+ * memory-mapped or PIO accesses. Architectures may do
+ * their own arch-optimized versions, these just act as
+ * wrappers around the old-style IO register access functions:
+ * read[bwl]/write[bwl]/in[bwl]/out[bwl]
+ *
+ * Don't include this directly, include it from <asm/io.h>.
+ */
+
+/*
+ * Read/write from/to an (offsettable) iomem cookie. It might be a PIO
+ * access or a MMIO access, these functions don't care. The info is
+ * encoded in the hardware mapping set up by the mapping functions
+ * (or the cookie itself, depending on implementation and hw).
+ *
+ * The generic routines just encode the PIO/MMIO as part of the
+ * cookie, and coldly assume that the MMIO IO mappings are not
+ * in the low address range. Architectures for which this is not
+ * true can't use this generic implementation.
+ */
+extern unsigned int fastcall ioread8(void __iomem *);
+extern unsigned int fastcall ioread16(void __iomem *);
+extern unsigned int fastcall ioread32(void __iomem *);
+
+extern void fastcall iowrite8(u8, void __iomem *);
+extern void fastcall iowrite16(u16, void __iomem *);
+extern void fastcall iowrite32(u32, void __iomem *);
+
+/* Create a virtual mapping cookie for an IO port range */
+extern void __iomem *ioport_map(unsigned int port, unsigned int nr);
+extern void ioport_unmap(void __iomem *);
+
+/* Create a virtual mapping cookie for a PCI BAR (memory or IO) */
+struct pci_dev;
+extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max);
+extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
+
+#endif
diff --git a/include/asm-i386/dma-mapping.h b/include/asm-i386/dma-mapping.h
index eced63913860..8d432bd90f2b 100644
--- a/include/asm-i386/dma-mapping.h
+++ b/include/asm-i386/dma-mapping.h
@@ -1,7 +1,6 @@
#ifndef _ASM_I386_DMA_MAPPING_H
#define _ASM_I386_DMA_MAPPING_H
-#include <linux/device.h>
#include <linux/mm.h>
#include <asm/cache.h>
diff --git a/include/asm-i386/io.h b/include/asm-i386/io.h
index 20a26b98ec6e..083e3b8f8c7f 100644
--- a/include/asm-i386/io.h
+++ b/include/asm-i386/io.h
@@ -45,6 +45,8 @@
#ifdef __KERNEL__
+#include <asm-generic/iomap.h>
+
#include <linux/vmalloc.h>
/**
diff --git a/include/asm-ia64/dma-mapping.h b/include/asm-ia64/dma-mapping.h
index 695690a5429b..6347c9845642 100644
--- a/include/asm-ia64/dma-mapping.h
+++ b/include/asm-ia64/dma-mapping.h
@@ -6,7 +6,6 @@
* David Mosberger-Tang <davidm@hpl.hp.com>
*/
#include <linux/config.h>
-#include <linux/device.h>
#include <asm/machvec.h>
#define dma_alloc_coherent platform_dma_alloc_coherent
diff --git a/include/asm-mips/dma-mapping.h b/include/asm-mips/dma-mapping.h
index a11cf994d526..716951187bf0 100644
--- a/include/asm-mips/dma-mapping.h
+++ b/include/asm-mips/dma-mapping.h
@@ -1,7 +1,6 @@
#ifndef _ASM_DMA_MAPPING_H
#define _ASM_DMA_MAPPING_H
-#include <linux/device.h>
#include <asm/scatterlist.h>
#include <asm/cache.h>
diff --git a/include/asm-ppc/dma-mapping.h b/include/asm-ppc/dma-mapping.h
index 9be4f7297400..7f0487afebbe 100644
--- a/include/asm-ppc/dma-mapping.h
+++ b/include/asm-ppc/dma-mapping.h
@@ -8,7 +8,6 @@
#include <linux/config.h>
/* need struct page definitions */
#include <linux/mm.h>
-#include <linux/device.h>
#include <asm/scatterlist.h>
#include <asm/io.h>
diff --git a/include/asm-ppc64/dma-mapping.h b/include/asm-ppc64/dma-mapping.h
index 0cdc5346f6f8..1e05f389e72b 100644
--- a/include/asm-ppc64/dma-mapping.h
+++ b/include/asm-ppc64/dma-mapping.h
@@ -8,7 +8,6 @@
#define _ASM_DMA_MAPPING_H
#include <linux/types.h>
-#include <linux/device.h>
#include <linux/cache.h>
/* need struct page definitions */
#include <linux/mm.h>
diff --git a/include/asm-ppc64/io.h b/include/asm-ppc64/io.h
index 33c2dfff9815..1e9cd557352e 100644
--- a/include/asm-ppc64/io.h
+++ b/include/asm-ppc64/io.h
@@ -18,6 +18,8 @@
#include <asm/memory.h>
#include <asm/delay.h>
+#include <asm-generic/iomap.h>
+
#define __ide_mm_insw(p, a, c) _insw_ns((volatile u16 *)(p), (a), (c))
#define __ide_mm_insl(p, a, c) _insl_ns((volatile u32 *)(p), (a), (c))
#define __ide_mm_outsw(p, a, c) _outsw_ns((volatile u16 *)(p), (a), (c))
diff --git a/include/asm-sh/dma-mapping.h b/include/asm-sh/dma-mapping.h
index 8f149477ee2c..8876ec7b0e4d 100644
--- a/include/asm-sh/dma-mapping.h
+++ b/include/asm-sh/dma-mapping.h
@@ -3,7 +3,6 @@
#include <linux/config.h>
#include <linux/mm.h>
-#include <linux/device.h>
#include <asm/scatterlist.h>
#include <asm/io.h>
diff --git a/include/asm-sh64/dma-mapping.h b/include/asm-sh64/dma-mapping.h
index 3a6424986b4b..b8d26fe677f4 100644
--- a/include/asm-sh64/dma-mapping.h
+++ b/include/asm-sh64/dma-mapping.h
@@ -3,7 +3,6 @@
#include <linux/config.h>
#include <linux/mm.h>
-#include <linux/device.h>
#include <asm/scatterlist.h>
#include <asm/io.h>
diff --git a/include/asm-sparc/dma-mapping.h b/include/asm-sparc/dma-mapping.h
index 08ede04f7eaf..2dc5bb8effa6 100644
--- a/include/asm-sparc/dma-mapping.h
+++ b/include/asm-sparc/dma-mapping.h
@@ -2,7 +2,6 @@
#define _ASM_SPARC_DMA_MAPPING_H
#include <linux/config.h>
-#include <linux/device.h>
#ifdef CONFIG_PCI
#include <asm-generic/dma-mapping.h>
diff --git a/include/asm-x86_64/dma-mapping.h b/include/asm-x86_64/dma-mapping.h
index 95102ecc1b70..a416dc31634a 100644
--- a/include/asm-x86_64/dma-mapping.h
+++ b/include/asm-x86_64/dma-mapping.h
@@ -7,7 +7,6 @@
*/
#include <linux/config.h>
-#include <linux/device.h>
#include <asm/scatterlist.h>
#include <asm/io.h>
diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
index 3c545e326d57..806c305332c1 100644
--- a/include/linux/dma-mapping.h
+++ b/include/linux/dma-mapping.h
@@ -1,6 +1,7 @@
#ifndef _ASM_LINUX_DMA_MAPPING_H
#define _ASM_LINUX_DMA_MAPPING_H
+#include <linux/device.h>
#include <linux/err.h>
/* These definitions mirror those in pci.h, so they can be used
diff --git a/include/linux/sched.h b/include/linux/sched.h
index b73710a9ac12..f5d4b9cae523 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1024,6 +1024,9 @@ static inline void arch_pick_mmap_layout(struct mm_struct *mm)
}
#endif
+extern long sched_setaffinity(pid_t pid, cpumask_t new_mask);
+extern long sched_getaffinity(pid_t pid, cpumask_t *mask);
+
#endif /* __KERNEL__ */
#endif