aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/DocBook/uio-howto.tmpl
diff options
context:
space:
mode:
authorKai Jiang <Kai.Jiang@freescale.com>2011-10-17 14:50:20 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-10-18 14:18:57 -0400
commit27a90700a4275c5178b883b65927affdafa5185c (patch)
treed140a0c39bc0bf68531a165e0678be58987d2d78 /Documentation/DocBook/uio-howto.tmpl
parentc4253cb0748cd50060d04d838c38b07f1ad0e6e5 (diff)
uio: Support physical addresses >32 bits on 32-bit systems
To support >32-bit physical addresses for UIO_MEM_PHYS type we need to extend the width of 'addr' in struct uio_mem. Numerous platforms like embedded PPC, ARM, and X86 have support for systems with larger physical address than logical. Since 'addr' may contain a physical, logical, or virtual address the easiest solution is to just change the type to 'phys_addr_t' which should always be greater than or equal to the sizeof(void *) such that it can properly hold any of the address types. For physical address we can support up to a 44-bit physical address on a typical 32-bit system as we utilize remap_pfn_range() for the mapping of the memory region and pfn's are represnted by shifting the address by the page size (typically 4k). Signed-off-by: Kai Jiang <Kai.Jiang@freescale.com> Signed-off-by: Minghuan Lian <Minghuan.Lian@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Hans J. Koch <hjk@hansjkoch.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'Documentation/DocBook/uio-howto.tmpl')
-rw-r--r--Documentation/DocBook/uio-howto.tmpl2
1 files changed, 1 insertions, 1 deletions
diff --git a/Documentation/DocBook/uio-howto.tmpl b/Documentation/DocBook/uio-howto.tmpl
index 7c4b514d62b1..54883de5d5f9 100644
--- a/Documentation/DocBook/uio-howto.tmpl
+++ b/Documentation/DocBook/uio-howto.tmpl
@@ -529,7 +529,7 @@ memory (e.g. allocated with <function>kmalloc()</function>). There's also
529</para></listitem> 529</para></listitem>
530 530
531<listitem><para> 531<listitem><para>
532<varname>unsigned long addr</varname>: Required if the mapping is used. 532<varname>phys_addr_t addr</varname>: Required if the mapping is used.
533Fill in the address of your memory block. This address is the one that 533Fill in the address of your memory block. This address is the one that
534appears in sysfs. 534appears in sysfs.
535</para></listitem> 535</para></listitem>