2010-08-09 23:52:57

by Mike Frysinger

[permalink] [raw]
Subject: gpio-addr-flash warnings on x86/highmem (Re: i386 allmodconfig, current mainline)

On Mon, Aug 9, 2010 at 19:43, Andrew Morton wrote:
> Guys.  What's goin' on out there?
>
> drivers/mtd/maps/gpio-addr-flash.c: In function 'gpio_flash_probe':
> drivers/mtd/maps/gpio-addr-flash.c:212: warning: cast to pointer from integer of different size
> drivers/mtd/maps/gpio-addr-flash.c:224: warning: cast to pointer from integer of different size

i did get a bug report about this in the past, but honestly i havent
gotten around to fixing the issues. it's been low priority as my
understanding is that the warning shows up in configurations where the
driver isnt realistically usable. not making excuses, just laying out
the reality of things.
-mike


2010-08-10 00:07:14

by Andrew Morton

[permalink] [raw]
Subject: Re: gpio-addr-flash warnings on x86/highmem (Re: i386 allmodconfig, current mainline)

On Mon, 9 Aug 2010 19:52:35 -0400
Mike Frysinger <[email protected]> wrote:

> On Mon, Aug 9, 2010 at 19:43, Andrew Morton wrote:
> > Guys. __What's goin' on out there?
> >
> > drivers/mtd/maps/gpio-addr-flash.c: In function 'gpio_flash_probe':
> > drivers/mtd/maps/gpio-addr-flash.c:212: warning: cast to pointer from integer of different size
> > drivers/mtd/maps/gpio-addr-flash.c:224: warning: cast to pointer from integer of different size
>
> i did get a bug report about this in the past, but honestly i havent
> gotten around to fixing the issues. it's been low priority as my
> understanding is that the warning shows up in configurations where the
> driver isnt realistically usable. not making excuses, just laying out
> the reality of things.

Casting a resource_size_t to a kernel pointer is plain naughty.

I guess an acceptable "fix" would be to disable to offending combinations
in Kconfig and add a

BUILD_BUG_ON(sizeof(gpios->start) != sizeof(void *))

to catch stragglers.

But please do fix warnings, if only because the warning storm from
allmodconfig causes people to miss important warnings in all the noise.

2010-08-10 00:12:39

by Mike Frysinger

[permalink] [raw]
Subject: Re: gpio-addr-flash warnings on x86/highmem (Re: i386 allmodconfig, current mainline)

On Mon, Aug 9, 2010 at 20:07, Andrew Morton wrote:
> On Mon, 9 Aug 2010 19:52:35 -0400 Mike Frysinger wrote:
>> On Mon, Aug 9, 2010 at 19:43, Andrew Morton wrote:
>> > Guys. __What's goin' on out there?
>> >
>> > drivers/mtd/maps/gpio-addr-flash.c: In function 'gpio_flash_probe':
>> > drivers/mtd/maps/gpio-addr-flash.c:212: warning: cast to pointer from integer of different size
>> > drivers/mtd/maps/gpio-addr-flash.c:224: warning: cast to pointer from integer of different size
>>
>> i did get a bug report about this in the past, but honestly i havent
>> gotten around to fixing the issues.  it's been low priority as my
>> understanding is that the warning shows up in configurations where the
>> driver isnt realistically usable.  not making excuses, just laying out
>> the reality of things.
>
> Casting a resource_size_t to a kernel pointer is plain naughty.

i agree now, but when i wrote the driver, i wasnt aware of these
subtleties when dealing with highmem

> I guess an acceptable "fix" would be to disable to offending combinations
> in Kconfig and add a
>
>        BUILD_BUG_ON(sizeof(gpios->start) != sizeof(void *))
>
> to catch stragglers.

if someone wanted to throw that in now, i wouldnt have a problem with it

> But please do fix warnings, if only because the warning storm from
> allmodconfig causes people to miss important warnings in all the noise.

i try to be proactive with warnings that show up for my arch
(Blackfin), but admittedly i can get a little lazy when i'm not
directly affected

i think i should be able to find time before 2.6.36 to send out a
patch for the issue
-mike