sunxi: driver refresh for 3.13
[openwrt/svn-archive/archive.git] / target / linux / sunxi / patches-3.13 / 171-3-pinctrl-sunxi-fix-masking-with-irqtype.patch
diff --git a/target/linux/sunxi/patches-3.13/171-3-pinctrl-sunxi-fix-masking-with-irqtype.patch b/target/linux/sunxi/patches-3.13/171-3-pinctrl-sunxi-fix-masking-with-irqtype.patch
new file mode 100644 (file)
index 0000000..f600a82
--- /dev/null
@@ -0,0 +1,26 @@
+From 9d506cbf0e7b0e017d78f244e2b4c0fc71206c6c Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Sat, 15 Feb 2014 12:56:42 +0100
+Subject: [PATCH] pinctrl-sunxi: Fix masking when setting irq type
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ drivers/pinctrl/pinctrl-sunxi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/pinctrl/pinctrl-sunxi.c b/drivers/pinctrl/pinctrl-sunxi.c
+index cc9bd1b..917af0a 100644
+--- a/drivers/pinctrl/pinctrl-sunxi.c
++++ b/drivers/pinctrl/pinctrl-sunxi.c
+@@ -583,7 +583,7 @@ static int sunxi_pinctrl_irq_set_type(struct irq_data *d,
+       spin_lock_irqsave(&pctl->lock, flags);
+       regval = readl(pctl->membase + reg);
+-      regval &= ~IRQ_CFG_IRQ_MASK;
++      regval &= ~(IRQ_CFG_IRQ_MASK << index);
+       writel(regval | (mode << index), pctl->membase + reg);
+       spin_unlock_irqrestore(&pctl->lock, flags);
+-- 
+1.8.5.5
+