IB/qib: Fix null pointer subtraction compiler warning
[linux-2.6-microblaze.git] / drivers / infiniband / hw / qib / qib_sysfs.c
index d57e49d..452e235 100644 (file)
@@ -403,9 +403,11 @@ static ssize_t diagc_attr_store(struct ib_device *ibdev, u32 port_num,
 }
 
 #define QIB_DIAGC_ATTR(N)                                                      \
+       static_assert(&((struct qib_ibport *)0)->rvp.n_##N != (u64 *)NULL);    \
        static struct qib_diagc_attr qib_diagc_attr_##N = {                    \
                .attr = __ATTR(N, 0664, diagc_attr_show, diagc_attr_store),    \
-               .counter = &((struct qib_ibport *)0)->rvp.n_##N - (u64 *)0,    \
+               .counter =                                                     \
+                       offsetof(struct qib_ibport, rvp.n_##N) / sizeof(u64)   \
        }
 
 QIB_DIAGC_ATTR(rc_resends);