Message ID | 20120201134415.GU1990@pengutronix.de |
---|---|
State | New |
Headers | show |
On Wednesday 01 February 2012, Sascha Hauer wrote: > Please pull the following for next. It contains cs89x0 platform > support. David has acked the base patch and is fine with this > patch going via the Arm tree. > > Sascha > > The following changes since commit dcd6c92267155e70a94b3927bce681ce74b80d1f: > > Linux 3.3-rc1 (2012-01-19 15:04:48 -0800) > > are available in the git repository at: > git://git.pengutronix.de/git/imx/linux-2.6.git features/cs89x0 > > Jaccon Bastiaansen (4): > CS89x0 : add platform driver support > CS89x0 : add CS89x0 platform device to the iMX21ADS board > CS89x0 : remove QQ2440 board support from the CS89x0 driver > CS89x0 : add CS89x0 platform device to the iMX31ADS board > This is a very nice series, but since you are already working on that driver, could you also fix it so it does not use inw/outw on __iomem pointers? This happens to work on ARM right now, but I'd like to change that in the future and cs89x0 is one out of very few drivers that get it wrong. My hope is to get to the point where a non-ISA non-PCI platform would just never provide inb/outb functions, especially not those that are as broken as the ones that many ARM platforms provide. I think the best way would be to use ioport_map in case of ISA and use ioread16/iowrite16 in the default readword/writeword functions, which should work fine for all little-endian versions of cs89x0. You can also make it an runtime choice, with readw/writew being the default for platform, inw/outw for ISA and IXP providing their own. I think it would also be nice to move out the ugly non-CS89x0_PLATFORM code into a cs89x0-legacy.c file. Ideally, that would also just contain statically defined platform devices for ISA and IXP2000, but that is probably not worth the effort. Arnd
On Wed, Feb 01, 2012 at 02:44:15PM +0100, Sascha Hauer wrote: > Hi Olof, > > Please pull the following for next. It contains cs89x0 platform > support. David has acked the base patch and is fine with this > patch going via the Arm tree. > > Sascha > > The following changes since commit dcd6c92267155e70a94b3927bce681ce74b80d1f: > > Linux 3.3-rc1 (2012-01-19 15:04:48 -0800) > > are available in the git repository at: > git://git.pengutronix.de/git/imx/linux-2.6.git features/cs89x0 > > Jaccon Bastiaansen (4): > CS89x0 : add platform driver support > CS89x0 : add CS89x0 platform device to the iMX21ADS board > CS89x0 : remove QQ2440 board support from the CS89x0 driver > CS89x0 : add CS89x0 platform device to the iMX31ADS board > > arch/arm/configs/imx_v4_v5_defconfig | 2 + > arch/arm/configs/mx3_defconfig | 2 + The mx3_defconfig has been deleted from mainline. We may need to rebase the series to 3.3-rc2. Otherwise, we will eventually have conflict? Regards, Shawn > arch/arm/mach-imx/mach-mx21ads.c | 16 +++- > arch/arm/mach-imx/mach-mx31ads.c | 35 +++++- > arch/arm/plat-mxc/include/mach/board-mx31ads.h | 33 ------ > drivers/net/Space.c | 2 + > drivers/net/ethernet/cirrus/Kconfig | 19 ++-- > drivers/net/ethernet/cirrus/cs89x0.c | 148 +++++++++++++++++++---- > 8 files changed, 186 insertions(+), 71 deletions(-) > delete mode 100644 arch/arm/plat-mxc/include/mach/board-mx31ads.h