struct shdma_chan *schan = to_shdma_chan(chan);
        struct shdma_dev *sdev = to_shdma_dev(schan->dma_chan.device);
        const struct shdma_ops *ops = sdev->ops;
-       int match = (int)arg;
+       int match = (long)arg;
        int ret;
 
        if (match < 0)
        }
 
        dev_dbg(schan->dev,
-               "chaining (%u/%u)@%x -> %x with %p, cookie %d\n",
-               copy_size, *len, *src, *dst, &new->async_tx,
+               "chaining (%zu/%zu)@%pad -> %pad with %p, cookie %d\n",
+               copy_size, *len, src, dst, &new->async_tx,
                new->async_tx.cookie);
 
        new->mark = DESC_PREPARED;
                        goto err_get_desc;
 
                do {
-                       dev_dbg(schan->dev, "Add SG #%d@%p[%d], dma %llx\n",
-                               i, sg, len, (unsigned long long)sg_addr);
+                       dev_dbg(schan->dev, "Add SG #%d@%p[%zu], dma %pad\n",
+                               i, sg, len, &sg_addr);
 
                        if (direction == DMA_DEV_TO_MEM)
                                new = shdma_add_desc(schan, flags,
 
        /* Only slave DMA channels can be allocated via DT */
        dma_cap_set(DMA_SLAVE, mask);
 
-       chan = dma_request_channel(mask, shdma_chan_filter, (void *)id);
+       chan = dma_request_channel(mask, shdma_chan_filter,
+                                  (void *)(uintptr_t)id);
        if (chan)
                to_shdma_chan(chan)->hw_req = id;
 
 
        struct sudmac_chan *sc = to_chan(schan);
        struct sudmac_desc *sd = to_desc(sdesc);
 
-       dev_dbg(sc->shdma_chan.dev, "%s: src=%x, dst=%x, len=%d\n",
-               __func__, src, dst, *len);
+       dev_dbg(sc->shdma_chan.dev, "%s: src=%pad, dst=%pad, len=%zu\n",
+               __func__, &src, &dst, *len);
 
        if (*len > schan->max_xfer_len)
                *len = schan->max_xfer_len;