30 lines
1.1 KiB
Diff
30 lines
1.1 KiB
Diff
commit 92a486eabefadca1169fbf15d737feeaf2bda844
|
|
Author: Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org>
|
|
Date: Wed Apr 18 23:16:39 2012 +0200
|
|
|
|
kirkwood/orion: fix orion_gpio_set_blink
|
|
|
|
gpio registers are for 32 gpios. Given that orion_gpio_set_blink is called
|
|
directly and not through gpiolib, it needs to make sure that the pin value
|
|
given to the internal functions are between 0 and 31.
|
|
|
|
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
|
|
Tested-By: Adam Baker <linux@baker-net.org.uk>
|
|
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
|
|
|
|
diff --git a/arch/arm/plat-orion/gpio.c b/arch/arm/plat-orion/gpio.c
|
|
index 10d1608..d3401e7 100644
|
|
--- a/arch/arm/plat-orion/gpio.c
|
|
+++ b/arch/arm/plat-orion/gpio.c
|
|
@@ -289,8 +289,8 @@ void orion_gpio_set_blink(unsigned pin, int blink)
|
|
return;
|
|
|
|
spin_lock_irqsave(&ochip->lock, flags);
|
|
- __set_level(ochip, pin, 0);
|
|
- __set_blinking(ochip, pin, blink);
|
|
+ __set_level(ochip, pin & 31, 0);
|
|
+ __set_blinking(ochip, pin & 31, blink);
|
|
spin_unlock_irqrestore(&ochip->lock, flags);
|
|
}
|
|
EXPORT_SYMBOL(orion_gpio_set_blink);
|