The DPIO driver incorrectly assumes virtual addresses are always
64b long, which causes compiler errors when building for a 32b
platform.
Fix this by using explicit casts to uintptr_t where necessary.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                        u64 q64;
 
                        q64 = qbman_result_SCN_ctx(dq);
-                       ctx = (void *)q64;
+                       ctx = (void *)(uintptr_t)q64;
                        ctx->cb(ctx);
                } else {
                        pr_crit("fsl-mc-dpio: Unrecognised/ignored DQRR entry\n");
                return -ENODEV;
 
        ctx->dpio_id = d->dpio_desc.dpio_id;
-       ctx->qman64 = (u64)ctx;
+       ctx->qman64 = (u64)(uintptr_t)ctx;
        ctx->dpio_private = d;
        spin_lock_irqsave(&d->lock_notifications, irqflags);
        list_add(&ctx->node, &d->notifications);
 
                                 int stash)
 {
        /* save the virtual address */
-       d->rsp_addr_virt = (u64)storage;
+       d->rsp_addr_virt = (u64)(uintptr_t)storage;
 
        if (!storage) {
                d->verb &= ~(1 << QB_VDQCR_VERB_RLS_SHIFT);
                atomic_inc(&s->vdq.available);
                return -EBUSY;
        }
-       s->vdq.storage = (void *)d->rsp_addr_virt;
+       s->vdq.storage = (void *)(uintptr_t)d->rsp_addr_virt;
        p = qbman_get_cmd(s, QBMAN_CENA_SWP_VDQCR);
        p->numf = d->numf;
        p->tok = QMAN_DQ_TOKEN_VALID;