diff options
author | Ioana Radulescu <ruxandra.radulescu@nxp.com> | 2018-02-26 10:28:04 -0600 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-03-01 17:27:18 +0100 |
commit | a4c4f360316ce0684335d2bf15b364b10b23c35a (patch) | |
tree | a5be84399e0d20d43f1ec4b53eb5b0b79b3a0113 /drivers/staging/fsl-mc | |
parent | e1a7418529e33bc4efc346324557251a16a3e79b (diff) |
staging: fsl-mc/dpio: Fix incorrect casts
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>
Diffstat (limited to 'drivers/staging/fsl-mc')
-rw-r--r-- | drivers/staging/fsl-mc/bus/dpio/dpio-service.c | 4 | ||||
-rw-r--r-- | drivers/staging/fsl-mc/bus/dpio/qbman-portal.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-service.c b/drivers/staging/fsl-mc/bus/dpio/dpio-service.c index 1acff7ee7bb9..14ed2beb7432 100644 --- a/drivers/staging/fsl-mc/bus/dpio/dpio-service.c +++ b/drivers/staging/fsl-mc/bus/dpio/dpio-service.c @@ -192,7 +192,7 @@ irqreturn_t dpaa2_io_irq(struct dpaa2_io *obj) 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"); @@ -237,7 +237,7 @@ int dpaa2_io_service_register(struct dpaa2_io *d, 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); diff --git a/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c b/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c index 376e9ed0297a..f57c151cf1e8 100644 --- a/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c +++ b/drivers/staging/fsl-mc/bus/dpio/qbman-portal.c @@ -497,7 +497,7 @@ void qbman_pull_desc_set_storage(struct qbman_pull_desc *d, 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); @@ -590,7 +590,7 @@ int qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d) 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; |