netdev
[Top] [All Lists]

Re: [PATCH] Fix readw/writew warnings in drivers/net/wireless/hermes.h

To: Cal Peake <cp@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [PATCH] Fix readw/writew warnings in drivers/net/wireless/hermes.h
From: Jan Dittmer <j.dittmer@xxxxxxxxxxx>
Date: Mon, 11 Oct 2004 14:29:39 +0200
Cc: Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, NetDev Mailing List <netdev@xxxxxxxxxxx>, proski@xxxxxxx, hermes@xxxxxxxxxxxxxxxxxxxxx
In-reply-to: <Pine.LNX.4.61.0410110819370.8480@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <Pine.LNX.4.61.0410110702590.7899@xxxxxxxxxxxxxxxxxxxxxxxxxxx> <416A7484.1030703@xxxxxxxxxxx> <Pine.LNX.4.61.0410110819370.8480@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 0.8 (X11/20040918)
Cal Peake wrote:
On Mon, 11 Oct 2004, Jan Dittmer wrote:


Cal Peake wrote:


        inw((hw)->iobase + ( (off) << (hw)->reg_spacing )) : \
-       readw((hw)->iobase + ( (off) << (hw)->reg_spacing )))
+       readw((void __iomem *)(hw)->iobase + ( (off) << (hw)->reg_spacing )))
#define hermes_write_reg(hw, off, val) do { \

Isn't the correct fix to declare iobase as (void __iomem *) ?


iobase is an unsigned long, declaring it as a void pointer is prolly not what we want to do here. The typecast seems proper. A lot of other drivers do this as well thus it must be proper ;-)

Why is iobase a unsigned long in the first place? Isn't this broken for 64bit archs?

Thanks,

Jan

<Prev in Thread] Current Thread [Next in Thread>