[U-Boot] [PATCH 2/2] e1000: fix PCI memory addressing
Timur Tabi
timur at freescale.com
Sat Aug 22 14:54:01 CEST 2009
Wolfgang Denk wrote:
> Dear Timur Tabi,
>
> In message<1250542538-5717-1-git-send-email-timur at freescale.com> you wrote:
>> The Intel E1000 driver was making assumptions about the relationship between
>> some virtual, physical, and PCI addresses.
>>
>> Also fix some bad usage of the DEBUGOUT macro
>>
>> Signed-off-by: Timur Tabi<timur at freescale.com>
>> ---
>> drivers/net/e1000.c | 17 +++++++++--------
>> 1 files changed, 9 insertions(+), 8 deletions(-)
>
> This patch causes compiler warnings:
>
> Configuring for MVBC_P board...
> e1000.c: In function 'e1000_transmit':
> e1000.c:5019: warning: passing argument 1 of 'virt_to_phys' discards
> qualifiers from pointer target type
I can't reproduce this problem.
powerpc-linux-gnu-gcc -g -Os -fPIC -ffixed-r14 -meabi -D__KERNEL__
-DTEXT_BASE=0xFF800000 -I/home/b04825/git/u-boot.e1000/include
-fno-builtin -ffreestanding -nostdinc -isystem
/opt/freescale/usr/local/gcc-4.3.74-eglibc-2.8.74-2/powerpc-linux-gnu/bin/../lib/gcc/powerpc-linux-gnu/4.3.2/include
-pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_MPC5xxx -ffixed-r2 -mstring
-mcpu=603e -mmultiple -DTEXT_BASE=0xFF800000
-I/home/b04825/git/u-boot.e1000/board -Wall -Wstrict-prototypes
-fno-stack-protector -o e1000.o e1000.c -c
powerpc-linux-gnu-ar crv libnet.a e1000.o
$ ${CROSS_COMPILE}gcc --version
powerpc-linux-gnu-gcc (Sourcery G++ Lite 4.3-74) 4.3.2
If you look at the definition of virt_to_bus, you'll see that I added a
pointer cast specifically to address this warning:
#define virt_to_bus(devno, v) pci_virt_to_mem(devno, (void *) (v))
If I remove the (void *) cast, I get this:
e1000.c: In function 'e1000_transmit':
e1000.c:5019: warning: passing argument 1 of 'virt_to_phys' discards
qualifiers from pointer target type
So somehow, you're compiler is ignoring the "(void *)".
More information about the U-Boot
mailing list