linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@arm.com>
To: Alexandre Belloni <alexandre.belloni@free-electrons.com>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Jiri Slaby" <jslaby@suse.com>,
	"Nicolas Ferre" <nicolas.ferre@atmel.com>,
	linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] serial: atmel: fix compiler warning on address cast
Date: Thu, 8 Oct 2015 15:49:54 +0100	[thread overview]
Message-ID: <56168292.5030207@arm.com> (raw)
In-Reply-To: <20151008103835.GF3485@piout.net>

Hi,

On 08/10/15 11:38, Alexandre Belloni wrote:
> On 08/10/2015 at 10:37:49 +0100, Russell King - ARM Linux wrote :
>> On Thu, Oct 08, 2015 at 11:01:48AM +0200, Alexandre Belloni wrote:
>>> On 05/10/2015 at 18:00:52 +0100, Andre Przywara wrote :
>>>> Turning on KVM and LPAE support on top of a multi_v7_defconfig will
>>>> produce a compiler warning in the Atmel serial driver:
>>>> drivers/tty/serial/atmel_serial.c: In function 'atmel_verify_port':
>>>> drivers/tty/serial/atmel_serial.c:2299:6: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>>>>   if ((void *)port->mapbase != ser->iomem_base)
>>>>       ^
>>>>
>>>> Fix that by using the cast on the right hand side instead, as similar
>>>> code already does in other drivers.
>>>>
>>>> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
>>> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
>>
>> Hmm, this actually points at a problem, and the cast screems out about it.
>> Think about it, can you guess what it is?

Russell, I'd really appreciate if we wouldn't have to play
"guess-what-I-am-thinking" here. Can't you just say what's bothering you?

> My understanding of the issue is that port->mapbase is a 64bit
> resource_size_t, and is larger than void * hence the warning. Casting
> iomem_base to unsigned long seems safe to me, am I wrong?

That is what I found out as well: it's comparing a physical address with
a pointer. And I tried to get to the root of this mismatch and fix it
there, but it turned out to be really old code to allow userspace to
setup serial ports by providing the MMIO address (IIRC this was for old
PC-style non-PnP serial ports some 20 years ago).
This whole concept is really outdated and probably does not make sense
at all for most drivers (except 8250 on i386).
Fixing this is a different task, I think, since it would impact most
serial drivers. I am happy to tackle this later, btw.

But this patch was just to fix the compiler warning I see every time now
and still meant for 4.3, so I kept it deliberately simple and contained.

Is that a solution we can agree on?

Cheers,
Andre.

  reply	other threads:[~2015-10-08 14:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-05 17:00 [PATCH] serial: atmel: fix compiler warning on address cast Andre Przywara
2015-10-08  9:01 ` Alexandre Belloni
2015-10-08  9:37   ` Russell King - ARM Linux
2015-10-08 10:38     ` Alexandre Belloni
2015-10-08 14:49       ` Andre Przywara [this message]
2015-10-08 15:01         ` Russell King - ARM Linux

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=56168292.5030207@arm.com \
    --to=andre.przywara@arm.com \
    --cc=alexandre.belloni@free-electrons.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jslaby@suse.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=nicolas.ferre@atmel.com \
    --cc=u.kleine-koenig@pengutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).