Message ID | 1347658492-11608-25-git-send-email-arnd@arndb.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Sep 14, 2012 at 11:34:52PM +0200, Arnd Bergmann wrote: > ARM is moving to stricter checks on readl/write functions, > so we need to use the correct types everywhere. Same comment as for eesox. const void __iomem * is not a problem on x86, so it should not be a problem on ARM.
From: Russell King - ARM Linux <linux@arm.linux.org.uk> Date: Sat, 15 Sep 2012 00:56:07 +0100 > On Fri, Sep 14, 2012 at 11:34:52PM +0200, Arnd Bergmann wrote: >> ARM is moving to stricter checks on readl/write functions, >> so we need to use the correct types everywhere. > > Same comment as for eesox. const void __iomem * is not a problem on > x86, so it should not be a problem on ARM. Agreed.
On Saturday 15 September 2012, David Miller wrote: > From: Russell King - ARM Linux <linux@arm.linux.org.uk> > Date: Sat, 15 Sep 2012 00:56:07 +0100 > > > On Fri, Sep 14, 2012 at 11:34:52PM +0200, Arnd Bergmann wrote: > >> ARM is moving to stricter checks on readl/write functions, > >> so we need to use the correct types everywhere. > > > > Same comment as for eesox. const void __iomem * is not a problem on > > x86, so it should not be a problem on ARM. > > Agreed. As discussed in the thread for the same patch on the scsi eesox driver, x86 allows reads on const __iomem pointers, but not writes, and the patch to asm/io.h that Russell has queued up changes ARM to do the same. My patch on seeq/ether3.c is still needed to avoid this warning in linux-next: drivers/net/ethernet/seeq/ether3.c: In function 'ether3_outb': drivers/net/ethernet/seeq/ether3.c:104:2: error: passing argument 2 of '__raw_writeb' discards 'const' qualifier from pointer target type arch/arm/include/asm/io.h:81:91: note: expected 'volatile void *' but argument is of type 'const void *' Arnd
diff --git a/drivers/net/ethernet/seeq/ether3.c b/drivers/net/ethernet/seeq/ether3.c index df808ac..6a40dd0 100644 --- a/drivers/net/ethernet/seeq/ether3.c +++ b/drivers/net/ethernet/seeq/ether3.c @@ -99,13 +99,13 @@ typedef enum { * The SEEQ8005 doesn't like us writing to its registers * too quickly. */ -static inline void ether3_outb(int v, const void __iomem *r) +static inline void ether3_outb(int v, void __iomem *r) { writeb(v, r); udelay(1); } -static inline void ether3_outw(int v, const void __iomem *r) +static inline void ether3_outw(int v, void __iomem *r) { writew(v, r); udelay(1);
ARM is moving to stricter checks on readl/write functions, so we need to use the correct types everywhere. Cc: netdev@vger.kernel.org Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/net/ethernet/seeq/ether3.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)