diff options
author | viresh kumar <viresh.kumar@st.com> | 2010-04-21 04:41:54 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-04-22 07:30:13 -0400 |
commit | 9a99d55514d3c6bfc03e41536659d781af6998f5 (patch) | |
tree | 9e6201fe572cc232da5955ea9f517ff0b9d90da7 /drivers/gpio/pl061.c | |
parent | 313af42b5b3ea105567e8a62b01f35a9245c3fb3 (diff) |
ARM: 6059/1: PL061 GPIO: Changing *_irq_chip_data with *_irq_data for real irqs.
PL061 driver is using set_irq_chip_data and get_irq_chip_data for real
irq lines. It must be using *_irq_data functions instead. As chip_data
is used by interrupt controllers also, which makes vic write at incorrect
addresses.
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Acked-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/gpio/pl061.c')
-rw-r--r-- | drivers/gpio/pl061.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpio/pl061.c b/drivers/gpio/pl061.c index 5ad8f778ced4..cc3b5e0b595a 100644 --- a/drivers/gpio/pl061.c +++ b/drivers/gpio/pl061.c | |||
@@ -204,7 +204,7 @@ static struct irq_chip pl061_irqchip = { | |||
204 | 204 | ||
205 | static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) | 205 | static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) |
206 | { | 206 | { |
207 | struct list_head *chip_list = get_irq_chip_data(irq); | 207 | struct list_head *chip_list = get_irq_data(irq); |
208 | struct list_head *ptr; | 208 | struct list_head *ptr; |
209 | struct pl061_gpio *chip; | 209 | struct pl061_gpio *chip; |
210 | 210 | ||
@@ -297,9 +297,9 @@ static int __init pl061_probe(struct amba_device *dev, struct amba_id *id) | |||
297 | goto iounmap; | 297 | goto iounmap; |
298 | } | 298 | } |
299 | INIT_LIST_HEAD(chip_list); | 299 | INIT_LIST_HEAD(chip_list); |
300 | set_irq_chip_data(irq, chip_list); | 300 | set_irq_data(irq, chip_list); |
301 | } else | 301 | } else |
302 | chip_list = get_irq_chip_data(irq); | 302 | chip_list = get_irq_data(irq); |
303 | list_add(&chip->list, chip_list); | 303 | list_add(&chip->list, chip_list); |
304 | 304 | ||
305 | for (i = 0; i < PL061_GPIO_NR; i++) { | 305 | for (i = 0; i < PL061_GPIO_NR; i++) { |