diff options
Diffstat (limited to 'arch/arm/mach-orion5x/mpp.c')
-rw-r--r-- | arch/arm/mach-orion5x/mpp.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-orion5x/mpp.c b/arch/arm/mach-orion5x/mpp.c index 640ea2a3fc6c..e23a3f91d6c6 100644 --- a/arch/arm/mach-orion5x/mpp.c +++ b/arch/arm/mach-orion5x/mpp.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | #include <linux/mbus.h> | 13 | #include <linux/mbus.h> |
14 | #include <linux/io.h> | 14 | #include <linux/io.h> |
15 | #include <asm/gpio.h> | ||
15 | #include <mach/hardware.h> | 16 | #include <mach/hardware.h> |
16 | #include "common.h" | 17 | #include "common.h" |
17 | #include "mpp.h" | 18 | #include "mpp.h" |
@@ -152,7 +153,10 @@ void __init orion5x_mpp_conf(struct orion5x_mpp_mode *mode) | |||
152 | *reg &= ~(0xf << shift); | 153 | *reg &= ~(0xf << shift); |
153 | *reg |= (num_type & 0xf) << shift; | 154 | *reg |= (num_type & 0xf) << shift; |
154 | 155 | ||
155 | orion5x_gpio_set_valid(mode->mpp, !!(mode->type == MPP_GPIO)); | 156 | if (mode->type == MPP_UNUSED && (mode->mpp < 16 || is_5182())) |
157 | orion_gpio_set_unused(mode->mpp); | ||
158 | |||
159 | orion_gpio_set_valid(mode->mpp, !!(mode->type == MPP_GPIO)); | ||
156 | 160 | ||
157 | mode++; | 161 | mode++; |
158 | } | 162 | } |