summaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-orion/mpp.c
diff options
context:
space:
mode:
authorAndrew Lunn <andrew@lunn.ch>2012-02-08 15:52:07 +0100
committerOlof Johansson <olof@lixom.net>2012-02-10 01:16:31 +0100
commitb06540371063f0f07aafc1d1ac5e974da85c973c (patch)
tree85de3bb66899780d7bbe1a2b298e95eefa5d45a9 /arch/arm/plat-orion/mpp.c
parentMerge branch 'v3.3-samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/ker... (diff)
downloadlinux-b06540371063f0f07aafc1d1ac5e974da85c973c.tar.xz
linux-b06540371063f0f07aafc1d1ac5e974da85c973c.zip
ARM: orion: Fix Orion5x GPIO regression from MPP cleanup
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>
Diffstat (limited to 'arch/arm/plat-orion/mpp.c')
-rw-r--r--arch/arm/plat-orion/mpp.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/plat-orion/mpp.c b/arch/arm/plat-orion/mpp.c
index 91553432711d..3b1e17bd3d17 100644
--- a/arch/arm/plat-orion/mpp.c
+++ b/arch/arm/plat-orion/mpp.c
@@ -64,8 +64,7 @@ void __init orion_mpp_conf(unsigned int *mpp_list, unsigned int variant_mask,
gpio_mode |= GPIO_INPUT_OK;
if (*mpp_list & MPP_OUTPUT_MASK)
gpio_mode |= GPIO_OUTPUT_OK;
- if (sel != 0)
- gpio_mode = 0;
+
orion_gpio_set_valid(num, gpio_mode);
}