IB/hfi1: use offset_in_page macro
authorGeliang Tang <geliangtang@163.com>
Sat, 3 Oct 2015 02:34:59 +0000 (10:34 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Oct 2015 12:11:19 +0000 (13:11 +0100)
Use offset_in_page macro instead of (addr & ~PAGE_MASK).

Signed-off-by: Geliang Tang <geliangtang@163.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rdma/hfi1/file_ops.c

index 9a77221855e215a3efbc4b7ff9700228eccefbff..7d286805098152b87d96f8427906adfe2bf29844 100644 (file)
@@ -168,7 +168,7 @@ enum mmap_types {
        HFI1_MMAP_TOKEN_SET(TYPE, type) | \
        HFI1_MMAP_TOKEN_SET(CTXT, ctxt) | \
        HFI1_MMAP_TOKEN_SET(SUBCTXT, subctxt) | \
-       HFI1_MMAP_TOKEN_SET(OFFSET, ((unsigned long)addr & ~PAGE_MASK)))
+       HFI1_MMAP_TOKEN_SET(OFFSET, (offset_in_page(addr))))
 
 #define EXP_TID_SET(field, value)                      \
        (((value) & EXP_TID_TID##field##_MASK) <<       \
@@ -1335,9 +1335,9 @@ static int get_base_info(struct file *fp, void __user *ubase, __u32 len)
         */
        binfo.user_regbase = HFI1_MMAP_TOKEN(UREGS, uctxt->ctxt,
                                            subctxt_fp(fp), 0);
-       offset = ((((uctxt->ctxt - dd->first_user_ctxt) *
+       offset = offset_in_page((((uctxt->ctxt - dd->first_user_ctxt) *
                    HFI1_MAX_SHARED_CTXTS) + subctxt_fp(fp)) *
-                 sizeof(*dd->events)) & ~PAGE_MASK;
+                 sizeof(*dd->events));
        binfo.events_bufbase = HFI1_MMAP_TOKEN(EVENTS, uctxt->ctxt,
                                              subctxt_fp(fp),
                                              offset);
@@ -1573,7 +1573,7 @@ static int exp_tid_setup(struct file *fp, struct hfi1_tid_info *tinfo)
 
        vaddr = tinfo->vaddr;
 
-       if (vaddr & ~PAGE_MASK) {
+       if (offset_in_page(vaddr)) {
                ret = -EINVAL;
                goto bail;
        }