aboutsummaryrefslogtreecommitdiff
path: root/arch/xtensa/variants
diff options
context:
space:
mode:
authorJohannes Weiner <jw@emlix.com>2009-05-11 15:43:34 +0200
committerChris Zankel <chris@zankel.net>2009-05-11 22:00:07 -0700
commit1fb137c1e33cd188b40b3c0d7283412efeeb783f (patch)
tree3cb2744c809158f9db7c8abae397c0069c8cf359 /arch/xtensa/variants
parent586411dcd1935f91796d5e8a29aa3cfdf01a01f4 (diff)
downloadlinux-1fb137c1e33cd188b40b3c0d7283412efeeb783f.tar.gz
xtensa: register gpio chip before use
Platform initialization sets up the LED heartbeat that is controlled via GPIO. Requesting the GPIO pins fails, however, as the chip is only initialized later by a device_initcall(). Fix this up by exporting the initialization function. Let the platform set up the chip before it starts using it. Signed-off-by: Johannes Weiner <jw@emlix.com> Signed-off-by: Chris Zankel <chris@zankel.net>
Diffstat (limited to 'arch/xtensa/variants')
-rw-r--r--arch/xtensa/variants/s6000/gpio.c3
-rw-r--r--arch/xtensa/variants/s6000/include/variant/gpio.h6
2 files changed, 7 insertions, 2 deletions
diff --git a/arch/xtensa/variants/s6000/gpio.c b/arch/xtensa/variants/s6000/gpio.c
index 33a8d952934..79317fdcf14 100644
--- a/arch/xtensa/variants/s6000/gpio.c
+++ b/arch/xtensa/variants/s6000/gpio.c
@@ -64,8 +64,7 @@ static struct gpio_chip gpiochip = {
.exported = 0, /* no exporting to userspace */
};
-static int gpio_init(void)
+int s6_gpio_init(void)
{
return gpiochip_add(&gpiochip);
}
-device_initcall(gpio_init);
diff --git a/arch/xtensa/variants/s6000/include/variant/gpio.h b/arch/xtensa/variants/s6000/include/variant/gpio.h
new file mode 100644
index 00000000000..8327f62167e
--- /dev/null
+++ b/arch/xtensa/variants/s6000/include/variant/gpio.h
@@ -0,0 +1,6 @@
+#ifndef _XTENSA_VARIANT_S6000_GPIO_H
+#define _XTENSA_VARIANT_S6000_GPIO_H
+
+extern int s6_gpio_init(void);
+
+#endif /* _XTENSA_VARIANT_S6000_GPIO_H */