diff options
Diffstat (limited to 'drivers/uio/uio.c')
-rw-r--r-- | drivers/uio/uio.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c index c89f12a8b116..a783d533a1a6 100644 --- a/drivers/uio/uio.c +++ b/drivers/uio/uio.c | |||
@@ -69,7 +69,7 @@ static ssize_t map_name_show(struct uio_mem *mem, char *buf) | |||
69 | 69 | ||
70 | static ssize_t map_addr_show(struct uio_mem *mem, char *buf) | 70 | static ssize_t map_addr_show(struct uio_mem *mem, char *buf) |
71 | { | 71 | { |
72 | return sprintf(buf, "0x%lx\n", mem->addr); | 72 | return sprintf(buf, "0x%llx\n", (unsigned long long)mem->addr); |
73 | } | 73 | } |
74 | 74 | ||
75 | static ssize_t map_size_show(struct uio_mem *mem, char *buf) | 75 | static ssize_t map_size_show(struct uio_mem *mem, char *buf) |
@@ -79,7 +79,7 @@ static ssize_t map_size_show(struct uio_mem *mem, char *buf) | |||
79 | 79 | ||
80 | static ssize_t map_offset_show(struct uio_mem *mem, char *buf) | 80 | static ssize_t map_offset_show(struct uio_mem *mem, char *buf) |
81 | { | 81 | { |
82 | return sprintf(buf, "0x%lx\n", mem->addr & ~PAGE_MASK); | 82 | return sprintf(buf, "0x%llx\n", (unsigned long long)mem->addr & ~PAGE_MASK); |
83 | } | 83 | } |
84 | 84 | ||
85 | struct map_sysfs_entry { | 85 | struct map_sysfs_entry { |
@@ -634,8 +634,7 @@ static int uio_vma_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
634 | if (idev->info->mem[mi].memtype == UIO_MEM_LOGICAL) | 634 | if (idev->info->mem[mi].memtype == UIO_MEM_LOGICAL) |
635 | page = virt_to_page(idev->info->mem[mi].addr + offset); | 635 | page = virt_to_page(idev->info->mem[mi].addr + offset); |
636 | else | 636 | else |
637 | page = vmalloc_to_page((void *)idev->info->mem[mi].addr | 637 | page = vmalloc_to_page((void *)(unsigned long)idev->info->mem[mi].addr + offset); |
638 | + offset); | ||
639 | get_page(page); | 638 | get_page(page); |
640 | vmf->page = page; | 639 | vmf->page = page; |
641 | return 0; | 640 | return 0; |