mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: sparse warnings
Date: Thu, 18 Nov 2010 11:22:06 +0100	[thread overview]
Message-ID: <20101118102206.GL8942@pengutronix.de> (raw)
In-Reply-To: <20101118100133.GU6017@pengutronix.de>

On Thu, Nov 18, 2010 at 11:01:33AM +0100, Sascha Hauer wrote:
> On Thu, Nov 18, 2010 at 10:36:51AM +0100, Belisko Marek wrote:
> > Hi,
> > 
> > On Wed, Nov 17, 2010 at 10:11 AM, Sascha Hauer <s.hauer@pengutronix.de> wrote:
> > > Hi Marek,
> > >
> > > On Mon, Nov 15, 2010 at 03:20:47PM +0100, Belisko Marek wrote:
> > >> Hi,
> > >>
> > >> barebox compilation with C=1 produce a lot of sparse warnings.
> > >> Mainly concerning __iomem problems with readb() and similar functions.
> > >>
> > >> Make it sense to take care or just could be omitted?
> > >
> > > I think it makes sense to work on this. Then we can see the useful
> > > warnings buried under the __iomem warnings.
> > >
> > > I had the idea of adding a
> > >
> > > #define IOMEM(addr)        ((void __force __iomem *)(addr))
> > >
> > > and use it where appropriate.
> > Maybe stupid question but couldn't be __iomem mechanism removed completely?
> > Do we need to check for different address_space? In my opinion it
> > makes no sense in
> > barebox.
> 
> I have a better feeling letting it in. There may be no different address
> spaces on Arm, but there are for exmample on x86.
> You can simply do a #define __iomem in include/linux/compiler.h to
> silence these kinds of warnings temporarily if you are not interested.
> I agree that at least on Arm these warnings will not reveal any real
> bugs.
I can imagine you to get hard to find bugs if you interpret a pointer to
registers as normal pointer without volatile.  Something like:

	unsigned long *register = 0xabcdef04;
	while (*register & SOME_FLAG)
		/* nothing */

This might generate code that corresponds to

	if (*register & SOME_FLAG)
		while(1);

So I feel for letting it in, too.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

      reply	other threads:[~2010-11-18 10:22 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-15 14:20 Belisko Marek
2010-11-17  9:11 ` Sascha Hauer
2010-11-18  9:36   ` Belisko Marek
2010-11-18 10:01     ` Sascha Hauer
2010-11-18 10:22       ` Uwe Kleine-König [this message]

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=20101118102206.GL8942@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=s.hauer@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