lkml.org 
[lkml]   [2014]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 2/2] uio: support memory sizes larger than 32 bits
From
On Tue, Oct 7, 2014 at 5:25 PM, Cristian Stoica
<cristian.stoica@freescale.com> wrote:
> This is a completion to 27a90700a4275c5178b883b65927affdafa5185c
> The size field is also increased to allow values larger than 32 bits
> on platforms that have more than 32 bit physical addresses.
>
> Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
> ---
> Documentation/DocBook/uio-howto.tmpl | 2 +-
> drivers/uio/uio.c | 2 +-
> include/linux/uio_driver.h | 2 +-
> 3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/DocBook/uio-howto.tmpl b/Documentation/DocBook/uio-howto.tmpl
> index bbe9c1f..1fdc246 100644
> --- a/Documentation/DocBook/uio-howto.tmpl
> +++ b/Documentation/DocBook/uio-howto.tmpl
> @@ -540,7 +540,7 @@ appears in sysfs.
> </para></listitem>
>
> <listitem><para>
> -<varname>unsigned long size</varname>: Fill in the size of the
> +<varname>resource_size_t size</varname>: Fill in the size of the
> memory block that <varname>addr</varname> points to. If <varname>size</varname>
> is zero, the mapping is considered unused. Note that you
> <emphasis>must</emphasis> initialize <varname>size</varname> with zero for
> diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c
> index a673e5b..eaa7347 100644
> --- a/drivers/uio/uio.c
> +++ b/drivers/uio/uio.c
> @@ -73,7 +73,7 @@ static ssize_t map_addr_show(struct uio_mem *mem, char *buf)
>
> static ssize_t map_size_show(struct uio_mem *mem, char *buf)
> {
> - return sprintf(buf, "0x%lx\n", mem->size);
> + return sprintf(buf, "0x%llx\n", (unsigned long long)mem->size);

We have special printk format strings to handle resource_size_t, please
see Documentation/printk-formats.txt.

> }
>
> static ssize_t map_offset_show(struct uio_mem *mem, char *buf)
> diff --git a/include/linux/uio_driver.h b/include/linux/uio_driver.h
> index 1ad4724..df6e42e 100644
> --- a/include/linux/uio_driver.h
> +++ b/include/linux/uio_driver.h
> @@ -35,7 +35,7 @@ struct uio_map;
> struct uio_mem {
> const char *name;
> phys_addr_t addr;
> - unsigned long size;
> + resource_size_t size;
> int memtype;
> void __iomem *internal_addr;
> struct uio_map *map;
> --
> 1.8.3.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/



--
Thanks,
//richard


\
 
 \ /
  Last update: 2014-10-09 11:21    [W:0.039 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site