sunxi: driver refresh for 3.13
[openwrt/svn-archive/archive.git] / target / linux / sunxi / patches-3.13 / 171-4-pinctrl-sunxi-fix-irqregister-offset-calcs.patch
1 From a5f3d2672d5b9efe93be0bf66d69156bf806220b Mon Sep 17 00:00:00 2001
2 From: Hans de Goede <hdegoede@redhat.com>
3 Date: Mon, 17 Feb 2014 22:04:20 +0100
4 Subject: [PATCH] pinctrl-sunxi: Fix interrupt register offset calculation
5
6 This fixing setting the interrupt type for eints >= 8.
7
8 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9 ---
10 drivers/pinctrl/pinctrl-sunxi.h | 6 +++---
11 1 file changed, 3 insertions(+), 3 deletions(-)
12
13 diff --git a/drivers/pinctrl/pinctrl-sunxi.h b/drivers/pinctrl/pinctrl-sunxi.h
14 index 01c494f..552b0e9 100644
15 --- a/drivers/pinctrl/pinctrl-sunxi.h
16 +++ b/drivers/pinctrl/pinctrl-sunxi.h
17 @@ -511,7 +511,7 @@ static inline u32 sunxi_pull_offset(u16 pin)
18
19 static inline u32 sunxi_irq_cfg_reg(u16 irq)
20 {
21 - u8 reg = irq / IRQ_CFG_IRQ_PER_REG;
22 + u8 reg = irq / IRQ_CFG_IRQ_PER_REG * 0x04;
23 return reg + IRQ_CFG_REG;
24 }
25
26 @@ -523,7 +523,7 @@ static inline u32 sunxi_irq_cfg_offset(u16 irq)
27
28 static inline u32 sunxi_irq_ctrl_reg(u16 irq)
29 {
30 - u8 reg = irq / IRQ_CTRL_IRQ_PER_REG;
31 + u8 reg = irq / IRQ_CTRL_IRQ_PER_REG * 0x04;
32 return reg + IRQ_CTRL_REG;
33 }
34
35 @@ -535,7 +535,7 @@ static inline u32 sunxi_irq_ctrl_offset(u16 irq)
36
37 static inline u32 sunxi_irq_status_reg(u16 irq)
38 {
39 - u8 reg = irq / IRQ_STATUS_IRQ_PER_REG;
40 + u8 reg = irq / IRQ_STATUS_IRQ_PER_REG * 0x04;
41 return reg + IRQ_STATUS_REG;
42 }
43
44 --
45 1.8.5.5
46