aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorviresh kumar <viresh.kumar@st.com>2010-04-21 04:41:54 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-04-22 07:30:13 -0400
commit9a99d55514d3c6bfc03e41536659d781af6998f5 (patch)
tree9e6201fe572cc232da5955ea9f517ff0b9d90da7
parent313af42b5b3ea105567e8a62b01f35a9245c3fb3 (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>
-rw-r--r--drivers/gpio/pl061.c6
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
205static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) 205static 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++) {