sunxi: driver refresh for 3.13
[openwrt.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