mbox

[GIT,PULL] cs89x0 platform support

Message ID 20120201134415.GU1990@pengutronix.de
State New
Headers show

Pull-request

git://git.pengutronix.de/git/imx/linux-2.6.git features/cs89x0

Message

Sascha Hauer Feb. 1, 2012, 1:44 p.m. UTC
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 +
 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

Comments

Arnd Bergmann Feb. 1, 2012, 3:07 p.m. UTC | #1
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
Shawn Guo Feb. 1, 2012, 3:09 p.m. UTC | #2
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