On 09-08-19, 18:33, Arnd Bergmann wrote: > When compile-testing on other architectures, we get lots of warnings > about incorrect format strings, like: > > drivers/dma/iop-adma.c: In function 'iop_adma_alloc_slots': > drivers/dma/iop-adma.c:307:6: warning: format '%x' expects argument of type 'unsigned int', but argument 6 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=] > > drivers/dma/iop-adma.c: In function 'iop_adma_prep_dma_memcpy': > >> drivers/dma/iop-adma.c:518:40: warning: format '%u' expects argument of type 'unsigned int', but argument 5 has type 'size_t {aka long unsigned int}' [-Wformat=] > > Use %zu for printing size_t as required, and cast the dma_addr_t > arguments to 'u64' for printing with %llx. Ideally this should use > the %pad format string, but that requires an lvalue argument that > doesn't work here. Please change title to "dmaengine: iop-adma: use correct printk format strings" After that: Acked-by: Vinod Koul <vkoul@xxxxxxxxxx> > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > drivers/dma/iop-adma.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/drivers/dma/iop-adma.c b/drivers/dma/iop-adma.c > index 7857b54770d1..aebdd671651a 100644 > --- a/drivers/dma/iop-adma.c > +++ b/drivers/dma/iop-adma.c > @@ -117,9 +117,9 @@ static void __iop_adma_slot_cleanup(struct iop_adma_chan *iop_chan) > list_for_each_entry_safe(iter, _iter, &iop_chan->chain, > chain_node) { > pr_debug("\tcookie: %d slot: %d busy: %d " > - "this_desc: %#x next_desc: %#x ack: %d\n", > + "this_desc: %#x next_desc: %#llx ack: %d\n", > iter->async_tx.cookie, iter->idx, busy, > - iter->async_tx.phys, iop_desc_get_next_desc(iter), > + iter->async_tx.phys, (u64)iop_desc_get_next_desc(iter), > async_tx_test_ack(&iter->async_tx)); > prefetch(_iter); > prefetch(&_iter->async_tx); > @@ -307,9 +307,9 @@ iop_adma_alloc_slots(struct iop_adma_chan *iop_chan, int num_slots, > int i; > dev_dbg(iop_chan->device->common.dev, > "allocated slot: %d " > - "(desc %p phys: %#x) slots_per_op %d\n", > + "(desc %p phys: %#llx) slots_per_op %d\n", > iter->idx, iter->hw_desc, > - iter->async_tx.phys, slots_per_op); > + (u64)iter->async_tx.phys, slots_per_op); > > /* pre-ack all but the last descriptor */ > if (num_slots != slots_per_op) > @@ -517,7 +517,7 @@ iop_adma_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dma_dest, > return NULL; > BUG_ON(len > IOP_ADMA_MAX_BYTE_COUNT); > > - dev_dbg(iop_chan->device->common.dev, "%s len: %u\n", > + dev_dbg(iop_chan->device->common.dev, "%s len: %zu\n", > __func__, len); > > spin_lock_bh(&iop_chan->lock); > @@ -550,7 +550,7 @@ iop_adma_prep_dma_xor(struct dma_chan *chan, dma_addr_t dma_dest, > BUG_ON(len > IOP_ADMA_XOR_MAX_BYTE_COUNT); > > dev_dbg(iop_chan->device->common.dev, > - "%s src_cnt: %d len: %u flags: %lx\n", > + "%s src_cnt: %d len: %zu flags: %lx\n", > __func__, src_cnt, len, flags); > > spin_lock_bh(&iop_chan->lock); > @@ -583,7 +583,7 @@ iop_adma_prep_dma_xor_val(struct dma_chan *chan, dma_addr_t *dma_src, > if (unlikely(!len)) > return NULL; > > - dev_dbg(iop_chan->device->common.dev, "%s src_cnt: %d len: %u\n", > + dev_dbg(iop_chan->device->common.dev, "%s src_cnt: %d len: %zu\n", > __func__, src_cnt, len); > > spin_lock_bh(&iop_chan->lock); > @@ -621,7 +621,7 @@ iop_adma_prep_dma_pq(struct dma_chan *chan, dma_addr_t *dst, dma_addr_t *src, > BUG_ON(len > IOP_ADMA_XOR_MAX_BYTE_COUNT); > > dev_dbg(iop_chan->device->common.dev, > - "%s src_cnt: %d len: %u flags: %lx\n", > + "%s src_cnt: %d len: %zu flags: %lx\n", > __func__, src_cnt, len, flags); > > if (dmaf_p_disabled_continue(flags)) > @@ -684,7 +684,7 @@ iop_adma_prep_dma_pq_val(struct dma_chan *chan, dma_addr_t *pq, dma_addr_t *src, > return NULL; > BUG_ON(len > IOP_ADMA_XOR_MAX_BYTE_COUNT); > > - dev_dbg(iop_chan->device->common.dev, "%s src_cnt: %d len: %u\n", > + dev_dbg(iop_chan->device->common.dev, "%s src_cnt: %d len: %zu\n", > __func__, src_cnt, len); > > spin_lock_bh(&iop_chan->lock); > -- > 2.20.0 -- ~Vinod