All of lore.kernel.org
 help / color / mirror / Atom feed
From: Harry Wei <jiaweiwei.xiyou@gmail.com>
To: Randy Dunlap <randy.dunlap@oracle.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH]Remove a warning for drivers/edac/i82975x_edac.c
Date: Tue, 7 Jun 2011 09:12:02 +0800	[thread overview]
Message-ID: <20110607011200.GC8892@gmail.com> (raw)
In-Reply-To: <20110606133652.1d146bba.randy.dunlap@oracle.com>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=unknown-8bit, Size: 2460 bytes --]

On Mon, Jun 06, 2011 at 01:36:52PM -0700, Randy Dunlap wrote:
> On Sat, 4 Jun 2011 10:22:21 +0800 Harry Wei wrote:
> 
> > From: Harry Wei <harryxiyou@gmail.com>
> > 
> > When i compile 2.6.39.1, a warning shows like below.
> > This patch can fix the warning. And i works well with
> > my PC.
> 
> Hi Harry,
> 
> Does "works well with my PC" mean that you boot-tested this patch
> or just compile-tested it?
No, i just test with the following codes.

#include <stdio.h>

int main(void)
{
	unsigned long a;

	a = 0x100000000ul;
	printf("%lu\n", a);
	return 0;
}
jiawei@jiawei-laptop:~/GTK$ gcc 5.c -Wall -o 1
5.c: In function ‘main’:
5.c:7: warning: integer constant is too large for ‘unsigned long’ type
5.c:7: warning: large integer implicitly truncated to unsigned type

But if you program it like below, it is well for us.

#include <stdio.h>

int main(void)
{
	unsigned long long a;

	a = 0x100000000ull;

	printf("%llu\n", a);
	return 0;
}

> 
> and if you boot-tested it, do you have hardware that actually
> exercises this code path?
> 
> > [...]
> > CC [M]  drivers/edac/e752x_edac.o
> > CC [M]  drivers/edac/i82875p_edac.o
> > CC [M]  drivers/edac/i82975x_edac.o
> > drivers/edac/i82975x_edac.c: In function ?????????i82975x_process_error_info?????????:
> > drivers/edac/i82975x_edac.c:298: warning: integer constant is too large for ?????????unsigned long????????? type
> > CC [M]  drivers/edac/i3000_edac.o
> > CC [M]  drivers/edac/i3200_edac.o
> > CC [M]  drivers/edac/x38_edac.o
> > CC [M]  drivers/edac/i82860_edac.o
> > [...]
> > 
> > Signed-off-by: Harry Wei <harryxiyou@gmail.com>
> > 
> > Index: prj/drivers/edac/i82975x_edac.c
> > ===================================================================
> > --- prj.orig/drivers/edac/i82975x_edac.c	2011-06-04 10:09:55.351174516 +0800
> > +++ prj/drivers/edac/i82975x_edac.c	2011-06-04 10:10:30.875168437 +0800
> > @@ -293,9 +293,9 @@
> >  		info->errsts = info->errsts2;
> >  	}
> >  
> > -	page = (unsigned long) info->eap;
> > +	page = (unsigned long long) info->eap;
> 
> but page is still declared as unsigned long.  should it be unsigned long long?
I think it should be unsigned long long, unsigned long can not store 
0x100000000. It has been beyond its reach. So unsigned long long is
well for us.
> 
> >  	if (info->xeap & 1)
> > -		page |= 0x100000000ul;
> > +		page |= 0x100000000ull;
> >  	chan = page & 1;
> >  	page >>= 1;
> >  	offst = page & ((1 << PAGE_SHIFT) - 1);
> 
> 

      reply	other threads:[~2011-06-07  1:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-04  2:22 [PATCH]Remove a warning for drivers/edac/i82975x_edac.c Harry Wei
2011-06-06 20:36 ` Randy Dunlap
2011-06-06 20:36   ` Randy Dunlap
2011-06-07  1:12   ` Harry Wei [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=20110607011200.GC8892@gmail.com \
    --to=jiaweiwei.xiyou@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=randy.dunlap@oracle.com \
    /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.