diff options
author | Andrew Lunn <andrew@lunn.ch> | 2012-06-27 07:40:04 -0400 |
---|---|---|
committer | Andrew Lunn <andrew@lunn.ch> | 2012-07-27 10:48:14 -0400 |
commit | 278b45b06bf721b7cf5de67a0126786c60c720e6 (patch) | |
tree | 4e2a3af2527110f9328aebca560cf6c1cef32c1c /arch/arm/plat-orion/include/plat | |
parent | 89fb2d77d5daa821e3868ea59963f28249974840 (diff) |
ARM: Orion: DT support for IRQ and GPIO Controllers
Both IRQ and GPIO controllers can now be represented in DT. The IRQ
controllers are setup first, and then the GPIO controllers. Interrupts
for GPIO lines are placed directly after the main interrupts in the
interrupt space.
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@googlemail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Josh Coombs <josh.coombs@gmail.com>
Tested-by: Simon Baatz <gmbnomis@gmail.com>
Diffstat (limited to 'arch/arm/plat-orion/include/plat')
-rw-r--r-- | arch/arm/plat-orion/include/plat/gpio.h | 16 | ||||
-rw-r--r-- | arch/arm/plat-orion/include/plat/irq.h | 3 |
2 files changed, 8 insertions, 11 deletions
diff --git a/arch/arm/plat-orion/include/plat/gpio.h b/arch/arm/plat-orion/include/plat/gpio.h index bec0c98ce41f..81c6fc8a7b28 100644 --- a/arch/arm/plat-orion/include/plat/gpio.h +++ b/arch/arm/plat-orion/include/plat/gpio.h | |||
@@ -13,7 +13,7 @@ | |||
13 | 13 | ||
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/types.h> | 15 | #include <linux/types.h> |
16 | 16 | #include <linux/irqdomain.h> | |
17 | /* | 17 | /* |
18 | * Orion-specific GPIO API extensions. | 18 | * Orion-specific GPIO API extensions. |
19 | */ | 19 | */ |
@@ -27,13 +27,11 @@ int orion_gpio_led_blink_set(unsigned gpio, int state, | |||
27 | void orion_gpio_set_valid(unsigned pin, int mode); | 27 | void orion_gpio_set_valid(unsigned pin, int mode); |
28 | 28 | ||
29 | /* Initialize gpiolib. */ | 29 | /* Initialize gpiolib. */ |
30 | void __init orion_gpio_init(int gpio_base, int ngpio, | 30 | void __init orion_gpio_init(struct device_node *np, |
31 | u32 base, int mask_offset, int secondary_irq_base); | 31 | int gpio_base, int ngpio, |
32 | 32 | void __iomem *base, int mask_offset, | |
33 | /* | 33 | int secondary_irq_base, |
34 | * GPIO interrupt handling. | 34 | int irq[4]); |
35 | */ | ||
36 | void orion_gpio_irq_handler(int irqoff); | ||
37 | |||
38 | 35 | ||
36 | void __init orion_gpio_of_init(int irq_gpio_base); | ||
39 | #endif | 37 | #endif |
diff --git a/arch/arm/plat-orion/include/plat/irq.h b/arch/arm/plat-orion/include/plat/irq.h index f05eeab94968..50547e417936 100644 --- a/arch/arm/plat-orion/include/plat/irq.h +++ b/arch/arm/plat-orion/include/plat/irq.h | |||
@@ -12,6 +12,5 @@ | |||
12 | #define __PLAT_IRQ_H | 12 | #define __PLAT_IRQ_H |
13 | 13 | ||
14 | void orion_irq_init(unsigned int irq_start, void __iomem *maskaddr); | 14 | void orion_irq_init(unsigned int irq_start, void __iomem *maskaddr); |
15 | 15 | void __init orion_dt_init_irq(void); | |
16 | |||
17 | #endif | 16 | #endif |