David Miller wrote: > From: Arnd Bergmann <a...@arndb.de> > Date: Tue, 26 May 2009 10:10:30 +0100 > >> On Monday 25 May 2009, Wolfgang Grandegger wrote: >>>> Right, that makes sense. However, most drivers use the field to store the >>>> physical address, not the iomap token. Maybe there should be a new field >>>> in struct sja1000_priv for the virtual address, but that would be a change >>>> to the base driver, not just to the OF portion. >>> Is that common practice? If yes, I will add a member to store the >>> virtual address to struct sja1000_priv. >> I grepped through the network driver for usage of ->base_addr, and >> it's somewhat inconsistent. The majority of the users use it for >> a physical address, but there are also a few that use it for the >> __iomem token. >> >> Casts between unsigned long and qualified (__iomem, __user, const, ...) >> pointers do not cause a warning, but can easily lead to bugs when >> another user casts to an unqualified pointer. > > It's such a baroque thing, there is no reason to set it at all if you > ask me. It's only use is to allow ISA and similar primitive bus > devices to have their I/O ports changed via ifconfig.
OK, I see, there are good reasons not to (mis-)use dev->base_addr. I will prepare a patch for the SJA1000 CAN drivers. Wolfgang. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev