From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Simon Horman <horms@verge.net.au>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
linux-sh@vger.kernel.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-serial@vger.kernel.org
Subject: Re: [PATCH v2] serial: sh-sci: Fix warnings due to improper casts and printk formats
Date: Thu, 28 Nov 2013 14:00:35 +0000 [thread overview]
Message-ID: <1772107.qNxlNP4NDS@avalon> (raw)
In-Reply-To: <20131128072731.GB24146@verge.net.au>
Hi Simon,
On Thursday 28 November 2013 16:27:31 Simon Horman wrote:
> On Wed, Nov 27, 2013 at 11:10:37AM +0100, Laurent Pinchart wrote:
> > Use the %zu printk specifier to print size_t variables, and cast
> > pointers to uintptr_t instead of unsigned int where applicable. This
> > fixes warnings on platforms where pointers and/or dma_addr_t have a
> > different size than int.
> >
> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > Cc: linux-serial@vger.kernel.org
> > Signed-off-by: Laurent Pinchart
> > <laurent.pinchart+renesas@ideasonboard.com>
>
> Acked-by: Simon Horman <horms+renesas@verge.net.au>
>
> Laurent, I am assuming that you would like Greg to take this one.
Actually, as we have quite a few pending sh-sci patches interleaved with
arch/arm patches, it would be easier if all sh-sci patches went through your
tree for this kernel version. That's if Greg agrees of course.
> > ---
> >
> > drivers/tty/serial/sh-sci.c | 19 ++++++++++---------
> > 1 file changed, 10 insertions(+), 9 deletions(-)
> >
> > Changes compared to v1:
> >
> > - Cast to uintptr_t instead of unsigned long
> >
> > diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
> > index 7d8103c..680e0d9 100644
> > --- a/drivers/tty/serial/sh-sci.c
> > +++ b/drivers/tty/serial/sh-sci.c
> > @@ -557,7 +557,7 @@ static inline int sci_rxd_in(struct uart_port *port)
> >
> > return 1;
> >
> > /* Cast for ARM damage */
> >
> > - return !!__raw_readb((void __iomem *)s->cfg->port_reg);
> > + return !!__raw_readb((void __iomem *)(uintptr_t)s->cfg->port_reg);
> >
> > }
> >
> > /* **********************************************************************
> > *
> >
> > @@ -1309,7 +1309,7 @@ static int sci_dma_rx_push(struct sci_port *s,
> > size_t count)>
> > }
> >
> > if (room < count)
> >
> > - dev_warn(port->dev, "Rx overrun: dropping %u bytes\n",
> > + dev_warn(port->dev, "Rx overrun: dropping %zu bytes\n",
> >
> > count - room);
> >
> > if (!room)
> >
> > return room;
> >
> > @@ -1442,7 +1442,7 @@ static void work_fn_rx(struct work_struct *work)
> >
> > int count;
> >
> > chan->device->device_control(chan, DMA_TERMINATE_ALL, 0);
> >
> > - dev_dbg(port->dev, "Read %u bytes with cookie %d\n",
> > + dev_dbg(port->dev, "Read %zu bytes with cookie %d\n",
> >
> > sh_desc->partial, sh_desc->cookie);
> >
> > spin_lock_irqsave(&port->lock, flags);
> >
> > @@ -1691,16 +1691,17 @@ static void sci_request_dma(struct uart_port
> > *port)
> >
> > s->chan_tx = chan;
> > sg_init_table(&s->sg_tx, 1);
> > /* UART circular tx buffer is an aligned page. */
> >
> > - BUG_ON((int)port->state->xmit.buf & ~PAGE_MASK);
> > + BUG_ON((uintptr_t)port->state->xmit.buf & ~PAGE_MASK);
> >
> > sg_set_page(&s->sg_tx, virt_to_page(port->state->xmit.buf),
> >
> > - UART_XMIT_SIZE, (int)port->state->xmit.buf & ~PAGE_MASK);
> > + UART_XMIT_SIZE,
> > + (uintptr_t)port->state->xmit.buf & ~PAGE_MASK);
> >
> > nent = dma_map_sg(port->dev, &s->sg_tx, 1, DMA_TO_DEVICE);
> > if (!nent)
> >
> > sci_tx_dma_release(s, false);
> >
> > else
> >
> > - dev_dbg(port->dev, "%s: mapped %d@%p to %x\n", __func__,
> > - sg_dma_len(&s->sg_tx),
> > - port->state->xmit.buf, sg_dma_address(&s->sg_tx));
> > + dev_dbg(port->dev, "%s: mapped %d@%p to %lx\n", __func__,
> > + sg_dma_len(&s->sg_tx), port->state->xmit.buf,
> > + (uintptr_t)sg_dma_address(&s->sg_tx));
> >
> > s->sg_len_tx = nent;
> >
> > @@ -1740,7 +1741,7 @@ static void sci_request_dma(struct uart_port *port)
> >
> > sg_init_table(sg, 1);
> > sg_set_page(sg, virt_to_page(buf[i]), s->buf_len_rx,
> >
> > - (int)buf[i] & ~PAGE_MASK);
> > + (uintptr_t)buf[i] & ~PAGE_MASK);
> >
> > sg_dma_address(sg) = dma[i];
> >
> > }
--
Regards,
Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Simon Horman <horms@verge.net.au>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
linux-sh@vger.kernel.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-serial@vger.kernel.org
Subject: Re: [PATCH v2] serial: sh-sci: Fix warnings due to improper casts and printk formats
Date: Thu, 28 Nov 2013 15:00:35 +0100 [thread overview]
Message-ID: <1772107.qNxlNP4NDS@avalon> (raw)
In-Reply-To: <20131128072731.GB24146@verge.net.au>
Hi Simon,
On Thursday 28 November 2013 16:27:31 Simon Horman wrote:
> On Wed, Nov 27, 2013 at 11:10:37AM +0100, Laurent Pinchart wrote:
> > Use the %zu printk specifier to print size_t variables, and cast
> > pointers to uintptr_t instead of unsigned int where applicable. This
> > fixes warnings on platforms where pointers and/or dma_addr_t have a
> > different size than int.
> >
> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > Cc: linux-serial@vger.kernel.org
> > Signed-off-by: Laurent Pinchart
> > <laurent.pinchart+renesas@ideasonboard.com>
>
> Acked-by: Simon Horman <horms+renesas@verge.net.au>
>
> Laurent, I am assuming that you would like Greg to take this one.
Actually, as we have quite a few pending sh-sci patches interleaved with
arch/arm patches, it would be easier if all sh-sci patches went through your
tree for this kernel version. That's if Greg agrees of course.
> > ---
> >
> > drivers/tty/serial/sh-sci.c | 19 ++++++++++---------
> > 1 file changed, 10 insertions(+), 9 deletions(-)
> >
> > Changes compared to v1:
> >
> > - Cast to uintptr_t instead of unsigned long
> >
> > diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
> > index 7d8103c..680e0d9 100644
> > --- a/drivers/tty/serial/sh-sci.c
> > +++ b/drivers/tty/serial/sh-sci.c
> > @@ -557,7 +557,7 @@ static inline int sci_rxd_in(struct uart_port *port)
> >
> > return 1;
> >
> > /* Cast for ARM damage */
> >
> > - return !!__raw_readb((void __iomem *)s->cfg->port_reg);
> > + return !!__raw_readb((void __iomem *)(uintptr_t)s->cfg->port_reg);
> >
> > }
> >
> > /* **********************************************************************
> > *
> >
> > @@ -1309,7 +1309,7 @@ static int sci_dma_rx_push(struct sci_port *s,
> > size_t count)>
> > }
> >
> > if (room < count)
> >
> > - dev_warn(port->dev, "Rx overrun: dropping %u bytes\n",
> > + dev_warn(port->dev, "Rx overrun: dropping %zu bytes\n",
> >
> > count - room);
> >
> > if (!room)
> >
> > return room;
> >
> > @@ -1442,7 +1442,7 @@ static void work_fn_rx(struct work_struct *work)
> >
> > int count;
> >
> > chan->device->device_control(chan, DMA_TERMINATE_ALL, 0);
> >
> > - dev_dbg(port->dev, "Read %u bytes with cookie %d\n",
> > + dev_dbg(port->dev, "Read %zu bytes with cookie %d\n",
> >
> > sh_desc->partial, sh_desc->cookie);
> >
> > spin_lock_irqsave(&port->lock, flags);
> >
> > @@ -1691,16 +1691,17 @@ static void sci_request_dma(struct uart_port
> > *port)
> >
> > s->chan_tx = chan;
> > sg_init_table(&s->sg_tx, 1);
> > /* UART circular tx buffer is an aligned page. */
> >
> > - BUG_ON((int)port->state->xmit.buf & ~PAGE_MASK);
> > + BUG_ON((uintptr_t)port->state->xmit.buf & ~PAGE_MASK);
> >
> > sg_set_page(&s->sg_tx, virt_to_page(port->state->xmit.buf),
> >
> > - UART_XMIT_SIZE, (int)port->state->xmit.buf & ~PAGE_MASK);
> > + UART_XMIT_SIZE,
> > + (uintptr_t)port->state->xmit.buf & ~PAGE_MASK);
> >
> > nent = dma_map_sg(port->dev, &s->sg_tx, 1, DMA_TO_DEVICE);
> > if (!nent)
> >
> > sci_tx_dma_release(s, false);
> >
> > else
> >
> > - dev_dbg(port->dev, "%s: mapped %d@%p to %x\n", __func__,
> > - sg_dma_len(&s->sg_tx),
> > - port->state->xmit.buf, sg_dma_address(&s->sg_tx));
> > + dev_dbg(port->dev, "%s: mapped %d@%p to %lx\n", __func__,
> > + sg_dma_len(&s->sg_tx), port->state->xmit.buf,
> > + (uintptr_t)sg_dma_address(&s->sg_tx));
> >
> > s->sg_len_tx = nent;
> >
> > @@ -1740,7 +1741,7 @@ static void sci_request_dma(struct uart_port *port)
> >
> > sg_init_table(sg, 1);
> > sg_set_page(sg, virt_to_page(buf[i]), s->buf_len_rx,
> >
> > - (int)buf[i] & ~PAGE_MASK);
> > + (uintptr_t)buf[i] & ~PAGE_MASK);
> >
> > sg_dma_address(sg) = dma[i];
> >
> > }
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2013-11-28 14:00 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-27 10:10 [PATCH v2] serial: sh-sci: Fix warnings due to improper casts and printk formats Laurent Pinchart
2013-11-27 10:10 ` Laurent Pinchart
2013-11-28 7:27 ` Simon Horman
2013-11-28 7:27 ` Simon Horman
2013-11-28 14:00 ` Laurent Pinchart [this message]
2013-11-28 14:00 ` Laurent Pinchart
2013-11-29 0:12 ` Simon Horman
2013-11-29 0:12 ` Simon Horman
2013-12-03 18:45 ` Greg Kroah-Hartman
2013-12-03 18:45 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1772107.qNxlNP4NDS@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=gregkh@linuxfoundation.org \
--cc=horms@verge.net.au \
--cc=laurent.pinchart+renesas@ideasonboard.com \
--cc=linux-serial@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.