From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753977AbcBGNtV (ORCPT ); Sun, 7 Feb 2016 08:49:21 -0500 Received: from mout.gmx.net ([212.227.17.21]:61205 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753349AbcBGNtT (ORCPT ); Sun, 7 Feb 2016 08:49:19 -0500 Date: Sun, 7 Feb 2016 14:48:42 +0100 (CET) From: Guennadi Liakhovetski X-X-Sender: lyakh@axis700.grange To: Arnd Bergmann cc: Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH] [media] mx3_camera: use %pad format string for dma_ddr_t In-Reply-To: <1527735.0V0q3NFh2C@wuerfel> Message-ID: References: <1527735.0V0q3NFh2C@wuerfel> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Provags-ID: V03:K0:QqvH6P5C2eqwNkP3AxDxkbqT05oCLtdIBhrD/BwEttBdm/Gc7mb z7VOKcvYF3+bFHfGDn8o8OyxL8PjP50iEvxJp9IQX7joPcTx1E8mtTjkbe07daziRy7jrLf UcNIuJgZh32ey1wGfx9tGcAAo7QNRRr4RQxFQd6Ifhj/5FwEya+LI4X9JqvOdjqAI5D7Hix enoT84nDpAN2sDOcs0yGw== X-UI-Out-Filterresults: notjunk:1;V01:K0:mdPLHL35q0Y=:uvbNiMSoTfiG7paIoBe8vL FtP88WBDW/5NhgV2u9svxjfx9WADnc3kOpiO0iP+r99HyPCenwetq3t82r7k5OzTL/ajOUv7L t35ZSkyUxP1ff581WxdHE2iV7/v3oJh47bWy8jHJLm9N3Cs7WzeV/avw+EaOCATVZNlFLXek5 Ym/Godim7O12179OT+BHxarnefyi40bew2Swz9xAzmrqCLzk8KTs3zf8xnHSTLqOOzj4yhlx8 zlRiUy0y2x4pMwe6PgAJ116t7+i2VNmRMAJNXIKQYWOLhcxrN4wWS2OeG+eHTcBsWeng9k82J nW81I5k5w9fctVFqZmdwp6tdZ593VATfDSvPgDF1PojNBP+fUbH241Qz9y7/efHzuGWjGKeRt QH9XEdN9YZXy2Gtns5/4kKA6xWDRuh6KyTJRFzDlalvER0iwealx1creBkSin4aSjO+QMH1pk BoYVfnmfwDjOKilC1zmycoGsnMgoUq3kJfnh59CrcQY970OGYbtM8JzXb4BIGRbxeWbi2wdTF w3f6rBFrNfjh21imKeOqwWfQEr2dZQAZp5iMI/ml4b/Zoe1MbSmOLZOP0LoO819ZUK7GkELV+ F1Uj00xuChz2Z0FI/VogADp7er5F9lp+HDysAo5/O1LmWpD/rDkS/lPl9x9a7Z/9kJcSKVBK/ eoos2mzo9urRD5J6WKJ33mNKfeKCUi/KvhC0O+f5nCBAr5XnbQZmLUZMT2uozXfawO1YtjUBp HcYwQlrF49QtB9zyFwowv9Suyi4hyV+GfQlorQuMOih5uQxfiYlNHzN8Ta/8BVKdG7/c/8Be9 3GnH8J3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnd, On Mon, 1 Feb 2016, Arnd Bergmann wrote: > The mx3_camera driver prints DMA addresses using the "%x" format > string, which is wrong when using a 64-bit dma_addr_t definition: > > media/platform/soc_camera/mx3_camera.c: In function 'mx3_cam_dma_done': > media/platform/soc_camera/mx3_camera.c:149:125: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t {aka long long unsigned int}' [-Werror=format=] > media/platform/soc_camera/mx3_camera.c: In function 'mx3_videobuf_queue': > media/platform/soc_camera/mx3_camera.c:317:119: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t {aka long long unsigned int}' [-Werror=format=] > media/platform/soc_camera/mx3_camera.c: In function 'mx3_videobuf_release': > media/platform/soc_camera/mx3_camera.c:346:119: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t {aka long long unsigned int}' [-Werror=format=] > > This changes the code to use the special %pad format string, which > always does the right thing. > > Signed-off-by: Arnd Bergmann Thanks for the patch. I'll queue it for 4.6. Guennadi > --- > Another old bug that only rarely shows up in ARM randconfigs. > > diff --git a/drivers/media/platform/soc_camera/mx3_camera.c b/drivers/media/platform/soc_camera/mx3_camera.c > index 169ed1150226..aa39e9569b1a 100644 > --- a/drivers/media/platform/soc_camera/mx3_camera.c > +++ b/drivers/media/platform/soc_camera/mx3_camera.c > @@ -146,8 +146,8 @@ static void mx3_cam_dma_done(void *arg) > struct idmac_channel *ichannel = to_idmac_chan(chan); > struct mx3_camera_dev *mx3_cam = ichannel->client; > > - dev_dbg(chan->device->dev, "callback cookie %d, active DMA 0x%08x\n", > - desc->txd.cookie, mx3_cam->active ? sg_dma_address(&mx3_cam->active->sg) : 0); > + dev_dbg(chan->device->dev, "callback cookie %d, active DMA %pad\n", > + desc->txd.cookie, mx3_cam->active ? &sg_dma_address(&mx3_cam->active->sg) : NULL); > > spin_lock(&mx3_cam->lock); > if (mx3_cam->active) { > @@ -314,8 +314,8 @@ static void mx3_videobuf_queue(struct vb2_buffer *vb) > spin_unlock_irq(&mx3_cam->lock); > > cookie = txd->tx_submit(txd); > - dev_dbg(icd->parent, "Submitted cookie %d DMA 0x%08x\n", > - cookie, sg_dma_address(&buf->sg)); > + dev_dbg(icd->parent, "Submitted cookie %d DMA %pad\n", > + cookie, &sg_dma_address(&buf->sg)); > > if (cookie >= 0) > return; > @@ -344,8 +344,8 @@ static void mx3_videobuf_release(struct vb2_buffer *vb) > unsigned long flags; > > dev_dbg(icd->parent, > - "Release%s DMA 0x%08x, queue %sempty\n", > - mx3_cam->active == buf ? " active" : "", sg_dma_address(&buf->sg), > + "Release%s DMA %pad, queue %sempty\n", > + mx3_cam->active == buf ? " active" : "", &sg_dma_address(&buf->sg), > list_empty(&buf->queue) ? "" : "not "); > > spin_lock_irqsave(&mx3_cam->lock, flags); >