sh: improve pinmux support for single direction pins
This patch improves the support for gpio pins that are hard wired
to either input or output and lack control register association.
A special force enum id is used to allow use without control
register but still mark the gpio pin as input or output.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
diff --git a/arch/sh/kernel/gpio.c b/arch/sh/kernel/gpio.c
index 9ac0b8e..d371653 100644
--- a/arch/sh/kernel/gpio.c
+++ b/arch/sh/kernel/gpio.c
@@ -267,9 +267,13 @@
break;
in_range = enum_in_range(enum_id, &gpioc->function);
- if (!in_range && range)
+ if (!in_range && range) {
in_range = enum_in_range(enum_id, range);
+ if (in_range && enum_id == range->force)
+ continue;
+ }
+
if (!in_range)
continue;