ARM: orion: Fix Orion5x GPIO regression from MPP cleanup
authorAndrew Lunn <andrew@lunn.ch>
Wed, 8 Feb 2012 14:52:07 +0000 (15:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 Mar 2012 17:32:58 +0000 (10:32 -0700)
commit2d339926c077870a29181d37839920ce3ecd7409
tree187e0a19e7e76f9bd64a6931b0d6fa16e94f4424
parent90bb7234900ec12f36028c96fdb320a36f08d383
ARM: orion: Fix Orion5x GPIO regression from MPP cleanup

commit b06540371063f0f07aafc1d1ac5e974da85c973c upstream.

Patchset "ARM: orion: Refactor the MPP code common in the orion
platform" broke at least Orion5x based platforms. These platforms have
pins configured as GPIO when the selector is not 0x0. However the
common code assumes the selector is always 0x0 for a GPIO lines. It
then ignores the GPIO bits in the MPP definitions, resulting in that
Orion5x machines cannot correctly configure there GPIO lines.

The Fix removes the assumption that the selector is always 0x0.
In order that none GPIO configurations are correctly blocked,
Kirkwood and mv78xx0 MPP definitions are corrected to only set the
GPIO bits for GPIO configurations.

This third version, which does not contain any whitespace changes,
and is rebased on v3.3-rc2.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/mach-kirkwood/mpp.h
arch/arm/mach-mv78xx0/mpp.h
arch/arm/plat-orion/mpp.c